summaryrefslogtreecommitdiffstats
path: root/glib/test-dbus-glib.c
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@codefactory.se>2002-12-16 00:26:05 +0000
committerAnders Carlsson <andersca@codefactory.se>2002-12-16 00:26:05 +0000
commitc531a709f3b0f05c0a95aa932045d6e2209ae7b9 (patch)
tree22e198a761c88fb8ed13a382e943fb25b3bcb38c /glib/test-dbus-glib.c
parent3327ecfdcf6d3cd36b8b739282e9c0d2b768567a (diff)
2002-12-16 Anders Carlsson <andersca@codefactory.se>
* Makefile.am: * configure.in: Add GLib checks and fixup .pc files * glib/Makefile.am: * glib/dbus-glib.h: * glib/dbus-gmain.c: (gdbus_connection_prepare), (gdbus_connection_check), (gdbus_connection_dispatch), (gdbus_add_connection_watch), (gdbus_remove_connection_watch), (dbus_connection_gsource_new): * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free), (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init): * glib/test-dbus-glib.c: (message_handler), (main): Add GLib support.
Diffstat (limited to 'glib/test-dbus-glib.c')
-rw-r--r--glib/test-dbus-glib.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/glib/test-dbus-glib.c b/glib/test-dbus-glib.c
new file mode 100644
index 00000000..3637678d
--- /dev/null
+++ b/glib/test-dbus-glib.c
@@ -0,0 +1,60 @@
+#include "dbus-glib.h"
+#include <stdio.h>
+
+GMainLoop *loop;
+
+static void
+message_handler (DBusConnection *connection,
+ DBusMessage *message, gpointer user_data)
+{
+ static int count = 0;
+ DBusMessage *reply;
+
+ reply = dbus_message_new ();
+ dbus_connection_send_message (connection,
+ reply,
+ NULL);
+ dbus_message_unref (reply);
+ count += 1;
+
+ if (count > 100)
+ {
+ printf ("Saw %d messages, exiting\n", count);
+ g_main_loop_quit (loop);
+ }
+}
+
+int
+main (int argc, char **argv)
+{
+ GSource *source;
+
+ DBusConnection *connection;
+ DBusResultCode result;
+ DBusMessage *message;
+
+ loop = g_main_loop_new (NULL, FALSE);
+
+ connection = dbus_connection_open (argv[1], &result);
+ if (connection == NULL)
+ {
+ fprintf (stderr, "Failed to open connection to %s: %s\n", argv[1],
+ dbus_result_to_string (result));
+ return 1;
+ }
+
+ source = dbus_connection_gsource_new (connection);
+ g_source_attach (source, NULL);
+ g_source_set_callback (source, (GSourceFunc)message_handler, NULL, NULL);
+
+ message = dbus_message_new ();
+ dbus_connection_send_message (connection,
+ message,
+ NULL);
+ dbus_message_unref (message);
+
+
+ g_main_loop_run (loop);
+
+ return 0;
+}