From 442a94f43571746558f0242f54312929e1ee9f4e Mon Sep 17 00:00:00 2001 From: Job Feikens Date: Tue, 18 Jun 2024 10:39:47 +0200 Subject: [PATCH] Add signature iter methods to libdbus-sys --- libdbus-sys/src/lib.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libdbus-sys/src/lib.rs b/libdbus-sys/src/lib.rs index c5653f2b..bde139e3 100644 --- a/libdbus-sys/src/lib.rs +++ b/libdbus-sys/src/lib.rs @@ -127,6 +127,16 @@ pub struct DBusMessageIter { pub pad3: *mut c_void, } +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DBusSignatureIter { + pub dummy1: *mut c_void, + pub dummy2: *mut c_void, + pub dummy8: u32, + pub dummy12: c_int, + pub dummy17: c_int, +} + pub type DBusHandleMessageFunction = Option DBusHandlerResult>; pub type DBusAddWatchFunction = Option u32>; @@ -258,6 +268,13 @@ extern "C" { contained_signature: *const c_char, sub: *mut DBusMessageIter) -> u32; pub fn dbus_message_iter_close_container(iter: *mut DBusMessageIter, sub: *mut DBusMessageIter) -> u32; + pub fn dbus_signature_iter_init(iter: *mut DBusSignatureIter, signature: *const c_char); + pub fn dbus_signature_iter_get_current_type(iter: *const DBusSignatureIter) -> c_int; + pub fn dbus_signature_iter_get_signature(iter: *const DBusSignatureIter) -> *mut c_char; + pub fn dbus_signature_iter_get_element_type(iter: *const DBusSignatureIter) -> c_int; + pub fn dbus_signature_iter_next(iter: *mut DBusSignatureIter) -> bool; + pub fn dbus_signature_iter_recurse(iter: *const DBusSignatureIter, subiter: *mut DBusSignatureIter); + pub fn dbus_free(memory: *mut c_void); pub fn dbus_free_string_array(str_array: *mut *mut c_char) -> c_void;