From 02108a4b99cc120d0543c04e6c0067184ca53889 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Tue, 9 Feb 2010 22:14:47 -0600 Subject: Setting up a client, and handling root changes. --- tests/test-glib-proxy-proxy.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'tests/test-glib-proxy-proxy.c') diff --git a/tests/test-glib-proxy-proxy.c b/tests/test-glib-proxy-proxy.c index 781c13c..93a4b7a 100644 --- a/tests/test-glib-proxy-proxy.c +++ b/tests/test-glib-proxy-proxy.c @@ -7,12 +7,28 @@ #include #include +#include #include "test-glib-proxy.h" static DbusmenuServer * server = NULL; +static DbusmenuClient * client = NULL; static GMainLoop * mainloop = NULL; +void +root_changed (DbusmenuClient * client, DbusmenuMenuitem * newroot, gpointer user_data) +{ + if (newroot == NULL) { + g_debug("Root removed, exiting"); + g_main_loop_quit(mainloop); + return; + } + + DbusmenuMenuitem * pmi;// = dbusmenu_menuitem_proxy_new(newroot); + dbusmenu_server_set_root(server, DBUSMENU_MENUITEM(pmi)); + return; +} + int main (int argc, char ** argv) { @@ -47,6 +63,9 @@ main (int argc, char ** argv) } server = dbusmenu_server_new("/org/test"); + client = dbusmenu_client_new(myproxy, "/org/test"); + + g_signal_connect(client, DBUSMENU_CLIENT_SIGNAL_ROOT_CHANGED, G_CALLBACK(root_changed), server); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); -- cgit v1.2.3