diff options
author | Ted Gould <ted@gould.cx> | 2011-02-24 12:40:30 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2011-02-24 12:40:30 -0600 |
commit | 23af95956cddc1d3cb858d537a2c85cb0f0d0851 (patch) | |
tree | 29697cfc2abd5de2af60c34dd1c82f30100886ef /libdbusmenu-glib/menuitem-marshal.c | |
parent | 1153cfedbbc67c667e117d18d5bf15a3a5a31a2a (diff) | |
parent | e13383fbe886022ec4183ce55f8108ef1c68185d (diff) | |
download | libdbusmenu-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.c | 43 |
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); +} + |