aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/menuitem-marshal.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-02-24 12:40:30 -0600
committerTed Gould <ted@gould.cx>2011-02-24 12:40:30 -0600
commit23af95956cddc1d3cb858d537a2c85cb0f0d0851 (patch)
tree29697cfc2abd5de2af60c34dd1c82f30100886ef /libdbusmenu-glib/menuitem-marshal.c
parent1153cfedbbc67c667e117d18d5bf15a3a5a31a2a (diff)
parente13383fbe886022ec4183ce55f8108ef1c68185d (diff)
downloadlibdbusmenu-23af95956cddc1d3cb858d537a2c85cb0f0d0851.tar.gz
libdbusmenu-23af95956cddc1d3cb858d537a2c85cb0f0d0851.tar.bz2
libdbusmenu-23af95956cddc1d3cb858d537a2c85cb0f0d0851.zip
* Upstream Merge
* Add a signal on the menuitem for generic event support * Handle the case of a single NULL entry as well. * Not checking defaults when value is NULL * Add the 'type' variable first when processing new menuitems * Protection from unref'ing NULL variants * Only send the requested properties and request fewer * Add in a defaults database * Only send property updates if the menu item has been seen on the bus. * Add a property for text direction. * Add a property for needing attention.
Diffstat (limited to 'libdbusmenu-glib/menuitem-marshal.c')
-rw-r--r--libdbusmenu-glib/menuitem-marshal.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/libdbusmenu-glib/menuitem-marshal.c b/libdbusmenu-glib/menuitem-marshal.c
index bb2b6d7..de227fd 100644
--- a/libdbusmenu-glib/menuitem-marshal.c
+++ b/libdbusmenu-glib/menuitem-marshal.c
@@ -168,3 +168,46 @@ _dbusmenu_menuitem_marshal_VOID__OBJECT_UINT (GClosure *closure,
/* VOID:UINT (./menuitem-marshal.list:6) */
+/* BOOLEAN:STRING,VARIANT,UINT (./menuitem-marshal.list:7) */
+void
+_dbusmenu_menuitem_marshal_BOOLEAN__STRING_VARIANT_UINT (GClosure *closure,
+ GValue *return_value G_GNUC_UNUSED,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer invocation_hint G_GNUC_UNUSED,
+ gpointer marshal_data)
+{
+ typedef gboolean (*GMarshalFunc_BOOLEAN__STRING_VARIANT_UINT) (gpointer data1,
+ gpointer arg_1,
+ gpointer arg_2,
+ guint arg_3,
+ gpointer data2);
+ register GMarshalFunc_BOOLEAN__STRING_VARIANT_UINT callback;
+ register GCClosure *cc = (GCClosure*) closure;
+ register gpointer data1, data2;
+ gboolean v_return;
+
+ g_return_if_fail (return_value != NULL);
+ g_return_if_fail (n_param_values == 4);
+
+ if (G_CCLOSURE_SWAP_DATA (closure))
+ {
+ data1 = closure->data;
+ data2 = g_value_peek_pointer (param_values + 0);
+ }
+ else
+ {
+ data1 = g_value_peek_pointer (param_values + 0);
+ data2 = closure->data;
+ }
+ callback = (GMarshalFunc_BOOLEAN__STRING_VARIANT_UINT) (marshal_data ? marshal_data : cc->callback);
+
+ v_return = callback (data1,
+ g_marshal_value_peek_string (param_values + 1),
+ g_marshal_value_peek_variant (param_values + 2),
+ g_marshal_value_peek_uint (param_values + 3),
+ data2);
+
+ g_value_set_boolean (return_value, v_return);
+}
+