summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/sdeventplus/utility/timer.cpp6
-rw-r--r--src/sdeventplus/utility/timer.hpp6
-rw-r--r--test/utility/timer.cpp1
3 files changed, 13 insertions, 0 deletions
diff --git a/src/sdeventplus/utility/timer.cpp b/src/sdeventplus/utility/timer.cpp
index dfe4ca7..979c0af 100644
--- a/src/sdeventplus/utility/timer.cpp
+++ b/src/sdeventplus/utility/timer.cpp
@@ -24,6 +24,12 @@ Timer<Id>::Timer(const Event& event, Callback&& callback,
}
template <ClockId Id>
+const Event& Timer<Id>::get_event() const
+{
+ return timeSource.get_event();
+}
+
+template <ClockId Id>
bool Timer<Id>::hasExpired() const
{
return expired;
diff --git a/src/sdeventplus/utility/timer.hpp b/src/sdeventplus/utility/timer.hpp
index 301842b..f5d4766 100644
--- a/src/sdeventplus/utility/timer.hpp
+++ b/src/sdeventplus/utility/timer.hpp
@@ -61,6 +61,12 @@ class Timer
typename source::Time<Id>::Accuracy accuracy =
std::chrono::milliseconds{1});
+ /** @brief Gets the associated Event object
+ *
+ * @return The Event
+ */
+ const Event& get_event() const;
+
/** @brief Has the timer expired since creation or reset of expiration
* state.
*
diff --git a/test/utility/timer.cpp b/test/utility/timer.cpp
index a329287..6d5dff0 100644
--- a/test/utility/timer.cpp
+++ b/test/utility/timer.cpp
@@ -136,6 +136,7 @@ class TimerTest : public testing::Test
SaveArg<5>(&handler), Return(0)));
expectSetEnabled(source::Enabled::On);
timer = std::make_unique<TestTimer>(*event, runCallback, interval);
+ EXPECT_EQ(expected_event, timer->get_event().get());
}
void TearDown()
OpenPOWER on IntegriCloud