5
#include <libdbusmenu-gtk/client.h>
7
#include "window-menus.h"
9
typedef struct _WindowMenusPrivate WindowMenusPrivate;
10
struct _WindowMenusPrivate {
12
DbusmenuGtkClient * client;
15
#define WINDOW_MENUS_GET_PRIVATE(o) \
16
(G_TYPE_INSTANCE_GET_PRIVATE ((o), WINDOW_MENUS_TYPE, WindowMenusPrivate))
18
static void window_menus_class_init (WindowMenusClass *klass);
19
static void window_menus_init (WindowMenus *self);
20
static void window_menus_dispose (GObject *object);
21
static void window_menus_finalize (GObject *object);
23
G_DEFINE_TYPE (WindowMenus, window_menus, G_TYPE_OBJECT);
25
/* Build the one-time class */
27
window_menus_class_init (WindowMenusClass *klass)
29
GObjectClass *object_class = G_OBJECT_CLASS (klass);
31
g_type_class_add_private (klass, sizeof (WindowMenusPrivate));
33
object_class->dispose = window_menus_dispose;
34
object_class->finalize = window_menus_finalize;
39
/* Initialize the per-instance data */
41
window_menus_init (WindowMenus *self)
43
WindowMenusPrivate * priv = WINDOW_MENUS_GET_PRIVATE(self);
52
window_menus_dispose (GObject *object)
54
WindowMenusPrivate * priv = WINDOW_MENUS_GET_PRIVATE(object);
56
if (priv->client != NULL) {
57
g_object_unref(G_OBJECT(priv->client));
61
G_OBJECT_CLASS (window_menus_parent_class)->dispose (object);
67
window_menus_finalize (GObject *object)
70
G_OBJECT_CLASS (window_menus_parent_class)->finalize (object);
75
window_menus_new (const guint windowid, const gchar * dbus_addr, const gchar * dbus_object)
77
g_debug("Creating new windows menu: %X, %s, %s", windowid, dbus_addr, dbus_object);
83
window_menus_get_entries (WindowMenus * wm)