1 /* notifications.c generated by valac 0.34.7, the Vala compiler
2  * generated from notifications.vala, do not modify */
3 
4 /*
5  *      Copyright 2015 Julien Lavergne <gilir@ubuntu.com>
6  *
7  *      This program is free software; you can redistribute it and/or modify
8  *      it under the terms of the GNU General Public License as published by
9  *      the Free Software Foundation; either version 2 of the License, or
10  *      (at your option) any later version.
11  *
12  *      This program is distributed in the hope that it will be useful,
13  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *      GNU General Public License for more details.
16  *
17  *      You should have received a copy of the GNU General Public License
18  *      along with this program; if not, write to the Free Software
19  *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20  *      MA 02110-1301, USA.
21  */
22 
23 #include <glib.h>
24 #include <glib-object.h>
25 #include <gtk/gtk.h>
26 #include <stdlib.h>
27 #include <string.h>
28 #include <gobject/gvaluecollector.h>
29 
30 
31 #define LXSESSION_TYPE_MENU_ITEM_OBJECT (lxsession_menu_item_object_get_type ())
32 #define LXSESSION_MENU_ITEM_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_MENU_ITEM_OBJECT, LxsessionMenuItemObject))
33 #define LXSESSION_MENU_ITEM_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_MENU_ITEM_OBJECT, LxsessionMenuItemObjectClass))
34 #define LXSESSION_IS_MENU_ITEM_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_MENU_ITEM_OBJECT))
35 #define LXSESSION_IS_MENU_ITEM_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_MENU_ITEM_OBJECT))
36 #define LXSESSION_MENU_ITEM_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_MENU_ITEM_OBJECT, LxsessionMenuItemObjectClass))
37 
38 typedef struct _LxsessionMenuItemObject LxsessionMenuItemObject;
39 typedef struct _LxsessionMenuItemObjectClass LxsessionMenuItemObjectClass;
40 typedef struct _LxsessionMenuItemObjectPrivate LxsessionMenuItemObjectPrivate;
41 
42 #define LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT (lxsession_menu_item_generic_object_get_type ())
43 #define LXSESSION_MENU_ITEM_GENERIC_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT, LxsessionMenuItemGenericObject))
44 #define LXSESSION_MENU_ITEM_GENERIC_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT, LxsessionMenuItemGenericObjectClass))
45 #define LXSESSION_IS_MENU_ITEM_GENERIC_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT))
46 #define LXSESSION_IS_MENU_ITEM_GENERIC_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT))
47 #define LXSESSION_MENU_ITEM_GENERIC_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT, LxsessionMenuItemGenericObjectClass))
48 
49 typedef struct _LxsessionMenuItemGenericObject LxsessionMenuItemGenericObject;
50 typedef struct _LxsessionMenuItemGenericObjectClass LxsessionMenuItemGenericObjectClass;
51 typedef struct _LxsessionMenuItemGenericObjectPrivate LxsessionMenuItemGenericObjectPrivate;
52 typedef struct _LxsessionParamSpecMenuItemGenericObject LxsessionParamSpecMenuItemGenericObject;
53 
54 #define LXSESSION_TYPE_MENU_OBJECT (lxsession_menu_object_get_type ())
55 #define LXSESSION_MENU_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_MENU_OBJECT, LxsessionMenuObject))
56 #define LXSESSION_MENU_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_MENU_OBJECT, LxsessionMenuObjectClass))
57 #define LXSESSION_IS_MENU_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_MENU_OBJECT))
58 #define LXSESSION_IS_MENU_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_MENU_OBJECT))
59 #define LXSESSION_MENU_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_MENU_OBJECT, LxsessionMenuObjectClass))
60 
61 typedef struct _LxsessionMenuObject LxsessionMenuObject;
62 typedef struct _LxsessionMenuObjectClass LxsessionMenuObjectClass;
63 typedef struct _LxsessionMenuObjectPrivate LxsessionMenuObjectPrivate;
64 
65 #define LXSESSION_TYPE_MENU_GENERIC_OBJECT (lxsession_menu_generic_object_get_type ())
66 #define LXSESSION_MENU_GENERIC_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_MENU_GENERIC_OBJECT, LxsessionMenuGenericObject))
67 #define LXSESSION_MENU_GENERIC_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_MENU_GENERIC_OBJECT, LxsessionMenuGenericObjectClass))
68 #define LXSESSION_IS_MENU_GENERIC_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_MENU_GENERIC_OBJECT))
69 #define LXSESSION_IS_MENU_GENERIC_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_MENU_GENERIC_OBJECT))
70 #define LXSESSION_MENU_GENERIC_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_MENU_GENERIC_OBJECT, LxsessionMenuGenericObjectClass))
71 
72 typedef struct _LxsessionMenuGenericObject LxsessionMenuGenericObject;
73 typedef struct _LxsessionMenuGenericObjectClass LxsessionMenuGenericObjectClass;
74 typedef struct _LxsessionMenuGenericObjectPrivate LxsessionMenuGenericObjectPrivate;
75 
76 #define LXSESSION_TYPE_ICON_OBJECT (lxsession_icon_object_get_type ())
77 #define LXSESSION_ICON_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LXSESSION_TYPE_ICON_OBJECT, LxsessionIconObject))
78 #define LXSESSION_ICON_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LXSESSION_TYPE_ICON_OBJECT, LxsessionIconObjectClass))
79 #define LXSESSION_IS_ICON_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LXSESSION_TYPE_ICON_OBJECT))
80 #define LXSESSION_IS_ICON_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LXSESSION_TYPE_ICON_OBJECT))
81 #define LXSESSION_ICON_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LXSESSION_TYPE_ICON_OBJECT, LxsessionIconObjectClass))
82 
83 typedef struct _LxsessionIconObject LxsessionIconObject;
84 typedef struct _LxsessionIconObjectClass LxsessionIconObjectClass;
85 typedef struct _LxsessionIconObjectPrivate LxsessionIconObjectPrivate;
86 #define _g_free0(var) (var = (g_free (var), NULL))
87 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
88 
89 struct _LxsessionMenuItemObject {
90 	GtkMenuItem parent_instance;
91 	LxsessionMenuItemObjectPrivate * priv;
92 };
93 
94 struct _LxsessionMenuItemObjectClass {
95 	GtkMenuItemClass parent_class;
96 };
97 
98 struct _LxsessionMenuItemGenericObject {
99 	GTypeInstance parent_instance;
100 	volatile int ref_count;
101 	LxsessionMenuItemGenericObjectPrivate * priv;
102 };
103 
104 struct _LxsessionMenuItemGenericObjectClass {
105 	GTypeClass parent_class;
106 	void (*finalize) (LxsessionMenuItemGenericObject *self);
107 };
108 
109 struct _LxsessionParamSpecMenuItemGenericObject {
110 	GParamSpec parent_instance;
111 };
112 
113 struct _LxsessionMenuObject {
114 	GtkMenu parent_instance;
115 	LxsessionMenuObjectPrivate * priv;
116 };
117 
118 struct _LxsessionMenuObjectClass {
119 	GtkMenuClass parent_class;
120 };
121 
122 struct _LxsessionMenuGenericObject {
123 	GObject parent_instance;
124 	LxsessionMenuGenericObjectPrivate * priv;
125 };
126 
127 struct _LxsessionMenuGenericObjectClass {
128 	GObjectClass parent_class;
129 };
130 
131 typedef void (*LxsessionMenuGenericObjectActionCallback) (void* user_data);
132 struct _LxsessionIconObject {
133 	GObject parent_instance;
134 	LxsessionIconObjectPrivate * priv;
135 	gchar* name;
136 	gchar* icon_name;
137 	gchar* notification_text;
138 	LxsessionMenuObject* menu;
139 };
140 
141 struct _LxsessionIconObjectClass {
142 	GObjectClass parent_class;
143 };
144 
145 typedef void (*LxsessionIconObjectActionCallback) (void* user_data);
146 
147 static gpointer lxsession_menu_item_object_parent_class = NULL;
148 static gpointer lxsession_menu_item_generic_object_parent_class = NULL;
149 static gpointer lxsession_menu_object_parent_class = NULL;
150 static gpointer lxsession_menu_generic_object_parent_class = NULL;
151 static gpointer lxsession_icon_object_parent_class = NULL;
152 
153 GType lxsession_menu_item_object_get_type (void) G_GNUC_CONST;
154 enum  {
155 	LXSESSION_MENU_ITEM_OBJECT_DUMMY_PROPERTY
156 };
157 LxsessionMenuItemObject* lxsession_menu_item_object_new (void);
158 LxsessionMenuItemObject* lxsession_menu_item_object_construct (GType object_type);
159 gpointer lxsession_menu_item_generic_object_ref (gpointer instance);
160 void lxsession_menu_item_generic_object_unref (gpointer instance);
161 GParamSpec* lxsession_param_spec_menu_item_generic_object (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
162 void lxsession_value_set_menu_item_generic_object (GValue* value, gpointer v_object);
163 void lxsession_value_take_menu_item_generic_object (GValue* value, gpointer v_object);
164 gpointer lxsession_value_get_menu_item_generic_object (const GValue* value);
165 GType lxsession_menu_item_generic_object_get_type (void) G_GNUC_CONST;
166 enum  {
167 	LXSESSION_MENU_ITEM_GENERIC_OBJECT_DUMMY_PROPERTY
168 };
169 LxsessionMenuItemGenericObject* lxsession_menu_item_generic_object_new (void);
170 LxsessionMenuItemGenericObject* lxsession_menu_item_generic_object_construct (GType object_type);
171 static void lxsession_menu_item_generic_object_finalize (LxsessionMenuItemGenericObject* obj);
172 GType lxsession_menu_object_get_type (void) G_GNUC_CONST;
173 enum  {
174 	LXSESSION_MENU_OBJECT_DUMMY_PROPERTY
175 };
176 LxsessionMenuObject* lxsession_menu_object_new (void);
177 LxsessionMenuObject* lxsession_menu_object_construct (GType object_type);
178 GType lxsession_menu_generic_object_get_type (void) G_GNUC_CONST;
179 enum  {
180 	LXSESSION_MENU_GENERIC_OBJECT_DUMMY_PROPERTY
181 };
182 void lxsession_menu_generic_object_add_item (LxsessionMenuGenericObject* self, const gchar* text, LxsessionMenuGenericObjectActionCallback callback, void* callback_target, GDestroyNotify callback_target_destroy_notify);
183 LxsessionMenuGenericObject* lxsession_menu_generic_object_new (void);
184 LxsessionMenuGenericObject* lxsession_menu_generic_object_construct (GType object_type);
185 GType lxsession_icon_object_get_type (void) G_GNUC_CONST;
186 enum  {
187 	LXSESSION_ICON_OBJECT_DUMMY_PROPERTY
188 };
189 LxsessionIconObject* lxsession_icon_object_new (const gchar* name_param, const gchar* icon_name_param, const gchar* notification_param, LxsessionMenuObject* menu_param);
190 LxsessionIconObject* lxsession_icon_object_construct (GType object_type, const gchar* name_param, const gchar* icon_name_param, const gchar* notification_param, LxsessionMenuObject* menu_param);
191 void lxsession_icon_object_init (LxsessionIconObject* self);
192 void lxsession_icon_object_activate (LxsessionIconObject* self);
193 void lxsession_icon_object_inactivate (LxsessionIconObject* self);
194 void lxsession_icon_object_set_icon (LxsessionIconObject* self, const gchar* param_icon_name);
195 void lxsession_icon_object_set_menu (LxsessionIconObject* self, LxsessionMenuObject* param_menu);
196 void lxsession_icon_object_add_action (LxsessionIconObject* self, const gchar* action, const gchar* label, LxsessionIconObjectActionCallback callback, void* callback_target, GDestroyNotify callback_target_destroy_notify);
197 void lxsession_icon_object_set_notification_body (LxsessionIconObject* self, const gchar* text);
198 void lxsession_icon_object_clear_actions (LxsessionIconObject* self);
199 static void lxsession_icon_object_finalize (GObject* obj);
200 
201 
lxsession_menu_item_object_construct(GType object_type)202 LxsessionMenuItemObject* lxsession_menu_item_object_construct (GType object_type) {
203 	LxsessionMenuItemObject * self = NULL;
204 	self = (LxsessionMenuItemObject*) g_object_new (object_type, NULL);
205 	return self;
206 }
207 
208 
lxsession_menu_item_object_new(void)209 LxsessionMenuItemObject* lxsession_menu_item_object_new (void) {
210 	return lxsession_menu_item_object_construct (LXSESSION_TYPE_MENU_ITEM_OBJECT);
211 }
212 
213 
lxsession_menu_item_object_class_init(LxsessionMenuItemObjectClass * klass)214 static void lxsession_menu_item_object_class_init (LxsessionMenuItemObjectClass * klass) {
215 	lxsession_menu_item_object_parent_class = g_type_class_peek_parent (klass);
216 }
217 
218 
lxsession_menu_item_object_instance_init(LxsessionMenuItemObject * self)219 static void lxsession_menu_item_object_instance_init (LxsessionMenuItemObject * self) {
220 }
221 
222 
lxsession_menu_item_object_get_type(void)223 GType lxsession_menu_item_object_get_type (void) {
224 	static volatile gsize lxsession_menu_item_object_type_id__volatile = 0;
225 	if (g_once_init_enter (&lxsession_menu_item_object_type_id__volatile)) {
226 		static const GTypeInfo g_define_type_info = { sizeof (LxsessionMenuItemObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_menu_item_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionMenuItemObject), 0, (GInstanceInitFunc) lxsession_menu_item_object_instance_init, NULL };
227 		GType lxsession_menu_item_object_type_id;
228 		lxsession_menu_item_object_type_id = g_type_register_static (GTK_TYPE_MENU_ITEM, "LxsessionMenuItemObject", &g_define_type_info, 0);
229 		g_once_init_leave (&lxsession_menu_item_object_type_id__volatile, lxsession_menu_item_object_type_id);
230 	}
231 	return lxsession_menu_item_object_type_id__volatile;
232 }
233 
234 
lxsession_menu_item_generic_object_construct(GType object_type)235 LxsessionMenuItemGenericObject* lxsession_menu_item_generic_object_construct (GType object_type) {
236 	LxsessionMenuItemGenericObject* self = NULL;
237 	self = (LxsessionMenuItemGenericObject*) g_type_create_instance (object_type);
238 	return self;
239 }
240 
241 
lxsession_menu_item_generic_object_new(void)242 LxsessionMenuItemGenericObject* lxsession_menu_item_generic_object_new (void) {
243 	return lxsession_menu_item_generic_object_construct (LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT);
244 }
245 
246 
lxsession_value_menu_item_generic_object_init(GValue * value)247 static void lxsession_value_menu_item_generic_object_init (GValue* value) {
248 	value->data[0].v_pointer = NULL;
249 }
250 
251 
lxsession_value_menu_item_generic_object_free_value(GValue * value)252 static void lxsession_value_menu_item_generic_object_free_value (GValue* value) {
253 	if (value->data[0].v_pointer) {
254 		lxsession_menu_item_generic_object_unref (value->data[0].v_pointer);
255 	}
256 }
257 
258 
lxsession_value_menu_item_generic_object_copy_value(const GValue * src_value,GValue * dest_value)259 static void lxsession_value_menu_item_generic_object_copy_value (const GValue* src_value, GValue* dest_value) {
260 	if (src_value->data[0].v_pointer) {
261 		dest_value->data[0].v_pointer = lxsession_menu_item_generic_object_ref (src_value->data[0].v_pointer);
262 	} else {
263 		dest_value->data[0].v_pointer = NULL;
264 	}
265 }
266 
267 
lxsession_value_menu_item_generic_object_peek_pointer(const GValue * value)268 static gpointer lxsession_value_menu_item_generic_object_peek_pointer (const GValue* value) {
269 	return value->data[0].v_pointer;
270 }
271 
272 
lxsession_value_menu_item_generic_object_collect_value(GValue * value,guint n_collect_values,GTypeCValue * collect_values,guint collect_flags)273 static gchar* lxsession_value_menu_item_generic_object_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
274 	if (collect_values[0].v_pointer) {
275 		LxsessionMenuItemGenericObject* object;
276 		object = collect_values[0].v_pointer;
277 		if (object->parent_instance.g_class == NULL) {
278 			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
279 		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
280 			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
281 		}
282 		value->data[0].v_pointer = lxsession_menu_item_generic_object_ref (object);
283 	} else {
284 		value->data[0].v_pointer = NULL;
285 	}
286 	return NULL;
287 }
288 
289 
lxsession_value_menu_item_generic_object_lcopy_value(const GValue * value,guint n_collect_values,GTypeCValue * collect_values,guint collect_flags)290 static gchar* lxsession_value_menu_item_generic_object_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
291 	LxsessionMenuItemGenericObject** object_p;
292 	object_p = collect_values[0].v_pointer;
293 	if (!object_p) {
294 		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
295 	}
296 	if (!value->data[0].v_pointer) {
297 		*object_p = NULL;
298 	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
299 		*object_p = value->data[0].v_pointer;
300 	} else {
301 		*object_p = lxsession_menu_item_generic_object_ref (value->data[0].v_pointer);
302 	}
303 	return NULL;
304 }
305 
306 
lxsession_param_spec_menu_item_generic_object(const gchar * name,const gchar * nick,const gchar * blurb,GType object_type,GParamFlags flags)307 GParamSpec* lxsession_param_spec_menu_item_generic_object (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
308 	LxsessionParamSpecMenuItemGenericObject* spec;
309 	g_return_val_if_fail (g_type_is_a (object_type, LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT), NULL);
310 	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
311 	G_PARAM_SPEC (spec)->value_type = object_type;
312 	return G_PARAM_SPEC (spec);
313 }
314 
315 
lxsession_value_get_menu_item_generic_object(const GValue * value)316 gpointer lxsession_value_get_menu_item_generic_object (const GValue* value) {
317 	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT), NULL);
318 	return value->data[0].v_pointer;
319 }
320 
321 
lxsession_value_set_menu_item_generic_object(GValue * value,gpointer v_object)322 void lxsession_value_set_menu_item_generic_object (GValue* value, gpointer v_object) {
323 	LxsessionMenuItemGenericObject* old;
324 	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT));
325 	old = value->data[0].v_pointer;
326 	if (v_object) {
327 		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT));
328 		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
329 		value->data[0].v_pointer = v_object;
330 		lxsession_menu_item_generic_object_ref (value->data[0].v_pointer);
331 	} else {
332 		value->data[0].v_pointer = NULL;
333 	}
334 	if (old) {
335 		lxsession_menu_item_generic_object_unref (old);
336 	}
337 }
338 
339 
lxsession_value_take_menu_item_generic_object(GValue * value,gpointer v_object)340 void lxsession_value_take_menu_item_generic_object (GValue* value, gpointer v_object) {
341 	LxsessionMenuItemGenericObject* old;
342 	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT));
343 	old = value->data[0].v_pointer;
344 	if (v_object) {
345 		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT));
346 		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
347 		value->data[0].v_pointer = v_object;
348 	} else {
349 		value->data[0].v_pointer = NULL;
350 	}
351 	if (old) {
352 		lxsession_menu_item_generic_object_unref (old);
353 	}
354 }
355 
356 
lxsession_menu_item_generic_object_class_init(LxsessionMenuItemGenericObjectClass * klass)357 static void lxsession_menu_item_generic_object_class_init (LxsessionMenuItemGenericObjectClass * klass) {
358 	lxsession_menu_item_generic_object_parent_class = g_type_class_peek_parent (klass);
359 	((LxsessionMenuItemGenericObjectClass *) klass)->finalize = lxsession_menu_item_generic_object_finalize;
360 }
361 
362 
lxsession_menu_item_generic_object_instance_init(LxsessionMenuItemGenericObject * self)363 static void lxsession_menu_item_generic_object_instance_init (LxsessionMenuItemGenericObject * self) {
364 	self->ref_count = 1;
365 }
366 
367 
lxsession_menu_item_generic_object_finalize(LxsessionMenuItemGenericObject * obj)368 static void lxsession_menu_item_generic_object_finalize (LxsessionMenuItemGenericObject* obj) {
369 	LxsessionMenuItemGenericObject * self;
370 	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_MENU_ITEM_GENERIC_OBJECT, LxsessionMenuItemGenericObject);
371 	g_signal_handlers_destroy (self);
372 }
373 
374 
lxsession_menu_item_generic_object_get_type(void)375 GType lxsession_menu_item_generic_object_get_type (void) {
376 	static volatile gsize lxsession_menu_item_generic_object_type_id__volatile = 0;
377 	if (g_once_init_enter (&lxsession_menu_item_generic_object_type_id__volatile)) {
378 		static const GTypeValueTable g_define_type_value_table = { lxsession_value_menu_item_generic_object_init, lxsession_value_menu_item_generic_object_free_value, lxsession_value_menu_item_generic_object_copy_value, lxsession_value_menu_item_generic_object_peek_pointer, "p", lxsession_value_menu_item_generic_object_collect_value, "p", lxsession_value_menu_item_generic_object_lcopy_value };
379 		static const GTypeInfo g_define_type_info = { sizeof (LxsessionMenuItemGenericObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_menu_item_generic_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionMenuItemGenericObject), 0, (GInstanceInitFunc) lxsession_menu_item_generic_object_instance_init, &g_define_type_value_table };
380 		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
381 		GType lxsession_menu_item_generic_object_type_id;
382 		lxsession_menu_item_generic_object_type_id = g_type_register_fundamental (g_type_fundamental_next (), "LxsessionMenuItemGenericObject", &g_define_type_info, &g_define_type_fundamental_info, 0);
383 		g_once_init_leave (&lxsession_menu_item_generic_object_type_id__volatile, lxsession_menu_item_generic_object_type_id);
384 	}
385 	return lxsession_menu_item_generic_object_type_id__volatile;
386 }
387 
388 
lxsession_menu_item_generic_object_ref(gpointer instance)389 gpointer lxsession_menu_item_generic_object_ref (gpointer instance) {
390 	LxsessionMenuItemGenericObject* self;
391 	self = instance;
392 	g_atomic_int_inc (&self->ref_count);
393 	return instance;
394 }
395 
396 
lxsession_menu_item_generic_object_unref(gpointer instance)397 void lxsession_menu_item_generic_object_unref (gpointer instance) {
398 	LxsessionMenuItemGenericObject* self;
399 	self = instance;
400 	if (g_atomic_int_dec_and_test (&self->ref_count)) {
401 		LXSESSION_MENU_ITEM_GENERIC_OBJECT_GET_CLASS (self)->finalize (self);
402 		g_type_free_instance ((GTypeInstance *) self);
403 	}
404 }
405 
406 
lxsession_menu_object_construct(GType object_type)407 LxsessionMenuObject* lxsession_menu_object_construct (GType object_type) {
408 	LxsessionMenuObject * self = NULL;
409 	self = (LxsessionMenuObject*) g_object_new (object_type, NULL);
410 	return self;
411 }
412 
413 
lxsession_menu_object_new(void)414 LxsessionMenuObject* lxsession_menu_object_new (void) {
415 	return lxsession_menu_object_construct (LXSESSION_TYPE_MENU_OBJECT);
416 }
417 
418 
lxsession_menu_object_class_init(LxsessionMenuObjectClass * klass)419 static void lxsession_menu_object_class_init (LxsessionMenuObjectClass * klass) {
420 	lxsession_menu_object_parent_class = g_type_class_peek_parent (klass);
421 }
422 
423 
lxsession_menu_object_instance_init(LxsessionMenuObject * self)424 static void lxsession_menu_object_instance_init (LxsessionMenuObject * self) {
425 }
426 
427 
lxsession_menu_object_get_type(void)428 GType lxsession_menu_object_get_type (void) {
429 	static volatile gsize lxsession_menu_object_type_id__volatile = 0;
430 	if (g_once_init_enter (&lxsession_menu_object_type_id__volatile)) {
431 		static const GTypeInfo g_define_type_info = { sizeof (LxsessionMenuObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_menu_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionMenuObject), 0, (GInstanceInitFunc) lxsession_menu_object_instance_init, NULL };
432 		GType lxsession_menu_object_type_id;
433 		lxsession_menu_object_type_id = g_type_register_static (GTK_TYPE_MENU, "LxsessionMenuObject", &g_define_type_info, 0);
434 		g_once_init_leave (&lxsession_menu_object_type_id__volatile, lxsession_menu_object_type_id);
435 	}
436 	return lxsession_menu_object_type_id__volatile;
437 }
438 
439 
lxsession_menu_generic_object_add_item(LxsessionMenuGenericObject * self,const gchar * text,LxsessionMenuGenericObjectActionCallback callback,void * callback_target,GDestroyNotify callback_target_destroy_notify)440 void lxsession_menu_generic_object_add_item (LxsessionMenuGenericObject* self, const gchar* text, LxsessionMenuGenericObjectActionCallback callback, void* callback_target, GDestroyNotify callback_target_destroy_notify) {
441 	g_return_if_fail (self != NULL);
442 	g_return_if_fail (text != NULL);
443 	g_warning ("notifications.vala:68: Not implemented");
444 	(callback_target_destroy_notify == NULL) ? NULL : (callback_target_destroy_notify (callback_target), NULL);
445 	callback = NULL;
446 	callback_target = NULL;
447 	callback_target_destroy_notify = NULL;
448 }
449 
450 
lxsession_menu_generic_object_construct(GType object_type)451 LxsessionMenuGenericObject* lxsession_menu_generic_object_construct (GType object_type) {
452 	LxsessionMenuGenericObject * self = NULL;
453 	self = (LxsessionMenuGenericObject*) g_object_new (object_type, NULL);
454 	return self;
455 }
456 
457 
lxsession_menu_generic_object_new(void)458 LxsessionMenuGenericObject* lxsession_menu_generic_object_new (void) {
459 	return lxsession_menu_generic_object_construct (LXSESSION_TYPE_MENU_GENERIC_OBJECT);
460 }
461 
462 
lxsession_menu_generic_object_class_init(LxsessionMenuGenericObjectClass * klass)463 static void lxsession_menu_generic_object_class_init (LxsessionMenuGenericObjectClass * klass) {
464 	lxsession_menu_generic_object_parent_class = g_type_class_peek_parent (klass);
465 }
466 
467 
lxsession_menu_generic_object_instance_init(LxsessionMenuGenericObject * self)468 static void lxsession_menu_generic_object_instance_init (LxsessionMenuGenericObject * self) {
469 }
470 
471 
lxsession_menu_generic_object_get_type(void)472 GType lxsession_menu_generic_object_get_type (void) {
473 	static volatile gsize lxsession_menu_generic_object_type_id__volatile = 0;
474 	if (g_once_init_enter (&lxsession_menu_generic_object_type_id__volatile)) {
475 		static const GTypeInfo g_define_type_info = { sizeof (LxsessionMenuGenericObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_menu_generic_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionMenuGenericObject), 0, (GInstanceInitFunc) lxsession_menu_generic_object_instance_init, NULL };
476 		GType lxsession_menu_generic_object_type_id;
477 		lxsession_menu_generic_object_type_id = g_type_register_static (G_TYPE_OBJECT, "LxsessionMenuGenericObject", &g_define_type_info, 0);
478 		g_once_init_leave (&lxsession_menu_generic_object_type_id__volatile, lxsession_menu_generic_object_type_id);
479 	}
480 	return lxsession_menu_generic_object_type_id__volatile;
481 }
482 
483 
_g_object_ref0(gpointer self)484 static gpointer _g_object_ref0 (gpointer self) {
485 	return self ? g_object_ref (self) : NULL;
486 }
487 
488 
lxsession_icon_object_construct(GType object_type,const gchar * name_param,const gchar * icon_name_param,const gchar * notification_param,LxsessionMenuObject * menu_param)489 LxsessionIconObject* lxsession_icon_object_construct (GType object_type, const gchar* name_param, const gchar* icon_name_param, const gchar* notification_param, LxsessionMenuObject* menu_param) {
490 	LxsessionIconObject * self = NULL;
491 	const gchar* _tmp0_ = NULL;
492 	gchar* _tmp1_ = NULL;
493 	const gchar* _tmp2_ = NULL;
494 	const gchar* _tmp6_ = NULL;
495 	LxsessionMenuObject* _tmp9_ = NULL;
496 	LxsessionMenuObject* _tmp10_ = NULL;
497 	g_return_val_if_fail (name_param != NULL, NULL);
498 	self = (LxsessionIconObject*) g_object_new (object_type, NULL);
499 	_tmp0_ = name_param;
500 	_tmp1_ = g_strdup (_tmp0_);
501 	_g_free0 (self->name);
502 	self->name = _tmp1_;
503 	_tmp2_ = icon_name_param;
504 	if (_tmp2_ != NULL) {
505 		const gchar* _tmp3_ = NULL;
506 		gchar* _tmp4_ = NULL;
507 		_tmp3_ = icon_name_param;
508 		_tmp4_ = g_strdup (_tmp3_);
509 		_g_free0 (self->icon_name);
510 		self->icon_name = _tmp4_;
511 	} else {
512 		gchar* _tmp5_ = NULL;
513 		_tmp5_ = g_strdup ("dialog-warning");
514 		_g_free0 (self->icon_name);
515 		self->icon_name = _tmp5_;
516 	}
517 	_tmp6_ = notification_param;
518 	if (_tmp6_ != NULL) {
519 		const gchar* _tmp7_ = NULL;
520 		gchar* _tmp8_ = NULL;
521 		_tmp7_ = notification_param;
522 		_tmp8_ = g_strdup (_tmp7_);
523 		_g_free0 (self->notification_text);
524 		self->notification_text = _tmp8_;
525 	}
526 	_tmp9_ = menu_param;
527 	_tmp10_ = _g_object_ref0 (_tmp9_);
528 	_g_object_unref0 (self->menu);
529 	self->menu = _tmp10_;
530 	return self;
531 }
532 
533 
lxsession_icon_object_new(const gchar * name_param,const gchar * icon_name_param,const gchar * notification_param,LxsessionMenuObject * menu_param)534 LxsessionIconObject* lxsession_icon_object_new (const gchar* name_param, const gchar* icon_name_param, const gchar* notification_param, LxsessionMenuObject* menu_param) {
535 	return lxsession_icon_object_construct (LXSESSION_TYPE_ICON_OBJECT, name_param, icon_name_param, notification_param, menu_param);
536 }
537 
538 
lxsession_icon_object_init(LxsessionIconObject * self)539 void lxsession_icon_object_init (LxsessionIconObject* self) {
540 	g_return_if_fail (self != NULL);
541 }
542 
543 
lxsession_icon_object_activate(LxsessionIconObject * self)544 void lxsession_icon_object_activate (LxsessionIconObject* self) {
545 	g_return_if_fail (self != NULL);
546 }
547 
548 
lxsession_icon_object_inactivate(LxsessionIconObject * self)549 void lxsession_icon_object_inactivate (LxsessionIconObject* self) {
550 	g_return_if_fail (self != NULL);
551 }
552 
553 
lxsession_icon_object_set_icon(LxsessionIconObject * self,const gchar * param_icon_name)554 void lxsession_icon_object_set_icon (LxsessionIconObject* self, const gchar* param_icon_name) {
555 	g_return_if_fail (self != NULL);
556 	g_return_if_fail (param_icon_name != NULL);
557 }
558 
559 
lxsession_icon_object_set_menu(LxsessionIconObject * self,LxsessionMenuObject * param_menu)560 void lxsession_icon_object_set_menu (LxsessionIconObject* self, LxsessionMenuObject* param_menu) {
561 	g_return_if_fail (self != NULL);
562 	g_return_if_fail (param_menu != NULL);
563 }
564 
565 
lxsession_icon_object_add_action(LxsessionIconObject * self,const gchar * action,const gchar * label,LxsessionIconObjectActionCallback callback,void * callback_target,GDestroyNotify callback_target_destroy_notify)566 void lxsession_icon_object_add_action (LxsessionIconObject* self, const gchar* action, const gchar* label, LxsessionIconObjectActionCallback callback, void* callback_target, GDestroyNotify callback_target_destroy_notify) {
567 	g_return_if_fail (self != NULL);
568 	g_return_if_fail (action != NULL);
569 	g_return_if_fail (label != NULL);
570 	(callback_target_destroy_notify == NULL) ? NULL : (callback_target_destroy_notify (callback_target), NULL);
571 	callback = NULL;
572 	callback_target = NULL;
573 	callback_target_destroy_notify = NULL;
574 }
575 
576 
lxsession_icon_object_set_notification_body(LxsessionIconObject * self,const gchar * text)577 void lxsession_icon_object_set_notification_body (LxsessionIconObject* self, const gchar* text) {
578 	g_return_if_fail (self != NULL);
579 	g_return_if_fail (text != NULL);
580 }
581 
582 
lxsession_icon_object_clear_actions(LxsessionIconObject * self)583 void lxsession_icon_object_clear_actions (LxsessionIconObject* self) {
584 	g_return_if_fail (self != NULL);
585 }
586 
587 
lxsession_icon_object_class_init(LxsessionIconObjectClass * klass)588 static void lxsession_icon_object_class_init (LxsessionIconObjectClass * klass) {
589 	lxsession_icon_object_parent_class = g_type_class_peek_parent (klass);
590 	G_OBJECT_CLASS (klass)->finalize = lxsession_icon_object_finalize;
591 }
592 
593 
lxsession_icon_object_instance_init(LxsessionIconObject * self)594 static void lxsession_icon_object_instance_init (LxsessionIconObject * self) {
595 }
596 
597 
lxsession_icon_object_finalize(GObject * obj)598 static void lxsession_icon_object_finalize (GObject* obj) {
599 	LxsessionIconObject * self;
600 	self = G_TYPE_CHECK_INSTANCE_CAST (obj, LXSESSION_TYPE_ICON_OBJECT, LxsessionIconObject);
601 	_g_free0 (self->name);
602 	_g_free0 (self->icon_name);
603 	_g_free0 (self->notification_text);
604 	_g_object_unref0 (self->menu);
605 	G_OBJECT_CLASS (lxsession_icon_object_parent_class)->finalize (obj);
606 }
607 
608 
lxsession_icon_object_get_type(void)609 GType lxsession_icon_object_get_type (void) {
610 	static volatile gsize lxsession_icon_object_type_id__volatile = 0;
611 	if (g_once_init_enter (&lxsession_icon_object_type_id__volatile)) {
612 		static const GTypeInfo g_define_type_info = { sizeof (LxsessionIconObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) lxsession_icon_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LxsessionIconObject), 0, (GInstanceInitFunc) lxsession_icon_object_instance_init, NULL };
613 		GType lxsession_icon_object_type_id;
614 		lxsession_icon_object_type_id = g_type_register_static (G_TYPE_OBJECT, "LxsessionIconObject", &g_define_type_info, 0);
615 		g_once_init_leave (&lxsession_icon_object_type_id__volatile, lxsession_icon_object_type_id);
616 	}
617 	return lxsession_icon_object_type_id__volatile;
618 }
619 
620 
621 
622