diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 7635db84..43e3f182 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -2965,6 +2965,7 @@ wrappeddbus: - dbus_message_get_args_valist - iFpppp: - dbus_connection_add_filter + - dbus_connection_register_fallback - dbus_pending_call_set_notify - iFppppp: - dbus_connection_try_register_fallback diff --git a/src/wrapped/generated/wrappeddbustypes.h b/src/wrapped/generated/wrappeddbustypes.h index 83ea5b82..057ca88d 100644 --- a/src/wrapped/generated/wrappeddbustypes.h +++ b/src/wrapped/generated/wrappeddbustypes.h @@ -38,6 +38,7 @@ typedef int32_t (*iFpppppp_t)(void*, void*, void*, void*, void*, void*); GO(dbus_message_get_args, iFppip_t) \ GO(dbus_message_get_args_valist, iFppiA_t) \ GO(dbus_connection_add_filter, iFpppp_t) \ + GO(dbus_connection_register_fallback, iFpppp_t) \ GO(dbus_pending_call_set_notify, iFpppp_t) \ GO(dbus_connection_try_register_fallback, iFppppp_t) \ GO(dbus_connection_try_register_object_path, iFppppp_t) \ diff --git a/src/wrapped/wrappeddbus.c b/src/wrapped/wrappeddbus.c index 2f7fdcd4..7f040916 100755 --- a/src/wrapped/wrappeddbus.c +++ b/src/wrapped/wrappeddbus.c @@ -560,6 +560,22 @@ EXPORT int my_dbus_connection_try_register_object_path(x64emu_t* emu, void* conn return my->dbus_connection_try_register_object_path(connection, path, vtable?&vt:NULL, data, error); } +EXPORT int my_dbus_connection_register_fallback(x64emu_t* emu, void* connection, void* path, my_DBusObjectPathVTable_t* vtable, void* data) +{ + (void)emu; + my_DBusObjectPathVTable_t vt = {0}; + if(vtable) { + vt.unregister_function = findDBusObjectPathUnregisterFunctionFct(vtable->unregister_function); + vt.message_function = findDBusObjectPathMessageFunctionFct(vtable->message_function); + vt.pad1 = finddbus_internal_padFct(vtable->pad1); + vt.pad2 = finddbus_internal_padFct(vtable->pad2); + vt.pad3 = finddbus_internal_padFct(vtable->pad3); + vt.pad4 = finddbus_internal_padFct(vtable->pad4); + } + + return my->dbus_connection_register_fallback(connection, path, vtable?&vt:NULL, data); +} + EXPORT int my_dbus_connection_set_data(x64emu_t* emu, void* connection, int slot, void* data, void* free_func) { (void)emu; diff --git a/src/wrapped/wrappeddbus_private.h b/src/wrapped/wrappeddbus_private.h index 5c546fd2..ccbe2a9b 100755 --- a/src/wrapped/wrappeddbus_private.h +++ b/src/wrapped/wrappeddbus_private.h @@ -54,7 +54,7 @@ GO(dbus_connection_preallocate_send, pFp) GO(dbus_connection_read_write, iFpi) GO(dbus_connection_read_write_dispatch, iFpi) GO(dbus_connection_ref, pFp) -//GO(dbus_connection_register_fallback, +GOM(dbus_connection_register_fallback, iFEpppp) //GO(dbus_connection_register_object_path, GOM(dbus_connection_remove_filter, vFEppp) GO(dbus_connection_return_message, vFpp)