1 #pragma once 2 3 #include <systemd/sd-event.h> 4 5 #include <sdeventplus/internal/sdevent.hpp> 6 7 #include <gmock/gmock.h> 8 9 namespace sdeventplus 10 { 11 namespace test 12 { 13 14 /** @class SdEventMock 15 * @brief sd_event mocked implementation 16 * @details Uses googlemock to handle all sd_event calls 17 */ 18 class SdEventMock : public internal::SdEvent 19 { 20 public: 21 MOCK_CONST_METHOD1(sd_event_default, int(sd_event**)); 22 MOCK_CONST_METHOD1(sd_event_new, int(sd_event**)); 23 MOCK_CONST_METHOD1(sd_event_ref, sd_event*(sd_event*)); 24 MOCK_CONST_METHOD1(sd_event_unref, sd_event*(sd_event*)); 25 26 MOCK_CONST_METHOD6(sd_event_add_io, 27 int(sd_event*, sd_event_source**, int, uint32_t, 28 sd_event_io_handler_t, void*)); 29 MOCK_CONST_METHOD7(sd_event_add_time, 30 int(sd_event*, sd_event_source**, clockid_t, uint64_t, 31 uint64_t, sd_event_time_handler_t, void*)); 32 MOCK_CONST_METHOD5(sd_event_add_signal, 33 int(sd_event*, sd_event_source**, int, 34 sd_event_signal_handler_t, void*)); 35 MOCK_CONST_METHOD6(sd_event_add_child, 36 int(sd_event*, sd_event_source**, pid_t, int, 37 sd_event_child_handler_t, void*)); 38 MOCK_CONST_METHOD4(sd_event_add_defer, int(sd_event*, sd_event_source**, 39 sd_event_handler_t, void*)); 40 MOCK_CONST_METHOD4(sd_event_add_post, int(sd_event*, sd_event_source**, 41 sd_event_handler_t, void*)); 42 MOCK_CONST_METHOD4(sd_event_add_exit, int(sd_event*, sd_event_source**, 43 sd_event_handler_t, void*)); 44 45 MOCK_CONST_METHOD1(sd_event_prepare, int(sd_event*)); 46 MOCK_CONST_METHOD2(sd_event_wait, int(sd_event*, uint64_t)); 47 MOCK_CONST_METHOD1(sd_event_dispatch, int(sd_event*)); 48 MOCK_CONST_METHOD2(sd_event_run, int(sd_event*, uint64_t)); 49 MOCK_CONST_METHOD1(sd_event_loop, int(sd_event*)); 50 MOCK_CONST_METHOD2(sd_event_exit, int(sd_event*, int)); 51 52 MOCK_CONST_METHOD3(sd_event_now, int(sd_event*, clockid_t, uint64_t*)); 53 54 MOCK_CONST_METHOD2(sd_event_get_exit_code, int(sd_event*, int*)); 55 MOCK_CONST_METHOD1(sd_event_get_watchdog, int(sd_event*)); 56 MOCK_CONST_METHOD2(sd_event_set_watchdog, int(sd_event*, int b)); 57 58 MOCK_CONST_METHOD1(sd_event_source_ref, sd_event_source*(sd_event_source*)); 59 MOCK_CONST_METHOD1(sd_event_source_unref, 60 sd_event_source*(sd_event_source*)); 61 62 MOCK_CONST_METHOD1(sd_event_source_get_userdata, void*(sd_event_source*)); 63 MOCK_CONST_METHOD2(sd_event_source_set_userdata, 64 void*(sd_event_source*, void*)); 65 66 MOCK_CONST_METHOD2(sd_event_source_get_description, 67 int(sd_event_source*, const char**)); 68 MOCK_CONST_METHOD2(sd_event_source_set_description, 69 int(sd_event_source*, const char*)); 70 MOCK_CONST_METHOD2(sd_event_source_set_prepare, 71 int(sd_event_source*, sd_event_handler_t)); 72 MOCK_CONST_METHOD1(sd_event_source_get_pending, int(sd_event_source*)); 73 MOCK_CONST_METHOD2(sd_event_source_get_priority, 74 int(sd_event_source*, int64_t*)); 75 MOCK_CONST_METHOD2(sd_event_source_set_priority, 76 int(sd_event_source*, int64_t)); 77 MOCK_CONST_METHOD2(sd_event_source_get_enabled, 78 int(sd_event_source*, int*)); 79 MOCK_CONST_METHOD2(sd_event_source_set_enabled, int(sd_event_source*, int)); 80 MOCK_CONST_METHOD1(sd_event_source_get_io_fd, int(sd_event_source*)); 81 MOCK_CONST_METHOD2(sd_event_source_set_io_fd, int(sd_event_source*, int)); 82 MOCK_CONST_METHOD2(sd_event_source_get_io_events, 83 int(sd_event_source*, uint32_t*)); 84 MOCK_CONST_METHOD2(sd_event_source_set_io_events, 85 int(sd_event_source*, uint32_t)); 86 MOCK_CONST_METHOD2(sd_event_source_get_io_revents, 87 int(sd_event_source*, uint32_t*)); 88 MOCK_CONST_METHOD2(sd_event_source_get_time, 89 int(sd_event_source*, uint64_t*)); 90 MOCK_CONST_METHOD2(sd_event_source_set_time, 91 int(sd_event_source*, uint64_t)); 92 MOCK_CONST_METHOD2(sd_event_source_get_time_accuracy, 93 int(sd_event_source*, uint64_t*)); 94 MOCK_CONST_METHOD2(sd_event_source_set_time_accuracy, 95 int(sd_event_source*, uint64_t)); 96 MOCK_CONST_METHOD1(sd_event_source_get_signal, int(sd_event_source*)); 97 MOCK_CONST_METHOD2(sd_event_source_get_child_pid, 98 int(sd_event_source*, pid_t*)); 99 MOCK_CONST_METHOD2(sd_event_source_set_destroy_callback, 100 int(sd_event_source*, sd_event_destroy_t)); 101 MOCK_CONST_METHOD2(sd_event_source_get_destroy_callback, 102 int(sd_event_source*, sd_event_destroy_t*)); 103 MOCK_CONST_METHOD2(sd_event_source_set_floating, 104 int(sd_event_source*, int)); 105 MOCK_CONST_METHOD1(sd_event_source_get_floating, int(sd_event_source*)); 106 }; 107 108 } // namespace test 109 } // namespace sdeventplus 110