From c6483c1852a4bf840b7609eb7872f46a73cb1638 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 16 Apr 2009 11:01:31 -0500 Subject: Putting in the public interfaces --- libdbusmenu-glib/server.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'libdbusmenu-glib') diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c index 149f2a0..7115eaa 100644 --- a/libdbusmenu-glib/server.c +++ b/libdbusmenu-glib/server.c @@ -68,7 +68,7 @@ dbusmenu_server_finalize (GObject *object) return; } -/* DBus Prototypes */ +/* DBus interface */ static gboolean _dbusmenu_server_get_property (void) { @@ -97,3 +97,30 @@ _dbusmenu_server_list_properties (void) return TRUE; } +/* Public Interface */ +DbusmenuServer * +dbusmenu_server_new (const gchar * object) +{ + if (object == NULL) { + object = "/org/freedesktop/dbusmenu"; + } + + DbusmenuServer * self = g_object_new(DBUSMENU_TYPE_SERVER, + "dbus-object-name", object, + NULL); + + return self; +} + +void +dbusmenu_server_set_root (DbusmenuServer * self, DbusmenuMenuitem * root) +{ + GValue rootvalue = {0}; + g_value_init(&rootvalue, G_TYPE_POINTER); + g_value_set_pointer(&rootvalue, root); + g_object_set_property(G_OBJECT(self), "root-node", &rootvalue); + return; +} + + + -- cgit v1.2.3