aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-04-16 11:01:31 -0500
committerTed Gould <ted@canonical.com>2009-04-16 11:01:31 -0500
commitc6483c1852a4bf840b7609eb7872f46a73cb1638 (patch)
treee22620cbd801c82fa293a21f176d567208f66a6f /libdbusmenu-glib
parent702c3dc2dc729fd5af401ceffe6f1a9ae0276921 (diff)
downloadlibdbusmenu-c6483c1852a4bf840b7609eb7872f46a73cb1638.tar.gz
libdbusmenu-c6483c1852a4bf840b7609eb7872f46a73cb1638.tar.bz2
libdbusmenu-c6483c1852a4bf840b7609eb7872f46a73cb1638.zip
Putting in the public interfaces
Diffstat (limited to 'libdbusmenu-glib')
-rw-r--r--libdbusmenu-glib/server.c29
1 files changed, 28 insertions, 1 deletions
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;
+}
+
+
+