aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/menuitem.c
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-04-16 12:53:30 -0500
committerTed Gould <ted@canonical.com>2009-04-16 12:53:30 -0500
commit50f2ad0a5e649d43acdcdf06c0453f7a5733e953 (patch)
tree9a836575e2db244c1da0bd6bbb944b25a0df7a97 /libdbusmenu-glib/menuitem.c
parent67dfe0a32531fccc566dba9079673009d6c7f5c1 (diff)
downloadlibdbusmenu-50f2ad0a5e649d43acdcdf06c0453f7a5733e953.tar.gz
libdbusmenu-50f2ad0a5e649d43acdcdf06c0453f7a5733e953.tar.bz2
libdbusmenu-50f2ad0a5e649d43acdcdf06c0453f7a5733e953.zip
Adding in all the public functions as real functions and implementing a couple of children related ones.
Diffstat (limited to 'libdbusmenu-glib/menuitem.c')
-rw-r--r--libdbusmenu-glib/menuitem.c101
1 files changed, 94 insertions, 7 deletions
diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c
index c57acaa..5d22b32 100644
--- a/libdbusmenu-glib/menuitem.c
+++ b/libdbusmenu-glib/menuitem.c
@@ -3,46 +3,133 @@
#endif
#include "menuitem.h"
+/* Private */
typedef struct _DbusmenuMenuitemPrivate DbusmenuMenuitemPrivate;
-
struct _DbusmenuMenuitemPrivate
{
+ GList * children;
};
#define DBUSMENU_MENUITEM_GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), DBUSMENU_TYPE_MENUITEM, DbusmenuMenuitemPrivate))
+/* Prototypes */
static void dbusmenu_menuitem_class_init (DbusmenuMenuitemClass *klass);
static void dbusmenu_menuitem_init (DbusmenuMenuitem *self);
static void dbusmenu_menuitem_dispose (GObject *object);
static void dbusmenu_menuitem_finalize (GObject *object);
+/* GObject stuff */
G_DEFINE_TYPE (DbusmenuMenuitem, dbusmenu_menuitem, G_TYPE_OBJECT);
static void
dbusmenu_menuitem_class_init (DbusmenuMenuitemClass *klass)
{
-GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
-g_type_class_add_private (klass, sizeof (DbusmenuMenuitemPrivate));
+ g_type_class_add_private (klass, sizeof (DbusmenuMenuitemPrivate));
-object_class->dispose = dbusmenu_menuitem_dispose;
-object_class->finalize = dbusmenu_menuitem_finalize;
+ object_class->dispose = dbusmenu_menuitem_dispose;
+ object_class->finalize = dbusmenu_menuitem_finalize;
}
static void
dbusmenu_menuitem_init (DbusmenuMenuitem *self)
{
+ return;
}
static void
dbusmenu_menuitem_dispose (GObject *object)
{
-G_OBJECT_CLASS (dbusmenu_menuitem_parent_class)->dispose (object);
+
+ G_OBJECT_CLASS (dbusmenu_menuitem_parent_class)->dispose (object);
+ return;
}
static void
dbusmenu_menuitem_finalize (GObject *object)
{
-G_OBJECT_CLASS (dbusmenu_menuitem_parent_class)->finalize (object);
+
+ G_OBJECT_CLASS (dbusmenu_menuitem_parent_class)->finalize (object);
+ return;
+}
+
+/* Public interface */
+GList *
+dbusmenu_menuitem_get_children (DbusmenuMenuitem * mi)
+{
+ g_return_val_if_fail(DBUSMENU_IS_MENUITEM(mi), NULL);
+
+ DbusmenuMenuitemPrivate * priv = DBUSMENU_MENUITEM_GET_PRIVATE(mi);
+ return priv->children;
+}
+
+guint
+dbusmenu_menuitem_get_position (DbusmenuMenuitem * mi, DbusmenuMenuitem * parent)
+{
+ /* TODO: I'm not too happy returning zeros here. But that's all I've got */
+ g_return_val_if_fail(DBUSMENU_IS_MENUITEM(mi), 0);
+ g_return_val_if_fail(DBUSMENU_IS_MENUITEM(parent), 0);
+
+ GList * childs = dbusmenu_menuitem_get_children(parent);
+ guint count = 0;
+ for ( ; childs != NULL; childs = childs->next) {
+ if (childs->data == mi) break;
+ }
+
+ if (childs == NULL) return 0;
+
+ return count;
+}
+
+gboolean
+dbusmenu_menuitem_child_append (DbusmenuMenuitem * mi, DbusmenuMenuitem * child)
+{
+
+ return FALSE;
}
+
+gboolean
+dbusmenu_menuitem_child_delete (DbusmenuMenuitem * mi, DbusmenuMenuitem * child)
+{
+
+ return FALSE;
+}
+
+gboolean
+dbusmenu_menuitem_child_add_position (DbusmenuMenuitem * mi, DbusmenuMenuitem * child, guint position)
+{
+
+
+ return FALSE;
+}
+
+gboolean
+dbusmenu_menuitem_property_set (DbusmenuMenuitem * mi, const gchar * property, const gchar * value)
+{
+
+ return FALSE;
+}
+
+const gchar *
+dbusmenu_menuitem_property_get (DbusmenuMenuitem * mi, const gchar * property)
+{
+
+ return NULL;
+}
+
+gboolean
+dbusmenu_menuitem_property_exist (DbusmenuMenuitem * mi, const gchar * property)
+{
+
+ return FALSE;
+}
+
+void
+dbusmenu_menuitem_buildxml (DbusmenuMenuitem * mi, GPtrArray ** array)
+{
+
+ return;
+}
+