blob: acc5f3f9cc0a908bc406bc2cf8da81511047defa [file] [log] [blame]
Patrick Venturedba73d72018-04-12 14:14:42 -07001#pragma once
2
3#include <systemd/sd-bus.h>
4
5// ABC for sdbus implementation.
6namespace sdbusplus
7{
8
9// A wrapper for interfacing or testing sd-bus. This will hold methods for
10// buses, messages, etc.
11class SdBusInterface
12{
13 public:
14 virtual ~SdBusInterface() = default;
15
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070016 virtual int sd_bus_add_object_manager(sd_bus* bus, sd_bus_slot** slot,
17 const char* path) = 0;
Patrick Venture248c9902018-04-10 17:53:43 -070018
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070019 virtual int sd_bus_add_object_vtable(sd_bus* bus, sd_bus_slot** slot,
20 const char* path,
21 const char* interface,
22 const sd_bus_vtable* vtable,
23 void* userdata) = 0;
Patrick Venture540946e2018-04-16 13:17:51 -070024
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070025 virtual int sd_bus_attach_event(sd_bus* bus, sd_event* e, int priority) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -070026
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070027 virtual int sd_bus_call(sd_bus* bus, sd_bus_message* m, uint64_t usec,
28 sd_bus_error* ret_error,
29 sd_bus_message** reply) = 0;
Patrick Ventureff095682018-04-13 20:54:32 -070030
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070031 virtual int sd_bus_detach_event(sd_bus* bus) = 0;
Patrick Ventureff095682018-04-13 20:54:32 -070032
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070033 virtual int sd_bus_emit_interfaces_added_strv(sd_bus* bus, const char* path,
34 char** interfaces) = 0;
35 virtual int sd_bus_emit_interfaces_removed_strv(sd_bus* bus,
36 const char* path,
37 char** interfaces) = 0;
38 virtual int sd_bus_emit_object_added(sd_bus* bus, const char* path) = 0;
39 virtual int sd_bus_emit_object_removed(sd_bus* bus, const char* path) = 0;
40 virtual int sd_bus_emit_properties_changed_strv(sd_bus* bus,
41 const char* path,
42 const char* interface,
43 char** names) = 0;
Patrick Ventureff095682018-04-13 20:54:32 -070044
William A. Kennington III65654542018-10-11 15:17:31 -070045 virtual int sd_bus_error_set(sd_bus_error* e, const char* name,
46 const char* message) = 0;
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070047 virtual int sd_bus_error_set_const(sd_bus_error* e, const char* name,
48 const char* message) = 0;
49 virtual int sd_bus_error_get_errno(const sd_bus_error* e) = 0;
50 virtual int sd_bus_error_set_errno(sd_bus_error* e, int error) = 0;
51 virtual int sd_bus_error_is_set(const sd_bus_error* e) = 0;
52 virtual void sd_bus_error_free(sd_bus_error* e) = 0;
Patrick Venture263712f2018-04-16 14:19:08 -070053
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070054 virtual sd_event* sd_bus_get_event(sd_bus* bus) = 0;
55 virtual int sd_bus_get_fd(sd_bus* bus) = 0;
56 virtual int sd_bus_get_unique_name(sd_bus* bus, const char** unique) = 0;
Patrick Ventureff095682018-04-13 20:54:32 -070057
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070058 virtual int sd_bus_list_names(sd_bus* bus, char*** acquired,
59 char*** activatable) = 0;
Patrick Ventureff095682018-04-13 20:54:32 -070060
61 // https://github.com/systemd/systemd/blob/master/src/systemd/sd-bus.h
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070062 virtual int sd_bus_message_append_basic(sd_bus_message* message, char type,
63 const void* value) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -070064
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070065 virtual int sd_bus_message_at_end(sd_bus_message* m, int complete) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -070066
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070067 virtual int sd_bus_message_close_container(sd_bus_message* m) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -070068
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070069 virtual int sd_bus_message_enter_container(sd_bus_message* m, char type,
70 const char* contents) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -070071
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070072 virtual int sd_bus_message_exit_container(sd_bus_message* m) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -070073
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070074 virtual sd_bus* sd_bus_message_get_bus(sd_bus_message* m) = 0;
William A. Kennington III8e8d1a62018-10-14 23:24:25 -070075 virtual int sd_bus_message_get_type(sd_bus_message* m, uint8_t* type) = 0;
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070076 virtual int sd_bus_message_get_cookie(sd_bus_message* m,
77 uint64_t* cookie) = 0;
William A. Kennington III209dfc62018-10-14 23:26:18 -070078 virtual int sd_bus_message_get_reply_cookie(sd_bus_message* m,
79 uint64_t* cookie) = 0;
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070080 virtual const char* sd_bus_message_get_destination(sd_bus_message* m) = 0;
81 virtual const char* sd_bus_message_get_interface(sd_bus_message* m) = 0;
82 virtual const char* sd_bus_message_get_member(sd_bus_message* m) = 0;
83 virtual const char* sd_bus_message_get_path(sd_bus_message* m) = 0;
84 virtual const char* sd_bus_message_get_sender(sd_bus_message* m) = 0;
85 virtual const char* sd_bus_message_get_signature(sd_bus_message* m,
Patrick Venturedba73d72018-04-12 14:14:42 -070086 int complete) = 0;
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070087 virtual int sd_bus_message_get_errno(sd_bus_message* m) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -070088
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070089 virtual int sd_bus_message_is_method_call(sd_bus_message* m,
90 const char* interface,
91 const char* member) = 0;
92 virtual int sd_bus_message_is_method_error(sd_bus_message* m,
93 const char* name) = 0;
94 virtual int sd_bus_message_is_signal(sd_bus_message* m,
95 const char* interface,
96 const char* member) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -070097
William A. Kennington IIIe0d69652018-08-31 13:09:47 -070098 virtual int sd_bus_message_new_method_call(sd_bus* bus, sd_bus_message** m,
99 const char* destination,
100 const char* path,
101 const char* interface,
102 const char* member) = 0;
Patrick Ventureff095682018-04-13 20:54:32 -0700103
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700104 virtual int sd_bus_message_new_method_return(sd_bus_message* call,
105 sd_bus_message** m) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -0700106
Vernon Mauery2b74e522018-10-02 14:55:39 -0700107 virtual int sd_bus_message_new_method_errno(sd_bus_message* call,
108 sd_bus_message** m, int error,
109 const sd_bus_error* p) = 0;
110
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700111 virtual int sd_bus_message_new_signal(sd_bus* bus, sd_bus_message** m,
112 const char* path,
113 const char* interface,
114 const char* member) = 0;
Patrick Ventureff095682018-04-13 20:54:32 -0700115
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700116 virtual int sd_bus_message_open_container(sd_bus_message* m, char type,
117 const char* contents) = 0;
Patrick Ventureff095682018-04-13 20:54:32 -0700118
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700119 virtual int sd_bus_message_read_basic(sd_bus_message* m, char type,
120 void* p) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -0700121
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700122 virtual sd_bus_message* sd_bus_message_ref(sd_bus_message* m) = 0;
Patrick Ventureff095682018-04-13 20:54:32 -0700123
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700124 virtual int sd_bus_message_skip(sd_bus_message* m, const char* types) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -0700125
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700126 virtual int sd_bus_message_verify_type(sd_bus_message* m, char type,
127 const char* contents) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -0700128
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700129 virtual int sd_bus_process(sd_bus* bus, sd_bus_message** r) = 0;
Patrick Ventureff095682018-04-13 20:54:32 -0700130
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700131 virtual sd_bus* sd_bus_ref(sd_bus* bus) = 0;
Patrick Ventureff095682018-04-13 20:54:32 -0700132
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700133 virtual int sd_bus_request_name(sd_bus* bus, const char* name,
Patrick Ventureff095682018-04-13 20:54:32 -0700134 uint64_t flags) = 0;
135
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700136 virtual int sd_bus_send(sd_bus* bus, sd_bus_message* m,
137 uint64_t* cookie) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -0700138
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700139 virtual sd_bus* sd_bus_unref(sd_bus* bus) = 0;
Brad Bishopdfbff6f2018-12-05 19:46:20 -0500140 virtual sd_bus* sd_bus_flush_close_unref(sd_bus* bus) = 0;
Patrick Ventureff095682018-04-13 20:54:32 -0700141
William A. Kennington III42f6ad52018-12-19 17:32:30 -0800142 virtual int sd_bus_flush(sd_bus* bus) = 0;
143 virtual void sd_bus_close(sd_bus* bus) = 0;
144
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700145 virtual int sd_bus_wait(sd_bus* bus, uint64_t timeout_usec) = 0;
Patrick Venturedba73d72018-04-12 14:14:42 -0700146};
147
148class SdBusImpl : public SdBusInterface
149{
150 public:
151 SdBusImpl() = default;
152 ~SdBusImpl() = default;
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700153 SdBusImpl(const SdBusImpl&) = default;
154 SdBusImpl& operator=(const SdBusImpl&) = default;
155 SdBusImpl(SdBusImpl&&) = default;
156 SdBusImpl& operator=(SdBusImpl&&) = default;
Patrick Venturedba73d72018-04-12 14:14:42 -0700157
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700158 int sd_bus_add_object_manager(sd_bus* bus, sd_bus_slot** slot,
159 const char* path) override
Patrick Venture248c9902018-04-10 17:53:43 -0700160 {
161 return ::sd_bus_add_object_manager(bus, slot, path);
162 }
163
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700164 int sd_bus_add_object_vtable(sd_bus* bus, sd_bus_slot** slot,
165 const char* path, const char* interface,
166 const sd_bus_vtable* vtable,
167 void* userdata) override
Patrick Venture540946e2018-04-16 13:17:51 -0700168 {
169 return ::sd_bus_add_object_vtable(bus, slot, path, interface, vtable,
170 userdata);
171 }
172
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700173 int sd_bus_attach_event(sd_bus* bus, sd_event* e, int priority) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700174 {
Patrick Ventureff095682018-04-13 20:54:32 -0700175 return ::sd_bus_attach_event(bus, e, priority);
176 }
177
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700178 int sd_bus_call(sd_bus* bus, sd_bus_message* m, uint64_t usec,
179 sd_bus_error* ret_error, sd_bus_message** reply) override
Patrick Ventureff095682018-04-13 20:54:32 -0700180 {
181 return ::sd_bus_call(bus, m, usec, ret_error, reply);
182 }
183
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700184 int sd_bus_detach_event(sd_bus* bus) override
Patrick Ventureff095682018-04-13 20:54:32 -0700185 {
186 return ::sd_bus_detach_event(bus);
187 }
188
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700189 int sd_bus_emit_interfaces_added_strv(sd_bus* bus, const char* path,
190 char** interfaces) override
Patrick Ventureff095682018-04-13 20:54:32 -0700191 {
192 return ::sd_bus_emit_interfaces_added_strv(bus, path, interfaces);
193 }
194
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700195 int sd_bus_emit_interfaces_removed_strv(sd_bus* bus, const char* path,
196 char** interfaces) override
Patrick Ventureff095682018-04-13 20:54:32 -0700197 {
198 return ::sd_bus_emit_interfaces_removed_strv(bus, path, interfaces);
199 }
200
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700201 int sd_bus_emit_object_added(sd_bus* bus, const char* path) override
Patrick Ventureff095682018-04-13 20:54:32 -0700202 {
203 return ::sd_bus_emit_object_added(bus, path);
204 }
205
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700206 int sd_bus_emit_object_removed(sd_bus* bus, const char* path) override
Patrick Ventureff095682018-04-13 20:54:32 -0700207 {
208 return ::sd_bus_emit_object_removed(bus, path);
209 }
210
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700211 int sd_bus_emit_properties_changed_strv(sd_bus* bus, const char* path,
212 const char* interface,
213 char** names) override
Patrick Venture540946e2018-04-16 13:17:51 -0700214 {
215 return ::sd_bus_emit_properties_changed_strv(bus, path, interface,
216 names);
217 }
218
William A. Kennington III65654542018-10-11 15:17:31 -0700219 int sd_bus_error_set(sd_bus_error* e, const char* name,
220 const char* message) override
221 {
222 return ::sd_bus_error_set(e, name, message);
223 }
224
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700225 int sd_bus_error_set_const(sd_bus_error* e, const char* name,
226 const char* message) override
Patrick Venture263712f2018-04-16 14:19:08 -0700227 {
228 return ::sd_bus_error_set_const(e, name, message);
229 }
230
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700231 int sd_bus_error_get_errno(const sd_bus_error* e) override
William A. Kennington III6e433902018-06-22 18:40:45 -0700232 {
233 return ::sd_bus_error_get_errno(e);
234 }
235
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700236 int sd_bus_error_set_errno(sd_bus_error* e, int error) override
William A. Kennington III6e433902018-06-22 18:40:45 -0700237 {
238 return ::sd_bus_error_set_errno(e, error);
239 }
240
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700241 int sd_bus_error_is_set(const sd_bus_error* e) override
William A. Kennington III6e433902018-06-22 18:40:45 -0700242 {
243 return ::sd_bus_error_is_set(e);
244 }
245
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700246 void sd_bus_error_free(sd_bus_error* e) override
William A. Kennington III6e433902018-06-22 18:40:45 -0700247 {
248 return ::sd_bus_error_free(e);
249 }
250
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700251 sd_event* sd_bus_get_event(sd_bus* bus) override
Patrick Ventureff095682018-04-13 20:54:32 -0700252 {
253 return ::sd_bus_get_event(bus);
254 }
255
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700256 int sd_bus_get_fd(sd_bus* bus) override
William A. Kennington IIIcb582e02018-06-28 18:01:01 -0700257 {
258 return ::sd_bus_get_fd(bus);
259 }
260
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700261 int sd_bus_get_unique_name(sd_bus* bus, const char** unique) override
Patrick Ventureff095682018-04-13 20:54:32 -0700262 {
263 return ::sd_bus_get_unique_name(bus, unique);
264 }
265
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700266 int sd_bus_list_names(sd_bus* bus, char*** acquired,
267 char*** activatable) override
Patrick Ventureff095682018-04-13 20:54:32 -0700268 {
269 return ::sd_bus_list_names(bus, acquired, activatable);
Patrick Venturedba73d72018-04-12 14:14:42 -0700270 }
271
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700272 int sd_bus_message_append_basic(sd_bus_message* message, char type,
273 const void* value) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700274 {
275 return ::sd_bus_message_append_basic(message, type, value);
276 }
277
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700278 int sd_bus_message_at_end(sd_bus_message* m, int complete) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700279 {
280 return ::sd_bus_message_at_end(m, complete);
281 }
282
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700283 int sd_bus_message_close_container(sd_bus_message* m) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700284 {
285 return ::sd_bus_message_close_container(m);
286 }
287
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700288 int sd_bus_message_enter_container(sd_bus_message* m, char type,
289 const char* contents) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700290 {
291 return ::sd_bus_message_enter_container(m, type, contents);
292 }
293
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700294 int sd_bus_message_exit_container(sd_bus_message* m) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700295 {
296 return ::sd_bus_message_exit_container(m);
297 }
298
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700299 sd_bus* sd_bus_message_get_bus(sd_bus_message* m) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700300 {
301 return ::sd_bus_message_get_bus(m);
302 }
303
William A. Kennington III8e8d1a62018-10-14 23:24:25 -0700304 int sd_bus_message_get_type(sd_bus_message* m, uint8_t* type) override
305 {
306 return ::sd_bus_message_get_type(m, type);
307 }
308
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700309 int sd_bus_message_get_cookie(sd_bus_message* m, uint64_t* cookie) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700310 {
311 return ::sd_bus_message_get_cookie(m, cookie);
312 }
313
William A. Kennington III209dfc62018-10-14 23:26:18 -0700314 int sd_bus_message_get_reply_cookie(sd_bus_message* m,
315 uint64_t* cookie) override
316 {
317 return ::sd_bus_message_get_reply_cookie(m, cookie);
318 }
319
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700320 const char* sd_bus_message_get_destination(sd_bus_message* m) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700321 {
322 return ::sd_bus_message_get_destination(m);
323 }
324
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700325 const char* sd_bus_message_get_interface(sd_bus_message* m) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700326 {
327 return ::sd_bus_message_get_interface(m);
328 }
329
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700330 const char* sd_bus_message_get_member(sd_bus_message* m) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700331 {
332 return ::sd_bus_message_get_member(m);
333 }
334
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700335 const char* sd_bus_message_get_path(sd_bus_message* m) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700336 {
337 return ::sd_bus_message_get_path(m);
338 }
339
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700340 const char* sd_bus_message_get_sender(sd_bus_message* m) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700341 {
342 return ::sd_bus_message_get_sender(m);
343 }
344
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700345 const char* sd_bus_message_get_signature(sd_bus_message* m,
Patrick Venturedba73d72018-04-12 14:14:42 -0700346 int complete) override
347 {
348 return ::sd_bus_message_get_signature(m, complete);
349 }
350
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700351 int sd_bus_message_get_errno(sd_bus_message* m) override
William A. Kennington IIIcb582e02018-06-28 18:01:01 -0700352 {
353 return ::sd_bus_message_get_errno(m);
354 }
355
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700356 int sd_bus_message_is_method_call(sd_bus_message* m, const char* interface,
357 const char* member) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700358 {
359 return ::sd_bus_message_is_method_call(m, interface, member);
360 }
361
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700362 int sd_bus_message_is_method_error(sd_bus_message* m,
363 const char* name) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700364 {
365 return ::sd_bus_message_is_method_error(m, name);
366 }
367
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700368 int sd_bus_message_is_signal(sd_bus_message* m, const char* interface,
369 const char* member) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700370 {
371 return ::sd_bus_message_is_signal(m, interface, member);
372 }
373
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700374 int sd_bus_message_new_method_call(sd_bus* bus, sd_bus_message** m,
375 const char* destination,
376 const char* path, const char* interface,
377 const char* member) override
Patrick Ventureff095682018-04-13 20:54:32 -0700378 {
379 return ::sd_bus_message_new_method_call(bus, m, destination, path,
380 interface, member);
381 }
382
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700383 int sd_bus_message_new_method_return(sd_bus_message* call,
384 sd_bus_message** m) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700385 {
386 return ::sd_bus_message_new_method_return(call, m);
387 }
388
Vernon Mauery2b74e522018-10-02 14:55:39 -0700389 int sd_bus_message_new_method_errno(sd_bus_message* call,
390 sd_bus_message** m, int error,
391 const sd_bus_error* p) override
392 {
393 return ::sd_bus_message_new_method_errno(call, m, error, p);
394 }
395
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700396 int sd_bus_message_new_signal(sd_bus* bus, sd_bus_message** m,
397 const char* path, const char* interface,
398 const char* member) override
Patrick Ventureff095682018-04-13 20:54:32 -0700399 {
400 return ::sd_bus_message_new_signal(bus, m, path, interface, member);
401 }
402
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700403 int sd_bus_message_open_container(sd_bus_message* m, char type,
404 const char* contents) override
Patrick Ventureff095682018-04-13 20:54:32 -0700405 {
406 return ::sd_bus_message_open_container(m, type, contents);
407 }
408
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700409 int sd_bus_message_read_basic(sd_bus_message* m, char type,
410 void* p) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700411 {
412 return ::sd_bus_message_read_basic(m, type, p);
413 }
414
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700415 sd_bus_message* sd_bus_message_ref(sd_bus_message* m) override
Patrick Ventureff095682018-04-13 20:54:32 -0700416 {
417 return ::sd_bus_message_ref(m);
418 }
419
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700420 int sd_bus_message_skip(sd_bus_message* m, const char* types) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700421 {
422 return ::sd_bus_message_skip(m, types);
423 }
424
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700425 int sd_bus_message_verify_type(sd_bus_message* m, char type,
426 const char* contents) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700427 {
428 return ::sd_bus_message_verify_type(m, type, contents);
429 }
430
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700431 int sd_bus_process(sd_bus* bus, sd_bus_message** r) override
Patrick Ventureff095682018-04-13 20:54:32 -0700432 {
433 return ::sd_bus_process(bus, r);
434 }
435
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700436 sd_bus* sd_bus_ref(sd_bus* bus) override
Patrick Ventureff095682018-04-13 20:54:32 -0700437 {
438 return ::sd_bus_ref(bus);
439 }
440
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700441 int sd_bus_request_name(sd_bus* bus, const char* name,
Patrick Ventureff095682018-04-13 20:54:32 -0700442 uint64_t flags) override
443 {
444 return ::sd_bus_request_name(bus, name, flags);
445 }
446
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700447 int sd_bus_send(sd_bus* bus, sd_bus_message* m, uint64_t* cookie) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700448 {
449 return ::sd_bus_send(bus, m, cookie);
450 }
451
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700452 sd_bus* sd_bus_unref(sd_bus* bus) override
Patrick Venturedba73d72018-04-12 14:14:42 -0700453 {
Patrick Ventureff095682018-04-13 20:54:32 -0700454 return ::sd_bus_unref(bus);
455 }
456
Brad Bishopdfbff6f2018-12-05 19:46:20 -0500457 sd_bus* sd_bus_flush_close_unref(sd_bus* bus) override
458 {
459 return ::sd_bus_flush_close_unref(bus);
460 }
461
William A. Kennington III42f6ad52018-12-19 17:32:30 -0800462 int sd_bus_flush(sd_bus* bus) override
463 {
464 return ::sd_bus_flush(bus);
465 }
466
467 void sd_bus_close(sd_bus* bus) override
468 {
469 ::sd_bus_close(bus);
470 }
471
William A. Kennington IIIe0d69652018-08-31 13:09:47 -0700472 int sd_bus_wait(sd_bus* bus, uint64_t timeout_usec) override
Patrick Ventureff095682018-04-13 20:54:32 -0700473 {
474 return ::sd_bus_wait(bus, timeout_usec);
Patrick Venturedba73d72018-04-12 14:14:42 -0700475 }
476};
477
William A. Kennington III9ff25f72018-06-28 17:59:15 -0700478extern SdBusImpl sdbus_impl;
479
Patrick Venturedba73d72018-04-12 14:14:42 -0700480} // namespace sdbusplus