summaryrefslogtreecommitdiffstats
path: root/test/glib/test-service-glib.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/glib/test-service-glib.c')
-rw-r--r--test/glib/test-service-glib.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/test/glib/test-service-glib.c b/test/glib/test-service-glib.c
index cad6f168..9b1be0ad 100644
--- a/test/glib/test-service-glib.c
+++ b/test/glib/test-service-glib.c
@@ -4,6 +4,43 @@
#include <stdlib.h>
#include <string.h>
+typedef struct MyObject MyObject;
+typedef struct MyObjectClass MyObjectClass;
+
+GType my_object_get_type (void);
+
+struct MyObject
+{
+ GObject parent;
+};
+
+struct MyObjectClass
+{
+ GObjectClass parent;
+};
+
+#define MY_TYPE_OBJECT (my_object_get_type ())
+#define MY_OBJECT_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), MY_TYPE_OBJECT, MyObject))
+#define MY_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MY_TYPE_OBJECT, MyObjectClass))
+#define MY_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), MY_TYPE_OBJECT))
+#define MY_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MY_TYPE_OBJECT))
+#define MY_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MY_TYPE_OBJECT, MyObjectClass))
+
+G_DEFINE_TYPE(MyObject, my_object, G_TYPE_OBJECT)
+
+
+static void
+my_object_init (MyObject *obj)
+{
+
+}
+
+static void
+my_object_class_init (MyObjectClass *obj_class)
+{
+
+}
+
static GMainLoop *loop;
int
@@ -11,6 +48,7 @@ main (int argc, char **argv)
{
DBusGConnection *connection;
GError *error;
+ GObject *obj;
g_type_init ();
@@ -27,7 +65,15 @@ main (int argc, char **argv)
exit (1);
}
+ obj = g_object_new (MY_TYPE_OBJECT, NULL);
+
+ dbus_g_connection_register_g_object (connection,
+ "/org/freedesktop/my_test_object",
+ obj);
+ g_print ("GLib test service entering main loop\n");
+
+ g_main_loop_run (loop);
g_print ("Successfully completed %s\n", argv[0]);