diff options
| author | William A. Kennington III <wak@google.com> | 2018-07-17 14:40:14 -0700 |
|---|---|---|
| committer | William A. Kennington III <wak@google.com> | 2018-07-17 14:40:14 -0700 |
| commit | bdc59018d3d85af8c300bf62aecbac9610fd4f66 (patch) | |
| tree | d6735e3f5151efe32cb6471e70ba5123240c445d | |
| parent | f9f288150823b7a55bd70cebb6dee25517080a8e (diff) | |
| download | sdeventplus-bdc59018d3d85af8c300bf62aecbac9610fd4f66.tar.gz sdeventplus-bdc59018d3d85af8c300bf62aecbac9610fd4f66.zip | |
event: Allow extracting the event and sdevent impl
| -rw-r--r-- | src/sdeventplus/event.cpp | 10 | ||||
| -rw-r--r-- | src/sdeventplus/event.hpp | 3 | ||||
| -rw-r--r-- | test/event.cpp | 8 |
3 files changed, 21 insertions, 0 deletions
diff --git a/src/sdeventplus/event.cpp b/src/sdeventplus/event.cpp index 1d31f91..f65750e 100644 --- a/src/sdeventplus/event.cpp +++ b/src/sdeventplus/event.cpp @@ -44,6 +44,16 @@ Event Event::get_default(const internal::SdEvent* sdevent) return Event(event, std::false_type(), sdevent); } +sd_event* Event::get() const +{ + return event.get(); +} + +const internal::SdEvent* Event::getSdEvent() const +{ + return sdevent; +} + int Event::loop() const { int r = sdevent->sd_event_loop(event.get()); diff --git a/src/sdeventplus/event.hpp b/src/sdeventplus/event.hpp index a583dfb..b979cfc 100644 --- a/src/sdeventplus/event.hpp +++ b/src/sdeventplus/event.hpp @@ -20,6 +20,9 @@ class Event static Event get_default(const internal::SdEvent* sdevent = &internal::sdevent_impl); + sd_event* get() const; + const internal::SdEvent* getSdEvent() const; + int loop() const; int get_watchdog() const; int set_watchdog(int b) const; diff --git a/test/event.cpp b/test/event.cpp index ef762b8..7149ac4 100644 --- a/test/event.cpp +++ b/test/event.cpp @@ -27,6 +27,8 @@ TEST_F(EventTest, NewEventRef) EXPECT_CALL(mock, sd_event_ref(expected_event)) .WillOnce(Return(expected_event)); Event event(expected_event, &mock); + EXPECT_EQ(&mock, event.getSdEvent()); + EXPECT_EQ(expected_event, event.get()); EXPECT_CALL(mock, sd_event_unref(expected_event)).WillOnce(Return(nullptr)); } @@ -34,6 +36,8 @@ TEST_F(EventTest, NewEventRef) TEST_F(EventTest, NewEventNoRef) { Event event(expected_event, std::false_type(), &mock); + EXPECT_EQ(&mock, event.getSdEvent()); + EXPECT_EQ(expected_event, event.get()); EXPECT_CALL(mock, sd_event_unref(expected_event)).WillOnce(Return(nullptr)); } @@ -43,6 +47,8 @@ TEST_F(EventTest, GetNewEvent) EXPECT_CALL(mock, sd_event_new(testing::_)) .WillOnce(DoAll(SetArgPointee<0>(expected_event), Return(0))); Event event = Event::get_new(&mock); + EXPECT_EQ(&mock, event.getSdEvent()); + EXPECT_EQ(expected_event, event.get()); EXPECT_CALL(mock, sd_event_unref(expected_event)).WillOnce(Return(nullptr)); } @@ -58,6 +64,8 @@ TEST_F(EventTest, GetDefaultEvent) EXPECT_CALL(mock, sd_event_default(testing::_)) .WillOnce(DoAll(SetArgPointee<0>(expected_event), Return(0))); Event event = Event::get_default(&mock); + EXPECT_EQ(&mock, event.getSdEvent()); + EXPECT_EQ(expected_event, event.get()); EXPECT_CALL(mock, sd_event_unref(expected_event)).WillOnce(Return(nullptr)); } |

