1 #pragma once
2 
3 #include <gmock/gmock.h>
4 #include <sdeventplus/internal/sdevent.hpp>
5 #include <systemd/sd-event.h>
6 
7 namespace sdeventplus
8 {
9 namespace test
10 {
11 
12 class SdEventMock : public internal::SdEvent
13 {
14   public:
15     MOCK_CONST_METHOD1(sd_event_default, int(sd_event**));
16     MOCK_CONST_METHOD1(sd_event_new, int(sd_event**));
17     MOCK_CONST_METHOD1(sd_event_ref, sd_event*(sd_event*));
18     MOCK_CONST_METHOD1(sd_event_unref, sd_event*(sd_event*));
19 
20     MOCK_CONST_METHOD1(sd_event_prepare, int(sd_event*));
21     MOCK_CONST_METHOD2(sd_event_wait, int(sd_event*, uint64_t));
22     MOCK_CONST_METHOD1(sd_event_dispatch, int(sd_event*));
23     MOCK_CONST_METHOD2(sd_event_run, int(sd_event*, uint64_t));
24     MOCK_CONST_METHOD1(sd_event_loop, int(sd_event*));
25     MOCK_CONST_METHOD2(sd_event_exit, int(sd_event*, int));
26 
27     MOCK_CONST_METHOD3(sd_event_now, int(sd_event*, clockid_t, uint64_t*));
28 
29     MOCK_CONST_METHOD2(sd_event_get_exit_code, int(sd_event*, int*));
30     MOCK_CONST_METHOD1(sd_event_get_watchdog, int(sd_event*));
31     MOCK_CONST_METHOD2(sd_event_set_watchdog, int(sd_event*, int b));
32 
33     MOCK_CONST_METHOD1(sd_event_source_ref, sd_event_source*(sd_event_source*));
34     MOCK_CONST_METHOD1(sd_event_source_unref,
35                        sd_event_source*(sd_event_source*));
36 
37     MOCK_CONST_METHOD2(sd_event_source_set_userdata,
38                        void*(sd_event_source*, void*));
39 
40     MOCK_CONST_METHOD2(sd_event_source_get_description,
41                        int(sd_event_source*, const char**));
42     MOCK_CONST_METHOD2(sd_event_source_set_description,
43                        int(sd_event_source*, const char*));
44     MOCK_CONST_METHOD2(sd_event_source_set_prepare,
45                        int(sd_event_source*, sd_event_handler_t));
46     MOCK_CONST_METHOD1(sd_event_source_get_pending, int(sd_event_source*));
47     MOCK_CONST_METHOD2(sd_event_source_get_priority,
48                        int(sd_event_source*, int64_t*));
49     MOCK_CONST_METHOD2(sd_event_source_set_priority,
50                        int(sd_event_source*, int64_t));
51     MOCK_CONST_METHOD2(sd_event_source_get_enabled,
52                        int(sd_event_source*, int*));
53     MOCK_CONST_METHOD2(sd_event_source_set_enabled, int(sd_event_source*, int));
54 };
55 
56 } // namespace test
57 } // namespace sdeventplus
58