aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2012-03-30 15:15:17 -0500
committerTed Gould <ted@gould.cx>2012-03-30 15:15:17 -0500
commitf99993dcaa21a84d5cb7c8bf91796d73c169a58f (patch)
treeaac38316374cae154cdcb06f0b106a66408fc57d /libdbusmenu-glib
parenta798c41eccf429327ea6b06d97c9a2878d4db4fe (diff)
downloadlibdbusmenu-f99993dcaa21a84d5cb7c8bf91796d73c169a58f.tar.gz
libdbusmenu-f99993dcaa21a84d5cb7c8bf91796d73c169a58f.tar.bz2
libdbusmenu-f99993dcaa21a84d5cb7c8bf91796d73c169a58f.zip
Setting up our callback function
Diffstat (limited to 'libdbusmenu-glib')
-rw-r--r--libdbusmenu-glib/client.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c
index 29a8565..1bc60a6 100644
--- a/libdbusmenu-glib/client.c
+++ b/libdbusmenu-glib/client.c
@@ -1554,6 +1554,19 @@ menuitem_call_cb (GObject * proxy, GAsyncResult * res, gpointer userdata)
return;
}
+/* The callback from the dbus message to pass events to the
+ to the server en masse */
+static void
+event_group_cb (GObject * proxy, GAsyncResult * res, gpointer user_data)
+{
+ GList * events = (GList *)user_data;
+
+
+ g_list_foreach(events, (GFunc)event_data_end, NULL);
+ g_list_free(events);
+ return;
+}
+
/* Turn an event structure into the variant builder form */
static void
events_to_builder (gpointer data, gpointer user_data)
@@ -1599,7 +1612,7 @@ event_idle_cb (gpointer user_data)
G_DBUS_CALL_FLAGS_NONE,
1000, /* timeout */
NULL, /* cancellable */
- NULL /* TODO group callback */, levents);
+ event_group_cb, levents);
} else {
g_dbus_proxy_call(priv->menuproxy,
"EventGroup",