dbusmenu_glib_sys/
lib.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from /nix/store/39vgdpiqy94qwa8rraha7q4wcd8hdwcj-dbusmenu-gtk3-gir
3// from /nix/store/ahri9v0b3c1jyls6691sjfzf2s461fzz-source
4// DO NOT EDIT
5
6#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
7#![allow(clippy::approx_constant, clippy::type_complexity, clippy::unreadable_literal, clippy::upper_case_acronyms)]
8#![cfg_attr(feature = "dox", feature(doc_cfg))]
9
10
11#[allow(unused_imports)]
12use libc::{c_int, c_char, c_uchar, c_float, c_uint, c_double,
13    c_short, c_ushort, c_long, c_ulong,
14    c_void, size_t, ssize_t, intptr_t, uintptr_t, FILE};
15
16#[allow(unused_imports)]
17use glib::{gboolean, gconstpointer, gpointer, GType};
18
19// Enums
20pub type DbusmenuStatus = c_int;
21pub const DBUSMENU_STATUS_NORMAL: DbusmenuStatus = 0;
22pub const DBUSMENU_STATUS_NOTICE: DbusmenuStatus = 1;
23
24pub type DbusmenuTextDirection = c_int;
25pub const DBUSMENU_TEXT_DIRECTION_NONE: DbusmenuTextDirection = 0;
26pub const DBUSMENU_TEXT_DIRECTION_LTR: DbusmenuTextDirection = 1;
27pub const DBUSMENU_TEXT_DIRECTION_RTL: DbusmenuTextDirection = 2;
28
29// Constants
30pub const DBUSMENU_CLIENT_PROP_DBUS_NAME: &[u8] = b"dbus-name\0";
31pub const DBUSMENU_CLIENT_PROP_DBUS_OBJECT: &[u8] = b"dbus-object\0";
32pub const DBUSMENU_CLIENT_PROP_GROUP_EVENTS: &[u8] = b"group-events\0";
33pub const DBUSMENU_CLIENT_PROP_STATUS: &[u8] = b"status\0";
34pub const DBUSMENU_CLIENT_PROP_TEXT_DIRECTION: &[u8] = b"text-direction\0";
35pub const DBUSMENU_CLIENT_SIGNAL_EVENT_RESULT: &[u8] = b"event-result\0";
36pub const DBUSMENU_CLIENT_SIGNAL_ICON_THEME_DIRS_CHANGED: &[u8] = b"icon-theme-dirs-changed\0";
37pub const DBUSMENU_CLIENT_SIGNAL_ITEM_ACTIVATE: &[u8] = b"item-activate\0";
38pub const DBUSMENU_CLIENT_SIGNAL_LAYOUT_UPDATED: &[u8] = b"layout-updated\0";
39pub const DBUSMENU_CLIENT_SIGNAL_NEW_MENUITEM: &[u8] = b"new-menuitem\0";
40pub const DBUSMENU_CLIENT_SIGNAL_ROOT_CHANGED: &[u8] = b"root-changed\0";
41pub const DBUSMENU_CLIENT_TYPES_DEFAULT: &[u8] = b"standard\0";
42pub const DBUSMENU_CLIENT_TYPES_IMAGE: &[u8] = b"standard\0";
43pub const DBUSMENU_CLIENT_TYPES_SEPARATOR: &[u8] = b"separator\0";
44pub const DBUSMENU_MENUITEM_CHILD_DISPLAY_SUBMENU: &[u8] = b"submenu\0";
45pub const DBUSMENU_MENUITEM_DISPOSITION_ALERT: &[u8] = b"alert\0";
46pub const DBUSMENU_MENUITEM_DISPOSITION_INFORMATIVE: &[u8] = b"informative\0";
47pub const DBUSMENU_MENUITEM_DISPOSITION_NORMAL: &[u8] = b"normal\0";
48pub const DBUSMENU_MENUITEM_DISPOSITION_WARNING: &[u8] = b"warning\0";
49pub const DBUSMENU_MENUITEM_EVENT_ACTIVATED: &[u8] = b"clicked\0";
50pub const DBUSMENU_MENUITEM_EVENT_CLOSED: &[u8] = b"closed\0";
51pub const DBUSMENU_MENUITEM_EVENT_OPENED: &[u8] = b"opened\0";
52pub const DBUSMENU_MENUITEM_ICON_NAME_BLANK: &[u8] = b"blank-icon\0";
53pub const DBUSMENU_MENUITEM_PROP_ACCESSIBLE_DESC: &[u8] = b"accessible-desc\0";
54pub const DBUSMENU_MENUITEM_PROP_CHILD_DISPLAY: &[u8] = b"children-display\0";
55pub const DBUSMENU_MENUITEM_PROP_DISPOSITION: &[u8] = b"disposition\0";
56pub const DBUSMENU_MENUITEM_PROP_ENABLED: &[u8] = b"enabled\0";
57pub const DBUSMENU_MENUITEM_PROP_ICON_DATA: &[u8] = b"icon-data\0";
58pub const DBUSMENU_MENUITEM_PROP_ICON_NAME: &[u8] = b"icon-name\0";
59pub const DBUSMENU_MENUITEM_PROP_LABEL: &[u8] = b"label\0";
60pub const DBUSMENU_MENUITEM_PROP_SHORTCUT: &[u8] = b"shortcut\0";
61pub const DBUSMENU_MENUITEM_PROP_TOGGLE_STATE: &[u8] = b"toggle-state\0";
62pub const DBUSMENU_MENUITEM_PROP_TOGGLE_TYPE: &[u8] = b"toggle-type\0";
63pub const DBUSMENU_MENUITEM_PROP_TYPE: &[u8] = b"type\0";
64pub const DBUSMENU_MENUITEM_PROP_VISIBLE: &[u8] = b"visible\0";
65pub const DBUSMENU_MENUITEM_SHORTCUT_ALT: &[u8] = b"Alt\0";
66pub const DBUSMENU_MENUITEM_SHORTCUT_CONTROL: &[u8] = b"Control\0";
67pub const DBUSMENU_MENUITEM_SHORTCUT_SHIFT: &[u8] = b"Shift\0";
68pub const DBUSMENU_MENUITEM_SHORTCUT_SUPER: &[u8] = b"Super\0";
69pub const DBUSMENU_MENUITEM_SIGNAL_ABOUT_TO_SHOW: &[u8] = b"about-to-show\0";
70pub const DBUSMENU_MENUITEM_SIGNAL_CHILD_ADDED: &[u8] = b"child-added\0";
71pub const DBUSMENU_MENUITEM_SIGNAL_CHILD_MOVED: &[u8] = b"child-moved\0";
72pub const DBUSMENU_MENUITEM_SIGNAL_CHILD_REMOVED: &[u8] = b"child-removed\0";
73pub const DBUSMENU_MENUITEM_SIGNAL_EVENT: &[u8] = b"event\0";
74pub const DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED: &[u8] = b"item-activated\0";
75pub const DBUSMENU_MENUITEM_SIGNAL_PROPERTY_CHANGED: &[u8] = b"property-changed\0";
76pub const DBUSMENU_MENUITEM_SIGNAL_REALIZED: &[u8] = b"realized\0";
77pub const DBUSMENU_MENUITEM_SIGNAL_SHOW_TO_USER: &[u8] = b"show-to-user\0";
78pub const DBUSMENU_MENUITEM_TOGGLE_CHECK: &[u8] = b"checkmark\0";
79pub const DBUSMENU_MENUITEM_TOGGLE_RADIO: &[u8] = b"radio\0";
80pub const DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED: c_int = 1;
81pub const DBUSMENU_MENUITEM_TOGGLE_STATE_UNCHECKED: c_int = 0;
82pub const DBUSMENU_MENUITEM_TOGGLE_STATE_UNKNOWN: c_int = -1;
83pub const DBUSMENU_SERVER_PROP_DBUS_OBJECT: &[u8] = b"dbus-object\0";
84pub const DBUSMENU_SERVER_PROP_ROOT_NODE: &[u8] = b"root-node\0";
85pub const DBUSMENU_SERVER_PROP_STATUS: &[u8] = b"status\0";
86pub const DBUSMENU_SERVER_PROP_TEXT_DIRECTION: &[u8] = b"text-direction\0";
87pub const DBUSMENU_SERVER_PROP_VERSION: &[u8] = b"version\0";
88pub const DBUSMENU_SERVER_SIGNAL_ID_PROP_UPDATE: &[u8] = b"item-property-updated\0";
89pub const DBUSMENU_SERVER_SIGNAL_ID_UPDATE: &[u8] = b"item-updated\0";
90pub const DBUSMENU_SERVER_SIGNAL_ITEM_ACTIVATION: &[u8] = b"item-activation-requested\0";
91pub const DBUSMENU_SERVER_SIGNAL_LAYOUT_UPDATED: &[u8] = b"layout-updated\0";
92
93// Callbacks
94pub type DbusmenuClientTypeHandler = Option<unsafe extern "C" fn(*mut DbusmenuMenuitem, *mut DbusmenuMenuitem, *mut DbusmenuClient, gpointer) -> gboolean>;
95pub type dbusmenu_menuitem_about_to_show_cb = Option<unsafe extern "C" fn(*mut DbusmenuMenuitem, gpointer)>;
96pub type dbusmenu_menuitem_buildvariant_slot_t = Option<unsafe extern "C" fn(*mut DbusmenuMenuitem, *mut *mut c_char) -> *mut glib::GVariant>;
97
98// Records
99#[derive(Copy, Clone)]
100#[repr(C)]
101pub struct DbusmenuClientClass {
102    pub parent_class: gobject::GObjectClass,
103    pub layout_updated: Option<unsafe extern "C" fn()>,
104    pub root_changed: Option<unsafe extern "C" fn(*mut DbusmenuMenuitem)>,
105    pub new_menuitem: Option<unsafe extern "C" fn(*mut DbusmenuMenuitem)>,
106    pub item_activate: Option<unsafe extern "C" fn(*mut DbusmenuMenuitem, c_uint)>,
107    pub event_result: Option<unsafe extern "C" fn(*mut DbusmenuMenuitem, *mut c_char, *mut glib::GVariant, c_uint, *mut glib::GError)>,
108    pub icon_theme_dirs: Option<unsafe extern "C" fn(*mut DbusmenuMenuitem, gpointer, *mut glib::GError)>,
109    pub reserved1: Option<unsafe extern "C" fn()>,
110    pub reserved2: Option<unsafe extern "C" fn()>,
111    pub reserved3: Option<unsafe extern "C" fn()>,
112    pub reserved4: Option<unsafe extern "C" fn()>,
113    pub reserved5: Option<unsafe extern "C" fn()>,
114}
115
116impl ::std::fmt::Debug for DbusmenuClientClass {
117    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
118        f.debug_struct(&format!("DbusmenuClientClass @ {self:p}"))
119         .field("parent_class", &self.parent_class)
120         .field("layout_updated", &self.layout_updated)
121         .field("root_changed", &self.root_changed)
122         .field("new_menuitem", &self.new_menuitem)
123         .field("item_activate", &self.item_activate)
124         .field("event_result", &self.event_result)
125         .field("icon_theme_dirs", &self.icon_theme_dirs)
126         .field("reserved1", &self.reserved1)
127         .field("reserved2", &self.reserved2)
128         .field("reserved3", &self.reserved3)
129         .field("reserved4", &self.reserved4)
130         .field("reserved5", &self.reserved5)
131         .finish()
132    }
133}
134
135#[repr(C)]
136pub struct _DbusmenuClientPrivate {
137    _data: [u8; 0],
138    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
139}
140
141pub type DbusmenuClientPrivate = *mut _DbusmenuClientPrivate;
142
143#[derive(Copy, Clone)]
144#[repr(C)]
145pub struct DbusmenuMenuitemClass {
146    pub parent_class: gobject::GObjectClass,
147    pub property_changed: Option<unsafe extern "C" fn(*mut c_char, *mut glib::GVariant)>,
148    pub item_activated: Option<unsafe extern "C" fn(c_uint)>,
149    pub child_added: Option<unsafe extern "C" fn(*mut DbusmenuMenuitem, c_uint)>,
150    pub child_removed: Option<unsafe extern "C" fn(*mut DbusmenuMenuitem)>,
151    pub child_moved: Option<unsafe extern "C" fn(*mut DbusmenuMenuitem, c_uint, c_uint)>,
152    pub realized: Option<unsafe extern "C" fn()>,
153    pub buildvariant: dbusmenu_menuitem_buildvariant_slot_t,
154    pub handle_event: Option<unsafe extern "C" fn(*mut DbusmenuMenuitem, *const c_char, *mut glib::GVariant, c_uint)>,
155    pub send_about_to_show: Option<unsafe extern "C" fn(*mut DbusmenuMenuitem, dbusmenu_menuitem_about_to_show_cb, gpointer)>,
156    pub show_to_user: Option<unsafe extern "C" fn(*mut DbusmenuMenuitem, c_uint, gpointer)>,
157    pub about_to_show: Option<unsafe extern "C" fn() -> gboolean>,
158    pub event: Option<unsafe extern "C" fn(*const c_char, *mut glib::GVariant, c_uint)>,
159    pub reserved1: Option<unsafe extern "C" fn()>,
160    pub reserved2: Option<unsafe extern "C" fn()>,
161    pub reserved3: Option<unsafe extern "C" fn()>,
162    pub reserved4: Option<unsafe extern "C" fn()>,
163    pub reserved5: Option<unsafe extern "C" fn()>,
164}
165
166impl ::std::fmt::Debug for DbusmenuMenuitemClass {
167    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
168        f.debug_struct(&format!("DbusmenuMenuitemClass @ {self:p}"))
169         .field("parent_class", &self.parent_class)
170         .field("property_changed", &self.property_changed)
171         .field("item_activated", &self.item_activated)
172         .field("child_added", &self.child_added)
173         .field("child_removed", &self.child_removed)
174         .field("child_moved", &self.child_moved)
175         .field("realized", &self.realized)
176         .field("buildvariant", &self.buildvariant)
177         .field("handle_event", &self.handle_event)
178         .field("send_about_to_show", &self.send_about_to_show)
179         .field("show_to_user", &self.show_to_user)
180         .field("about_to_show", &self.about_to_show)
181         .field("event", &self.event)
182         .field("reserved1", &self.reserved1)
183         .field("reserved2", &self.reserved2)
184         .field("reserved3", &self.reserved3)
185         .field("reserved4", &self.reserved4)
186         .field("reserved5", &self.reserved5)
187         .finish()
188    }
189}
190
191#[repr(C)]
192pub struct _DbusmenuMenuitemPrivate {
193    _data: [u8; 0],
194    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
195}
196
197pub type DbusmenuMenuitemPrivate = *mut _DbusmenuMenuitemPrivate;
198
199#[derive(Copy, Clone)]
200#[repr(C)]
201pub struct DbusmenuMenuitemProxyClass {
202    pub parent_class: DbusmenuMenuitemClass,
203    pub reserved1: Option<unsafe extern "C" fn()>,
204    pub reserved2: Option<unsafe extern "C" fn()>,
205    pub reserved3: Option<unsafe extern "C" fn()>,
206    pub reserved4: Option<unsafe extern "C" fn()>,
207}
208
209impl ::std::fmt::Debug for DbusmenuMenuitemProxyClass {
210    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
211        f.debug_struct(&format!("DbusmenuMenuitemProxyClass @ {self:p}"))
212         .field("parent_class", &self.parent_class)
213         .field("reserved1", &self.reserved1)
214         .field("reserved2", &self.reserved2)
215         .field("reserved3", &self.reserved3)
216         .field("reserved4", &self.reserved4)
217         .finish()
218    }
219}
220
221#[repr(C)]
222pub struct _DbusmenuMenuitemProxyPrivate {
223    _data: [u8; 0],
224    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
225}
226
227pub type DbusmenuMenuitemProxyPrivate = *mut _DbusmenuMenuitemProxyPrivate;
228
229#[derive(Copy, Clone)]
230#[repr(C)]
231pub struct DbusmenuServerClass {
232    pub parent_class: gobject::GObjectClass,
233    pub id_prop_update: Option<unsafe extern "C" fn(c_int, *mut c_char, *mut c_char)>,
234    pub id_update: Option<unsafe extern "C" fn(c_int)>,
235    pub layout_updated: Option<unsafe extern "C" fn(c_int)>,
236    pub item_activation: Option<unsafe extern "C" fn(c_int, c_uint)>,
237    pub reserved1: Option<unsafe extern "C" fn()>,
238    pub reserved2: Option<unsafe extern "C" fn()>,
239    pub reserved3: Option<unsafe extern "C" fn()>,
240    pub reserved4: Option<unsafe extern "C" fn()>,
241    pub reserved5: Option<unsafe extern "C" fn()>,
242    pub reserved6: Option<unsafe extern "C" fn()>,
243}
244
245impl ::std::fmt::Debug for DbusmenuServerClass {
246    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
247        f.debug_struct(&format!("DbusmenuServerClass @ {self:p}"))
248         .field("parent_class", &self.parent_class)
249         .field("id_prop_update", &self.id_prop_update)
250         .field("id_update", &self.id_update)
251         .field("layout_updated", &self.layout_updated)
252         .field("item_activation", &self.item_activation)
253         .field("reserved1", &self.reserved1)
254         .field("reserved2", &self.reserved2)
255         .field("reserved3", &self.reserved3)
256         .field("reserved4", &self.reserved4)
257         .field("reserved5", &self.reserved5)
258         .field("reserved6", &self.reserved6)
259         .finish()
260    }
261}
262
263#[repr(C)]
264pub struct _DbusmenuServerPrivate {
265    _data: [u8; 0],
266    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
267}
268
269pub type DbusmenuServerPrivate = *mut _DbusmenuServerPrivate;
270
271// Classes
272#[derive(Copy, Clone)]
273#[repr(C)]
274pub struct DbusmenuClient {
275    pub parent: gobject::GObject,
276    pub priv_: *mut DbusmenuClientPrivate,
277}
278
279impl ::std::fmt::Debug for DbusmenuClient {
280    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
281        f.debug_struct(&format!("DbusmenuClient @ {self:p}"))
282         .finish()
283    }
284}
285
286#[derive(Copy, Clone)]
287#[repr(C)]
288pub struct DbusmenuMenuitem {
289    pub parent: gobject::GObject,
290    pub priv_: *mut DbusmenuMenuitemPrivate,
291}
292
293impl ::std::fmt::Debug for DbusmenuMenuitem {
294    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
295        f.debug_struct(&format!("DbusmenuMenuitem @ {self:p}"))
296         .field("parent", &self.parent)
297         .field("priv_", &self.priv_)
298         .finish()
299    }
300}
301
302#[derive(Copy, Clone)]
303#[repr(C)]
304pub struct DbusmenuMenuitemProxy {
305    pub parent: DbusmenuMenuitem,
306    pub priv_: *mut DbusmenuMenuitemProxyPrivate,
307}
308
309impl ::std::fmt::Debug for DbusmenuMenuitemProxy {
310    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
311        f.debug_struct(&format!("DbusmenuMenuitemProxy @ {self:p}"))
312         .finish()
313    }
314}
315
316#[derive(Copy, Clone)]
317#[repr(C)]
318pub struct DbusmenuServer {
319    pub parent: gobject::GObject,
320    pub priv_: *mut DbusmenuServerPrivate,
321}
322
323impl ::std::fmt::Debug for DbusmenuServer {
324    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
325        f.debug_struct(&format!("DbusmenuServer @ {self:p}"))
326         .finish()
327    }
328}
329
330extern "C" {
331
332    //=========================================================================
333    // DbusmenuClient
334    //=========================================================================
335    pub fn dbusmenu_client_get_type() -> GType;
336    pub fn dbusmenu_client_new(name: *const c_char, object: *const c_char) -> *mut DbusmenuClient;
337    pub fn dbusmenu_client_add_type_handler(client: *mut DbusmenuClient, type_: *const c_char, newfunc: DbusmenuClientTypeHandler) -> gboolean;
338    pub fn dbusmenu_client_add_type_handler_full(client: *mut DbusmenuClient, type_: *const c_char, newfunc: DbusmenuClientTypeHandler, user_data: gpointer, destroy_func: glib::GDestroyNotify) -> gboolean;
339    pub fn dbusmenu_client_get_icon_paths(client: *mut DbusmenuClient) -> glib::GStrv;
340    pub fn dbusmenu_client_get_root(client: *mut DbusmenuClient) -> *mut DbusmenuMenuitem;
341    pub fn dbusmenu_client_get_status(client: *mut DbusmenuClient) -> DbusmenuStatus;
342    pub fn dbusmenu_client_get_text_direction(client: *mut DbusmenuClient) -> DbusmenuTextDirection;
343
344    //=========================================================================
345    // DbusmenuMenuitem
346    //=========================================================================
347    pub fn dbusmenu_menuitem_get_type() -> GType;
348    pub fn dbusmenu_menuitem_new() -> *mut DbusmenuMenuitem;
349    pub fn dbusmenu_menuitem_new_with_id(id: c_int) -> *mut DbusmenuMenuitem;
350    pub fn dbusmenu_menuitem_child_add_position(mi: *mut DbusmenuMenuitem, child: *mut DbusmenuMenuitem, position: c_uint) -> gboolean;
351    pub fn dbusmenu_menuitem_child_append(mi: *mut DbusmenuMenuitem, child: *mut DbusmenuMenuitem) -> gboolean;
352    pub fn dbusmenu_menuitem_child_delete(mi: *mut DbusmenuMenuitem, child: *mut DbusmenuMenuitem) -> gboolean;
353    pub fn dbusmenu_menuitem_child_find(mi: *mut DbusmenuMenuitem, id: c_int) -> *mut DbusmenuMenuitem;
354    pub fn dbusmenu_menuitem_child_prepend(mi: *mut DbusmenuMenuitem, child: *mut DbusmenuMenuitem) -> gboolean;
355    pub fn dbusmenu_menuitem_child_reorder(mi: *mut DbusmenuMenuitem, child: *mut DbusmenuMenuitem, position: c_uint) -> gboolean;
356    pub fn dbusmenu_menuitem_find_id(mi: *mut DbusmenuMenuitem, id: c_int) -> *mut DbusmenuMenuitem;
357    pub fn dbusmenu_menuitem_foreach(mi: *mut DbusmenuMenuitem, func: *mut gpointer, data: gpointer);
358    pub fn dbusmenu_menuitem_get_children(mi: *mut DbusmenuMenuitem) -> *mut glib::GList;
359    pub fn dbusmenu_menuitem_get_id(mi: *mut DbusmenuMenuitem) -> c_int;
360    pub fn dbusmenu_menuitem_get_parent(mi: *mut DbusmenuMenuitem) -> *mut DbusmenuMenuitem;
361    pub fn dbusmenu_menuitem_get_position(mi: *mut DbusmenuMenuitem, parent: *mut DbusmenuMenuitem) -> c_uint;
362    pub fn dbusmenu_menuitem_get_position_realized(mi: *mut DbusmenuMenuitem, parent: *mut DbusmenuMenuitem) -> c_uint;
363    pub fn dbusmenu_menuitem_get_root(mi: *mut DbusmenuMenuitem) -> gboolean;
364    pub fn dbusmenu_menuitem_handle_event(mi: *mut DbusmenuMenuitem, name: *const c_char, variant: *mut glib::GVariant, timestamp: c_uint);
365    pub fn dbusmenu_menuitem_properties_copy(mi: *mut DbusmenuMenuitem) -> *mut glib::GHashTable;
366    pub fn dbusmenu_menuitem_properties_list(mi: *mut DbusmenuMenuitem) -> *mut glib::GList;
367    pub fn dbusmenu_menuitem_property_exist(mi: *const DbusmenuMenuitem, property: *const c_char) -> gboolean;
368    pub fn dbusmenu_menuitem_property_get(mi: *const DbusmenuMenuitem, property: *const c_char) -> *const c_char;
369    pub fn dbusmenu_menuitem_property_get_bool(mi: *const DbusmenuMenuitem, property: *const c_char) -> gboolean;
370    pub fn dbusmenu_menuitem_property_get_byte_array(mi: *const DbusmenuMenuitem, property: *const c_char, nelements: *mut size_t) -> *const u8;
371    pub fn dbusmenu_menuitem_property_get_int(mi: *const DbusmenuMenuitem, property: *const c_char) -> c_int;
372    pub fn dbusmenu_menuitem_property_get_variant(mi: *const DbusmenuMenuitem, property: *const c_char) -> *mut glib::GVariant;
373    pub fn dbusmenu_menuitem_property_remove(mi: *mut DbusmenuMenuitem, property: *const c_char);
374    pub fn dbusmenu_menuitem_property_set(mi: *mut DbusmenuMenuitem, property: *const c_char, value: *const c_char) -> gboolean;
375    pub fn dbusmenu_menuitem_property_set_bool(mi: *mut DbusmenuMenuitem, property: *const c_char, value: gboolean) -> gboolean;
376    pub fn dbusmenu_menuitem_property_set_byte_array(mi: *mut DbusmenuMenuitem, property: *const c_char, value: *const u8, nelements: size_t) -> gboolean;
377    pub fn dbusmenu_menuitem_property_set_int(mi: *mut DbusmenuMenuitem, property: *const c_char, value: c_int) -> gboolean;
378    pub fn dbusmenu_menuitem_property_set_variant(mi: *mut DbusmenuMenuitem, property: *const c_char, value: *mut glib::GVariant) -> gboolean;
379    pub fn dbusmenu_menuitem_send_about_to_show(mi: *mut DbusmenuMenuitem, cb: *mut gpointer, cb_data: gpointer);
380    pub fn dbusmenu_menuitem_set_parent(mi: *mut DbusmenuMenuitem, parent: *mut DbusmenuMenuitem) -> gboolean;
381    pub fn dbusmenu_menuitem_set_root(mi: *mut DbusmenuMenuitem, root: gboolean);
382    pub fn dbusmenu_menuitem_show_to_user(mi: *mut DbusmenuMenuitem, timestamp: c_uint);
383    pub fn dbusmenu_menuitem_take_children(mi: *mut DbusmenuMenuitem) -> *mut glib::GList;
384    pub fn dbusmenu_menuitem_unparent(mi: *mut DbusmenuMenuitem) -> gboolean;
385
386    //=========================================================================
387    // DbusmenuMenuitemProxy
388    //=========================================================================
389    pub fn dbusmenu_menuitem_proxy_get_type() -> GType;
390    pub fn dbusmenu_menuitem_proxy_new(mi: *mut DbusmenuMenuitem) -> *mut DbusmenuMenuitemProxy;
391    pub fn dbusmenu_menuitem_proxy_get_wrapped(pmi: *mut DbusmenuMenuitemProxy) -> *mut DbusmenuMenuitem;
392
393    //=========================================================================
394    // DbusmenuServer
395    //=========================================================================
396    pub fn dbusmenu_server_get_type() -> GType;
397    pub fn dbusmenu_server_new(object: *const c_char) -> *mut DbusmenuServer;
398    pub fn dbusmenu_server_get_icon_paths(server: *mut DbusmenuServer) -> glib::GStrv;
399    pub fn dbusmenu_server_get_status(server: *mut DbusmenuServer) -> DbusmenuStatus;
400    pub fn dbusmenu_server_get_text_direction(server: *mut DbusmenuServer) -> DbusmenuTextDirection;
401    pub fn dbusmenu_server_set_icon_paths(server: *mut DbusmenuServer, icon_paths: glib::GStrv);
402    pub fn dbusmenu_server_set_root(self_: *mut DbusmenuServer, root: *mut DbusmenuMenuitem);
403    pub fn dbusmenu_server_set_status(server: *mut DbusmenuServer, status: DbusmenuStatus);
404    pub fn dbusmenu_server_set_text_direction(server: *mut DbusmenuServer, dir: DbusmenuTextDirection);
405
406}