1*7f664254SPatrick Williams #pragma once 2*7f664254SPatrick Williams 3*7f664254SPatrick Williams #include <systemd/sd-bus.h> 4*7f664254SPatrick Williams 5*7f664254SPatrick Williams #include <chrono> 6*7f664254SPatrick Williams 7*7f664254SPatrick Williams // ABC for sdbus implementation. 8*7f664254SPatrick Williams namespace sdbusplus 9*7f664254SPatrick Williams { 10*7f664254SPatrick Williams 11*7f664254SPatrick Williams // Defined by systemd taking uint64_t usec params 12*7f664254SPatrick Williams using SdBusDuration = 13*7f664254SPatrick Williams std::chrono::duration<uint64_t, std::chrono::microseconds::period>; 14*7f664254SPatrick Williams 15*7f664254SPatrick Williams // A wrapper for interfacing or testing sd-bus. This will hold methods for 16*7f664254SPatrick Williams // buses, messages, etc. 17*7f664254SPatrick Williams class SdBusInterface 18*7f664254SPatrick Williams { 19*7f664254SPatrick Williams public: 20*7f664254SPatrick Williams virtual ~SdBusInterface() = default; 21*7f664254SPatrick Williams 22*7f664254SPatrick Williams virtual int sd_bus_add_object_manager(sd_bus* bus, sd_bus_slot** slot, 23*7f664254SPatrick Williams const char* path) = 0; 24*7f664254SPatrick Williams 25*7f664254SPatrick Williams virtual int sd_bus_add_object_vtable(sd_bus* bus, sd_bus_slot** slot, 26*7f664254SPatrick Williams const char* path, 27*7f664254SPatrick Williams const char* interface, 28*7f664254SPatrick Williams const sd_bus_vtable* vtable, 29*7f664254SPatrick Williams void* userdata) = 0; 30*7f664254SPatrick Williams 31*7f664254SPatrick Williams virtual int sd_bus_attach_event(sd_bus* bus, sd_event* e, int priority) = 0; 32*7f664254SPatrick Williams 33*7f664254SPatrick Williams virtual int sd_bus_call(sd_bus* bus, sd_bus_message* m, uint64_t usec, 34*7f664254SPatrick Williams sd_bus_error* ret_error, 35*7f664254SPatrick Williams sd_bus_message** reply) = 0; 36*7f664254SPatrick Williams 37*7f664254SPatrick Williams virtual int sd_bus_detach_event(sd_bus* bus) = 0; 38*7f664254SPatrick Williams 39*7f664254SPatrick Williams virtual int sd_bus_emit_interfaces_added_strv(sd_bus* bus, const char* path, 40*7f664254SPatrick Williams char** interfaces) = 0; 41*7f664254SPatrick Williams virtual int sd_bus_emit_interfaces_removed_strv(sd_bus* bus, 42*7f664254SPatrick Williams const char* path, 43*7f664254SPatrick Williams char** interfaces) = 0; 44*7f664254SPatrick Williams virtual int sd_bus_emit_object_added(sd_bus* bus, const char* path) = 0; 45*7f664254SPatrick Williams virtual int sd_bus_emit_object_removed(sd_bus* bus, const char* path) = 0; 46*7f664254SPatrick Williams virtual int sd_bus_emit_properties_changed_strv(sd_bus* bus, 47*7f664254SPatrick Williams const char* path, 48*7f664254SPatrick Williams const char* interface, 49*7f664254SPatrick Williams char** names) = 0; 50*7f664254SPatrick Williams 51*7f664254SPatrick Williams virtual int sd_bus_error_set(sd_bus_error* e, const char* name, 52*7f664254SPatrick Williams const char* message) = 0; 53*7f664254SPatrick Williams virtual int sd_bus_error_set_const(sd_bus_error* e, const char* name, 54*7f664254SPatrick Williams const char* message) = 0; 55*7f664254SPatrick Williams virtual int sd_bus_error_get_errno(const sd_bus_error* e) = 0; 56*7f664254SPatrick Williams virtual int sd_bus_error_set_errno(sd_bus_error* e, int error) = 0; 57*7f664254SPatrick Williams virtual int sd_bus_error_is_set(const sd_bus_error* e) = 0; 58*7f664254SPatrick Williams virtual void sd_bus_error_free(sd_bus_error* e) = 0; 59*7f664254SPatrick Williams 60*7f664254SPatrick Williams virtual sd_event* sd_bus_get_event(sd_bus* bus) = 0; 61*7f664254SPatrick Williams virtual int sd_bus_get_fd(sd_bus* bus) = 0; 62*7f664254SPatrick Williams virtual int sd_bus_get_unique_name(sd_bus* bus, const char** unique) = 0; 63*7f664254SPatrick Williams 64*7f664254SPatrick Williams virtual int sd_bus_list_names(sd_bus* bus, char*** acquired, 65*7f664254SPatrick Williams char*** activatable) = 0; 66*7f664254SPatrick Williams 67*7f664254SPatrick Williams // https://github.com/systemd/systemd/blob/master/src/systemd/sd-bus.h 68*7f664254SPatrick Williams virtual int sd_bus_message_append_basic(sd_bus_message* message, char type, 69*7f664254SPatrick Williams const void* value) = 0; 70*7f664254SPatrick Williams 71*7f664254SPatrick Williams virtual int sd_bus_message_at_end(sd_bus_message* m, int complete) = 0; 72*7f664254SPatrick Williams 73*7f664254SPatrick Williams virtual int sd_bus_message_close_container(sd_bus_message* m) = 0; 74*7f664254SPatrick Williams 75*7f664254SPatrick Williams virtual int sd_bus_message_enter_container(sd_bus_message* m, char type, 76*7f664254SPatrick Williams const char* contents) = 0; 77*7f664254SPatrick Williams 78*7f664254SPatrick Williams virtual int sd_bus_message_exit_container(sd_bus_message* m) = 0; 79*7f664254SPatrick Williams 80*7f664254SPatrick Williams virtual sd_bus* sd_bus_message_get_bus(sd_bus_message* m) = 0; 81*7f664254SPatrick Williams virtual int sd_bus_message_get_type(sd_bus_message* m, uint8_t* type) = 0; 82*7f664254SPatrick Williams virtual int sd_bus_message_get_cookie(sd_bus_message* m, 83*7f664254SPatrick Williams uint64_t* cookie) = 0; 84*7f664254SPatrick Williams virtual int sd_bus_message_get_reply_cookie(sd_bus_message* m, 85*7f664254SPatrick Williams uint64_t* cookie) = 0; 86*7f664254SPatrick Williams virtual const char* sd_bus_message_get_destination(sd_bus_message* m) = 0; 87*7f664254SPatrick Williams virtual const char* sd_bus_message_get_interface(sd_bus_message* m) = 0; 88*7f664254SPatrick Williams virtual const char* sd_bus_message_get_member(sd_bus_message* m) = 0; 89*7f664254SPatrick Williams virtual const char* sd_bus_message_get_path(sd_bus_message* m) = 0; 90*7f664254SPatrick Williams virtual const char* sd_bus_message_get_sender(sd_bus_message* m) = 0; 91*7f664254SPatrick Williams virtual const char* sd_bus_message_get_signature(sd_bus_message* m, 92*7f664254SPatrick Williams int complete) = 0; 93*7f664254SPatrick Williams virtual int sd_bus_message_get_errno(sd_bus_message* m) = 0; 94*7f664254SPatrick Williams virtual const sd_bus_error* sd_bus_message_get_error(sd_bus_message* m) = 0; 95*7f664254SPatrick Williams 96*7f664254SPatrick Williams virtual int sd_bus_message_is_method_call(sd_bus_message* m, 97*7f664254SPatrick Williams const char* interface, 98*7f664254SPatrick Williams const char* member) = 0; 99*7f664254SPatrick Williams virtual int sd_bus_message_is_method_error(sd_bus_message* m, 100*7f664254SPatrick Williams const char* name) = 0; 101*7f664254SPatrick Williams virtual int sd_bus_message_is_signal(sd_bus_message* m, 102*7f664254SPatrick Williams const char* interface, 103*7f664254SPatrick Williams const char* member) = 0; 104*7f664254SPatrick Williams 105*7f664254SPatrick Williams virtual int sd_bus_message_new_method_call(sd_bus* bus, sd_bus_message** m, 106*7f664254SPatrick Williams const char* destination, 107*7f664254SPatrick Williams const char* path, 108*7f664254SPatrick Williams const char* interface, 109*7f664254SPatrick Williams const char* member) = 0; 110*7f664254SPatrick Williams 111*7f664254SPatrick Williams virtual int sd_bus_message_new_method_return(sd_bus_message* call, 112*7f664254SPatrick Williams sd_bus_message** m) = 0; 113*7f664254SPatrick Williams 114*7f664254SPatrick Williams virtual int sd_bus_message_new_method_errno(sd_bus_message* call, 115*7f664254SPatrick Williams sd_bus_message** m, int error, 116*7f664254SPatrick Williams const sd_bus_error* p) = 0; 117*7f664254SPatrick Williams 118*7f664254SPatrick Williams virtual int sd_bus_message_new_signal(sd_bus* bus, sd_bus_message** m, 119*7f664254SPatrick Williams const char* path, 120*7f664254SPatrick Williams const char* interface, 121*7f664254SPatrick Williams const char* member) = 0; 122*7f664254SPatrick Williams 123*7f664254SPatrick Williams virtual int sd_bus_message_open_container(sd_bus_message* m, char type, 124*7f664254SPatrick Williams const char* contents) = 0; 125*7f664254SPatrick Williams 126*7f664254SPatrick Williams virtual int sd_bus_message_read_basic(sd_bus_message* m, char type, 127*7f664254SPatrick Williams void* p) = 0; 128*7f664254SPatrick Williams 129*7f664254SPatrick Williams virtual sd_bus_message* sd_bus_message_ref(sd_bus_message* m) = 0; 130*7f664254SPatrick Williams 131*7f664254SPatrick Williams virtual int sd_bus_message_skip(sd_bus_message* m, const char* types) = 0; 132*7f664254SPatrick Williams 133*7f664254SPatrick Williams virtual int sd_bus_message_verify_type(sd_bus_message* m, char type, 134*7f664254SPatrick Williams const char* contents) = 0; 135*7f664254SPatrick Williams 136*7f664254SPatrick Williams virtual int sd_bus_process(sd_bus* bus, sd_bus_message** r) = 0; 137*7f664254SPatrick Williams 138*7f664254SPatrick Williams virtual sd_bus* sd_bus_ref(sd_bus* bus) = 0; 139*7f664254SPatrick Williams 140*7f664254SPatrick Williams virtual int sd_bus_request_name(sd_bus* bus, const char* name, 141*7f664254SPatrick Williams uint64_t flags) = 0; 142*7f664254SPatrick Williams 143*7f664254SPatrick Williams virtual int sd_bus_send(sd_bus* bus, sd_bus_message* m, 144*7f664254SPatrick Williams uint64_t* cookie) = 0; 145*7f664254SPatrick Williams 146*7f664254SPatrick Williams virtual sd_bus* sd_bus_unref(sd_bus* bus) = 0; 147*7f664254SPatrick Williams virtual sd_bus* sd_bus_flush_close_unref(sd_bus* bus) = 0; 148*7f664254SPatrick Williams 149*7f664254SPatrick Williams virtual int sd_bus_flush(sd_bus* bus) = 0; 150*7f664254SPatrick Williams virtual void sd_bus_close(sd_bus* bus) = 0; 151*7f664254SPatrick Williams 152*7f664254SPatrick Williams virtual int sd_bus_wait(sd_bus* bus, uint64_t timeout_usec) = 0; 153*7f664254SPatrick Williams }; 154*7f664254SPatrick Williams 155*7f664254SPatrick Williams class SdBusImpl : public SdBusInterface 156*7f664254SPatrick Williams { 157*7f664254SPatrick Williams public: 158*7f664254SPatrick Williams SdBusImpl() = default; 159*7f664254SPatrick Williams ~SdBusImpl() = default; 160*7f664254SPatrick Williams SdBusImpl(const SdBusImpl&) = default; 161*7f664254SPatrick Williams SdBusImpl& operator=(const SdBusImpl&) = default; 162*7f664254SPatrick Williams SdBusImpl(SdBusImpl&&) = default; 163*7f664254SPatrick Williams SdBusImpl& operator=(SdBusImpl&&) = default; 164*7f664254SPatrick Williams 165*7f664254SPatrick Williams int sd_bus_add_object_manager(sd_bus* bus, sd_bus_slot** slot, 166*7f664254SPatrick Williams const char* path) override 167*7f664254SPatrick Williams { 168*7f664254SPatrick Williams return ::sd_bus_add_object_manager(bus, slot, path); 169*7f664254SPatrick Williams } 170*7f664254SPatrick Williams 171*7f664254SPatrick Williams int sd_bus_add_object_vtable(sd_bus* bus, sd_bus_slot** slot, 172*7f664254SPatrick Williams const char* path, const char* interface, 173*7f664254SPatrick Williams const sd_bus_vtable* vtable, 174*7f664254SPatrick Williams void* userdata) override 175*7f664254SPatrick Williams { 176*7f664254SPatrick Williams return ::sd_bus_add_object_vtable(bus, slot, path, interface, vtable, 177*7f664254SPatrick Williams userdata); 178*7f664254SPatrick Williams } 179*7f664254SPatrick Williams 180*7f664254SPatrick Williams int sd_bus_attach_event(sd_bus* bus, sd_event* e, int priority) override 181*7f664254SPatrick Williams { 182*7f664254SPatrick Williams return ::sd_bus_attach_event(bus, e, priority); 183*7f664254SPatrick Williams } 184*7f664254SPatrick Williams 185*7f664254SPatrick Williams int sd_bus_call(sd_bus* bus, sd_bus_message* m, uint64_t usec, 186*7f664254SPatrick Williams sd_bus_error* ret_error, sd_bus_message** reply) override 187*7f664254SPatrick Williams { 188*7f664254SPatrick Williams return ::sd_bus_call(bus, m, usec, ret_error, reply); 189*7f664254SPatrick Williams } 190*7f664254SPatrick Williams 191*7f664254SPatrick Williams int sd_bus_detach_event(sd_bus* bus) override 192*7f664254SPatrick Williams { 193*7f664254SPatrick Williams return ::sd_bus_detach_event(bus); 194*7f664254SPatrick Williams } 195*7f664254SPatrick Williams 196*7f664254SPatrick Williams int sd_bus_emit_interfaces_added_strv(sd_bus* bus, const char* path, 197*7f664254SPatrick Williams char** interfaces) override 198*7f664254SPatrick Williams { 199*7f664254SPatrick Williams return ::sd_bus_emit_interfaces_added_strv(bus, path, interfaces); 200*7f664254SPatrick Williams } 201*7f664254SPatrick Williams 202*7f664254SPatrick Williams int sd_bus_emit_interfaces_removed_strv(sd_bus* bus, const char* path, 203*7f664254SPatrick Williams char** interfaces) override 204*7f664254SPatrick Williams { 205*7f664254SPatrick Williams return ::sd_bus_emit_interfaces_removed_strv(bus, path, interfaces); 206*7f664254SPatrick Williams } 207*7f664254SPatrick Williams 208*7f664254SPatrick Williams int sd_bus_emit_object_added(sd_bus* bus, const char* path) override 209*7f664254SPatrick Williams { 210*7f664254SPatrick Williams return ::sd_bus_emit_object_added(bus, path); 211*7f664254SPatrick Williams } 212*7f664254SPatrick Williams 213*7f664254SPatrick Williams int sd_bus_emit_object_removed(sd_bus* bus, const char* path) override 214*7f664254SPatrick Williams { 215*7f664254SPatrick Williams return ::sd_bus_emit_object_removed(bus, path); 216*7f664254SPatrick Williams } 217*7f664254SPatrick Williams 218*7f664254SPatrick Williams int sd_bus_emit_properties_changed_strv(sd_bus* bus, const char* path, 219*7f664254SPatrick Williams const char* interface, 220*7f664254SPatrick Williams char** names) override 221*7f664254SPatrick Williams { 222*7f664254SPatrick Williams return ::sd_bus_emit_properties_changed_strv(bus, path, interface, 223*7f664254SPatrick Williams names); 224*7f664254SPatrick Williams } 225*7f664254SPatrick Williams 226*7f664254SPatrick Williams int sd_bus_error_set(sd_bus_error* e, const char* name, 227*7f664254SPatrick Williams const char* message) override 228*7f664254SPatrick Williams { 229*7f664254SPatrick Williams return ::sd_bus_error_set(e, name, message); 230*7f664254SPatrick Williams } 231*7f664254SPatrick Williams 232*7f664254SPatrick Williams int sd_bus_error_set_const(sd_bus_error* e, const char* name, 233*7f664254SPatrick Williams const char* message) override 234*7f664254SPatrick Williams { 235*7f664254SPatrick Williams return ::sd_bus_error_set_const(e, name, message); 236*7f664254SPatrick Williams } 237*7f664254SPatrick Williams 238*7f664254SPatrick Williams int sd_bus_error_get_errno(const sd_bus_error* e) override 239*7f664254SPatrick Williams { 240*7f664254SPatrick Williams return ::sd_bus_error_get_errno(e); 241*7f664254SPatrick Williams } 242*7f664254SPatrick Williams 243*7f664254SPatrick Williams int sd_bus_error_set_errno(sd_bus_error* e, int error) override 244*7f664254SPatrick Williams { 245*7f664254SPatrick Williams return ::sd_bus_error_set_errno(e, error); 246*7f664254SPatrick Williams } 247*7f664254SPatrick Williams 248*7f664254SPatrick Williams int sd_bus_error_is_set(const sd_bus_error* e) override 249*7f664254SPatrick Williams { 250*7f664254SPatrick Williams return ::sd_bus_error_is_set(e); 251*7f664254SPatrick Williams } 252*7f664254SPatrick Williams 253*7f664254SPatrick Williams void sd_bus_error_free(sd_bus_error* e) override 254*7f664254SPatrick Williams { 255*7f664254SPatrick Williams return ::sd_bus_error_free(e); 256*7f664254SPatrick Williams } 257*7f664254SPatrick Williams 258*7f664254SPatrick Williams sd_event* sd_bus_get_event(sd_bus* bus) override 259*7f664254SPatrick Williams { 260*7f664254SPatrick Williams return ::sd_bus_get_event(bus); 261*7f664254SPatrick Williams } 262*7f664254SPatrick Williams 263*7f664254SPatrick Williams int sd_bus_get_fd(sd_bus* bus) override 264*7f664254SPatrick Williams { 265*7f664254SPatrick Williams return ::sd_bus_get_fd(bus); 266*7f664254SPatrick Williams } 267*7f664254SPatrick Williams 268*7f664254SPatrick Williams int sd_bus_get_unique_name(sd_bus* bus, const char** unique) override 269*7f664254SPatrick Williams { 270*7f664254SPatrick Williams return ::sd_bus_get_unique_name(bus, unique); 271*7f664254SPatrick Williams } 272*7f664254SPatrick Williams 273*7f664254SPatrick Williams int sd_bus_list_names(sd_bus* bus, char*** acquired, 274*7f664254SPatrick Williams char*** activatable) override 275*7f664254SPatrick Williams { 276*7f664254SPatrick Williams return ::sd_bus_list_names(bus, acquired, activatable); 277*7f664254SPatrick Williams } 278*7f664254SPatrick Williams 279*7f664254SPatrick Williams int sd_bus_message_append_basic(sd_bus_message* message, char type, 280*7f664254SPatrick Williams const void* value) override 281*7f664254SPatrick Williams { 282*7f664254SPatrick Williams return ::sd_bus_message_append_basic(message, type, value); 283*7f664254SPatrick Williams } 284*7f664254SPatrick Williams 285*7f664254SPatrick Williams int sd_bus_message_at_end(sd_bus_message* m, int complete) override 286*7f664254SPatrick Williams { 287*7f664254SPatrick Williams return ::sd_bus_message_at_end(m, complete); 288*7f664254SPatrick Williams } 289*7f664254SPatrick Williams 290*7f664254SPatrick Williams int sd_bus_message_close_container(sd_bus_message* m) override 291*7f664254SPatrick Williams { 292*7f664254SPatrick Williams return ::sd_bus_message_close_container(m); 293*7f664254SPatrick Williams } 294*7f664254SPatrick Williams 295*7f664254SPatrick Williams int sd_bus_message_enter_container(sd_bus_message* m, char type, 296*7f664254SPatrick Williams const char* contents) override 297*7f664254SPatrick Williams { 298*7f664254SPatrick Williams return ::sd_bus_message_enter_container(m, type, contents); 299*7f664254SPatrick Williams } 300*7f664254SPatrick Williams 301*7f664254SPatrick Williams int sd_bus_message_exit_container(sd_bus_message* m) override 302*7f664254SPatrick Williams { 303*7f664254SPatrick Williams return ::sd_bus_message_exit_container(m); 304*7f664254SPatrick Williams } 305*7f664254SPatrick Williams 306*7f664254SPatrick Williams sd_bus* sd_bus_message_get_bus(sd_bus_message* m) override 307*7f664254SPatrick Williams { 308*7f664254SPatrick Williams return ::sd_bus_message_get_bus(m); 309*7f664254SPatrick Williams } 310*7f664254SPatrick Williams 311*7f664254SPatrick Williams int sd_bus_message_get_type(sd_bus_message* m, uint8_t* type) override 312*7f664254SPatrick Williams { 313*7f664254SPatrick Williams return ::sd_bus_message_get_type(m, type); 314*7f664254SPatrick Williams } 315*7f664254SPatrick Williams 316*7f664254SPatrick Williams int sd_bus_message_get_cookie(sd_bus_message* m, uint64_t* cookie) override 317*7f664254SPatrick Williams { 318*7f664254SPatrick Williams return ::sd_bus_message_get_cookie(m, cookie); 319*7f664254SPatrick Williams } 320*7f664254SPatrick Williams 321*7f664254SPatrick Williams int sd_bus_message_get_reply_cookie(sd_bus_message* m, 322*7f664254SPatrick Williams uint64_t* cookie) override 323*7f664254SPatrick Williams { 324*7f664254SPatrick Williams return ::sd_bus_message_get_reply_cookie(m, cookie); 325*7f664254SPatrick Williams } 326*7f664254SPatrick Williams 327*7f664254SPatrick Williams const char* sd_bus_message_get_destination(sd_bus_message* m) override 328*7f664254SPatrick Williams { 329*7f664254SPatrick Williams return ::sd_bus_message_get_destination(m); 330*7f664254SPatrick Williams } 331*7f664254SPatrick Williams 332*7f664254SPatrick Williams const char* sd_bus_message_get_interface(sd_bus_message* m) override 333*7f664254SPatrick Williams { 334*7f664254SPatrick Williams return ::sd_bus_message_get_interface(m); 335*7f664254SPatrick Williams } 336*7f664254SPatrick Williams 337*7f664254SPatrick Williams const char* sd_bus_message_get_member(sd_bus_message* m) override 338*7f664254SPatrick Williams { 339*7f664254SPatrick Williams return ::sd_bus_message_get_member(m); 340*7f664254SPatrick Williams } 341*7f664254SPatrick Williams 342*7f664254SPatrick Williams const char* sd_bus_message_get_path(sd_bus_message* m) override 343*7f664254SPatrick Williams { 344*7f664254SPatrick Williams return ::sd_bus_message_get_path(m); 345*7f664254SPatrick Williams } 346*7f664254SPatrick Williams 347*7f664254SPatrick Williams const char* sd_bus_message_get_sender(sd_bus_message* m) override 348*7f664254SPatrick Williams { 349*7f664254SPatrick Williams return ::sd_bus_message_get_sender(m); 350*7f664254SPatrick Williams } 351*7f664254SPatrick Williams 352*7f664254SPatrick Williams const char* sd_bus_message_get_signature(sd_bus_message* m, 353*7f664254SPatrick Williams int complete) override 354*7f664254SPatrick Williams { 355*7f664254SPatrick Williams return ::sd_bus_message_get_signature(m, complete); 356*7f664254SPatrick Williams } 357*7f664254SPatrick Williams 358*7f664254SPatrick Williams int sd_bus_message_get_errno(sd_bus_message* m) override 359*7f664254SPatrick Williams { 360*7f664254SPatrick Williams return ::sd_bus_message_get_errno(m); 361*7f664254SPatrick Williams } 362*7f664254SPatrick Williams 363*7f664254SPatrick Williams const sd_bus_error* sd_bus_message_get_error(sd_bus_message* m) override 364*7f664254SPatrick Williams { 365*7f664254SPatrick Williams return ::sd_bus_message_get_error(m); 366*7f664254SPatrick Williams } 367*7f664254SPatrick Williams 368*7f664254SPatrick Williams int sd_bus_message_is_method_call(sd_bus_message* m, const char* interface, 369*7f664254SPatrick Williams const char* member) override 370*7f664254SPatrick Williams { 371*7f664254SPatrick Williams return ::sd_bus_message_is_method_call(m, interface, member); 372*7f664254SPatrick Williams } 373*7f664254SPatrick Williams 374*7f664254SPatrick Williams int sd_bus_message_is_method_error(sd_bus_message* m, 375*7f664254SPatrick Williams const char* name) override 376*7f664254SPatrick Williams { 377*7f664254SPatrick Williams return ::sd_bus_message_is_method_error(m, name); 378*7f664254SPatrick Williams } 379*7f664254SPatrick Williams 380*7f664254SPatrick Williams int sd_bus_message_is_signal(sd_bus_message* m, const char* interface, 381*7f664254SPatrick Williams const char* member) override 382*7f664254SPatrick Williams { 383*7f664254SPatrick Williams return ::sd_bus_message_is_signal(m, interface, member); 384*7f664254SPatrick Williams } 385*7f664254SPatrick Williams 386*7f664254SPatrick Williams int sd_bus_message_new_method_call(sd_bus* bus, sd_bus_message** m, 387*7f664254SPatrick Williams const char* destination, 388*7f664254SPatrick Williams const char* path, const char* interface, 389*7f664254SPatrick Williams const char* member) override 390*7f664254SPatrick Williams { 391*7f664254SPatrick Williams return ::sd_bus_message_new_method_call(bus, m, destination, path, 392*7f664254SPatrick Williams interface, member); 393*7f664254SPatrick Williams } 394*7f664254SPatrick Williams 395*7f664254SPatrick Williams int sd_bus_message_new_method_return(sd_bus_message* call, 396*7f664254SPatrick Williams sd_bus_message** m) override 397*7f664254SPatrick Williams { 398*7f664254SPatrick Williams return ::sd_bus_message_new_method_return(call, m); 399*7f664254SPatrick Williams } 400*7f664254SPatrick Williams 401*7f664254SPatrick Williams int sd_bus_message_new_method_errno(sd_bus_message* call, 402*7f664254SPatrick Williams sd_bus_message** m, int error, 403*7f664254SPatrick Williams const sd_bus_error* p) override 404*7f664254SPatrick Williams { 405*7f664254SPatrick Williams return ::sd_bus_message_new_method_errno(call, m, error, p); 406*7f664254SPatrick Williams } 407*7f664254SPatrick Williams 408*7f664254SPatrick Williams int sd_bus_message_new_signal(sd_bus* bus, sd_bus_message** m, 409*7f664254SPatrick Williams const char* path, const char* interface, 410*7f664254SPatrick Williams const char* member) override 411*7f664254SPatrick Williams { 412*7f664254SPatrick Williams return ::sd_bus_message_new_signal(bus, m, path, interface, member); 413*7f664254SPatrick Williams } 414*7f664254SPatrick Williams 415*7f664254SPatrick Williams int sd_bus_message_open_container(sd_bus_message* m, char type, 416*7f664254SPatrick Williams const char* contents) override 417*7f664254SPatrick Williams { 418*7f664254SPatrick Williams return ::sd_bus_message_open_container(m, type, contents); 419*7f664254SPatrick Williams } 420*7f664254SPatrick Williams 421*7f664254SPatrick Williams int sd_bus_message_read_basic(sd_bus_message* m, char type, 422*7f664254SPatrick Williams void* p) override 423*7f664254SPatrick Williams { 424*7f664254SPatrick Williams return ::sd_bus_message_read_basic(m, type, p); 425*7f664254SPatrick Williams } 426*7f664254SPatrick Williams 427*7f664254SPatrick Williams sd_bus_message* sd_bus_message_ref(sd_bus_message* m) override 428*7f664254SPatrick Williams { 429*7f664254SPatrick Williams return ::sd_bus_message_ref(m); 430*7f664254SPatrick Williams } 431*7f664254SPatrick Williams 432*7f664254SPatrick Williams int sd_bus_message_skip(sd_bus_message* m, const char* types) override 433*7f664254SPatrick Williams { 434*7f664254SPatrick Williams return ::sd_bus_message_skip(m, types); 435*7f664254SPatrick Williams } 436*7f664254SPatrick Williams 437*7f664254SPatrick Williams int sd_bus_message_verify_type(sd_bus_message* m, char type, 438*7f664254SPatrick Williams const char* contents) override 439*7f664254SPatrick Williams { 440*7f664254SPatrick Williams return ::sd_bus_message_verify_type(m, type, contents); 441*7f664254SPatrick Williams } 442*7f664254SPatrick Williams 443*7f664254SPatrick Williams int sd_bus_process(sd_bus* bus, sd_bus_message** r) override 444*7f664254SPatrick Williams { 445*7f664254SPatrick Williams return ::sd_bus_process(bus, r); 446*7f664254SPatrick Williams } 447*7f664254SPatrick Williams 448*7f664254SPatrick Williams sd_bus* sd_bus_ref(sd_bus* bus) override 449*7f664254SPatrick Williams { 450*7f664254SPatrick Williams return ::sd_bus_ref(bus); 451*7f664254SPatrick Williams } 452*7f664254SPatrick Williams 453*7f664254SPatrick Williams int sd_bus_request_name(sd_bus* bus, const char* name, 454*7f664254SPatrick Williams uint64_t flags) override 455*7f664254SPatrick Williams { 456*7f664254SPatrick Williams return ::sd_bus_request_name(bus, name, flags); 457*7f664254SPatrick Williams } 458*7f664254SPatrick Williams 459*7f664254SPatrick Williams int sd_bus_send(sd_bus* bus, sd_bus_message* m, uint64_t* cookie) override 460*7f664254SPatrick Williams { 461*7f664254SPatrick Williams return ::sd_bus_send(bus, m, cookie); 462*7f664254SPatrick Williams } 463*7f664254SPatrick Williams 464*7f664254SPatrick Williams sd_bus* sd_bus_unref(sd_bus* bus) override 465*7f664254SPatrick Williams { 466*7f664254SPatrick Williams return ::sd_bus_unref(bus); 467*7f664254SPatrick Williams } 468*7f664254SPatrick Williams 469*7f664254SPatrick Williams sd_bus* sd_bus_flush_close_unref(sd_bus* bus) override 470*7f664254SPatrick Williams { 471*7f664254SPatrick Williams return ::sd_bus_flush_close_unref(bus); 472*7f664254SPatrick Williams } 473*7f664254SPatrick Williams 474*7f664254SPatrick Williams int sd_bus_flush(sd_bus* bus) override 475*7f664254SPatrick Williams { 476*7f664254SPatrick Williams return ::sd_bus_flush(bus); 477*7f664254SPatrick Williams } 478*7f664254SPatrick Williams 479*7f664254SPatrick Williams void sd_bus_close(sd_bus* bus) override 480*7f664254SPatrick Williams { 481*7f664254SPatrick Williams ::sd_bus_close(bus); 482*7f664254SPatrick Williams } 483*7f664254SPatrick Williams 484*7f664254SPatrick Williams int sd_bus_wait(sd_bus* bus, uint64_t timeout_usec) override 485*7f664254SPatrick Williams { 486*7f664254SPatrick Williams return ::sd_bus_wait(bus, timeout_usec); 487*7f664254SPatrick Williams } 488*7f664254SPatrick Williams }; 489*7f664254SPatrick Williams 490*7f664254SPatrick Williams extern SdBusImpl sdbus_impl; 491*7f664254SPatrick Williams 492*7f664254SPatrick Williams } // namespace sdbusplus 493