/* notification.c generated by valac 0.38.4, the Vala compiler
 * generated from notification.vala, do not modify */

/* This file is part of GNOME Boxes. License: LGPLv2+*/

#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string.h>


#define BOXES_TYPE_NOTIFICATION (boxes_notification_get_type ())
#define BOXES_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_NOTIFICATION, BoxesNotification))
#define BOXES_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_NOTIFICATION, BoxesNotificationClass))
#define BOXES_IS_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_NOTIFICATION))
#define BOXES_IS_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_NOTIFICATION))
#define BOXES_NOTIFICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_NOTIFICATION, BoxesNotificationClass))

typedef struct _BoxesNotification BoxesNotification;
typedef struct _BoxesNotificationClass BoxesNotificationClass;
typedef struct _BoxesNotificationPrivate BoxesNotificationPrivate;
enum  {
	BOXES_NOTIFICATION_0_PROPERTY,
	BOXES_NOTIFICATION_NUM_PROPERTIES
};
static GParamSpec* boxes_notification_properties[BOXES_NOTIFICATION_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
typedef struct _Block62Data Block62Data;
enum  {
	BOXES_NOTIFICATION_DISMISSED_SIGNAL,
	BOXES_NOTIFICATION_NUM_SIGNALS
};
static guint boxes_notification_signals[BOXES_NOTIFICATION_NUM_SIGNALS] = {0};

struct _BoxesNotification {
	GtkRevealer parent_instance;
	BoxesNotificationPrivate * priv;
};

struct _BoxesNotificationClass {
	GtkRevealerClass parent_class;
};

struct _BoxesNotificationPrivate {
	gint timeout;
	GtkLabel* message_label;
	GtkLabel* ok_button_label;
	GtkButton* ok_button;
	GtkButton* close_button;
};

typedef void (*BoxesNotificationOKFunc) (void* user_data);
typedef void (*BoxesNotificationDismissFunc) (void* user_data);
struct _Block62Data {
	int _ref_count_;
	BoxesNotification* self;
	guint notification_timeout_id;
	BoxesNotificationOKFunc ok_func;
	gpointer ok_func_target;
	GDestroyNotify ok_func_target_destroy_notify;
	BoxesNotificationDismissFunc dismiss_func;
	gpointer dismiss_func_target;
	GDestroyNotify dismiss_func_target_destroy_notify;
};


static gpointer boxes_notification_parent_class = NULL;

GType boxes_notification_get_type (void) G_GNUC_CONST;
#define BOXES_NOTIFICATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_NOTIFICATION, BoxesNotificationPrivate))
#define BOXES_NOTIFICATION_DEFAULT_TIMEOUT 6
BoxesNotification* boxes_notification_new (const gchar* message, GtkMessageType message_type, const gchar* ok_label, BoxesNotificationOKFunc ok_func, void* ok_func_target, GDestroyNotify ok_func_target_destroy_notify, BoxesNotificationDismissFunc dismiss_func, void* dismiss_func_target, GDestroyNotify dismiss_func_target_destroy_notify, gint timeout);
BoxesNotification* boxes_notification_construct (GType object_type, const gchar* message, GtkMessageType message_type, const gchar* ok_label, BoxesNotificationOKFunc ok_func, void* ok_func_target, GDestroyNotify ok_func_target_destroy_notify, BoxesNotificationDismissFunc dismiss_func, void* dismiss_func_target, GDestroyNotify dismiss_func_target_destroy_notify, gint timeout);
static Block62Data* block62_data_ref (Block62Data* _data62_);
static void block62_data_unref (void * _userdata_);
static gboolean __lambda42_ (BoxesNotification* self);
static gboolean ___lambda42__gsource_func (gpointer self);
static void __lambda43_ (Block62Data* _data62_);
static void ___lambda43__boxes_notification_dismissed (BoxesNotification* _sender, gpointer self);
static void ___lambda44_ (Block62Data* _data62_);
static void ____lambda44__gtk_button_clicked (GtkButton* _sender, gpointer self);
static void __lambda45_ (BoxesNotification* self);
static void ___lambda45__gtk_button_clicked (GtkButton* _sender, gpointer self);
void boxes_notification_dismiss (BoxesNotification* self);
static void boxes_notification_finalize (GObject * obj);


static Block62Data* block62_data_ref (Block62Data* _data62_) {
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	g_atomic_int_inc (&_data62_->_ref_count_);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	return _data62_;
#line 95 "notification.c"
}


static void block62_data_unref (void * _userdata_) {
	Block62Data* _data62_;
	_data62_ = (Block62Data*) _userdata_;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	if (g_atomic_int_dec_and_test (&_data62_->_ref_count_)) {
#line 104 "notification.c"
		BoxesNotification* self;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		self = _data62_->self;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		(_data62_->ok_func_target_destroy_notify == NULL) ? NULL : (_data62_->ok_func_target_destroy_notify (_data62_->ok_func_target), NULL);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_data62_->ok_func = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_data62_->ok_func_target = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_data62_->ok_func_target_destroy_notify = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		(_data62_->dismiss_func_target_destroy_notify == NULL) ? NULL : (_data62_->dismiss_func_target_destroy_notify (_data62_->dismiss_func_target), NULL);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_data62_->dismiss_func = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_data62_->dismiss_func_target = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_data62_->dismiss_func_target_destroy_notify = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_g_object_unref0 (self);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		g_slice_free (Block62Data, _data62_);
#line 128 "notification.c"
	}
}


static gboolean __lambda42_ (BoxesNotification* self) {
	gboolean result = FALSE;
#line 38 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	g_signal_emit (self, boxes_notification_signals[BOXES_NOTIFICATION_DISMISSED_SIGNAL], 0);
#line 39 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	result = G_SOURCE_REMOVE;
#line 39 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	return result;
#line 141 "notification.c"
}


static gboolean ___lambda42__gsource_func (gpointer self) {
	gboolean result;
	result = __lambda42_ ((BoxesNotification*) self);
#line 37 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	return result;
#line 150 "notification.c"
}


static void __lambda43_ (Block62Data* _data62_) {
	BoxesNotification* self;
	BoxesNotificationDismissFunc _tmp0_;
	void* _tmp0__target;
	guint _tmp2_;
#line 42 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	self = _data62_->self;
#line 43 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp0_ = _data62_->dismiss_func;
#line 43 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp0__target = _data62_->dismiss_func_target;
#line 43 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	if (_tmp0_ != NULL) {
#line 167 "notification.c"
		BoxesNotificationDismissFunc _tmp1_;
		void* _tmp1__target;
#line 44 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_tmp1_ = _data62_->dismiss_func;
#line 44 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_tmp1__target = _data62_->dismiss_func_target;
#line 44 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_tmp1_ (_tmp1__target);
#line 176 "notification.c"
	}
#line 45 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	gtk_revealer_set_reveal_child ((GtkRevealer*) self, FALSE);
#line 46 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp2_ = _data62_->notification_timeout_id;
#line 46 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	g_source_remove (_tmp2_);
#line 184 "notification.c"
}


static void ___lambda43__boxes_notification_dismissed (BoxesNotification* _sender, gpointer self) {
#line 42 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	__lambda43_ (self);
#line 191 "notification.c"
}


static void ___lambda44_ (Block62Data* _data62_) {
	BoxesNotification* self;
	BoxesNotificationOKFunc _tmp0_;
	void* _tmp0__target;
	guint _tmp2_;
#line 54 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	self = _data62_->self;
#line 55 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp0_ = _data62_->ok_func;
#line 55 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp0__target = _data62_->ok_func_target;
#line 55 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	if (_tmp0_ != NULL) {
#line 208 "notification.c"
		BoxesNotificationOKFunc _tmp1_;
		void* _tmp1__target;
#line 56 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_tmp1_ = _data62_->ok_func;
#line 56 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_tmp1__target = _data62_->ok_func_target;
#line 56 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_tmp1_ (_tmp1__target);
#line 217 "notification.c"
	}
#line 57 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	gtk_revealer_set_reveal_child ((GtkRevealer*) self, FALSE);
#line 58 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp2_ = _data62_->notification_timeout_id;
#line 58 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	g_source_remove (_tmp2_);
#line 225 "notification.c"
}


static void ____lambda44__gtk_button_clicked (GtkButton* _sender, gpointer self) {
#line 54 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	___lambda44_ (self);
#line 232 "notification.c"
}


static void __lambda45_ (BoxesNotification* self) {
#line 65 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	g_signal_emit (self, boxes_notification_signals[BOXES_NOTIFICATION_DISMISSED_SIGNAL], 0);
#line 239 "notification.c"
}


static void ___lambda45__gtk_button_clicked (GtkButton* _sender, gpointer self) {
#line 64 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	__lambda45_ ((BoxesNotification*) self);
#line 246 "notification.c"
}


BoxesNotification* boxes_notification_construct (GType object_type, const gchar* message, GtkMessageType message_type, const gchar* ok_label, BoxesNotificationOKFunc ok_func, void* ok_func_target, GDestroyNotify ok_func_target_destroy_notify, BoxesNotificationDismissFunc dismiss_func, void* dismiss_func_target, GDestroyNotify dismiss_func_target_destroy_notify, gint timeout) {
	BoxesNotification * self = NULL;
	Block62Data* _data62_;
	BoxesNotificationOKFunc _tmp0_;
	void* _tmp0__target;
	BoxesNotificationDismissFunc _tmp1_;
	void* _tmp1__target;
	gint _tmp2_;
	gint _tmp3_;
	guint _tmp4_;
	GtkLabel* _tmp5_;
	const gchar* _tmp6_;
	const gchar* _tmp7_;
	GtkButton* _tmp12_;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	g_return_val_if_fail (message != NULL, NULL);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_ = g_slice_new0 (Block62Data);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->_ref_count_ = 1;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp0_ = ok_func;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp0__target = ok_func_target;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	(_data62_->ok_func_target_destroy_notify == NULL) ? NULL : (_data62_->ok_func_target_destroy_notify (_data62_->ok_func_target), NULL);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->ok_func = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->ok_func_target = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->ok_func_target_destroy_notify = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->ok_func = _tmp0_;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->ok_func_target = _tmp0__target;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->ok_func_target_destroy_notify = ok_func_target_destroy_notify;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp1_ = dismiss_func;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp1__target = dismiss_func_target;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	(_data62_->dismiss_func_target_destroy_notify == NULL) ? NULL : (_data62_->dismiss_func_target_destroy_notify (_data62_->dismiss_func_target), NULL);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->dismiss_func = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->dismiss_func_target = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->dismiss_func_target_destroy_notify = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->dismiss_func = _tmp1_;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->dismiss_func_target = _tmp1__target;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->dismiss_func_target_destroy_notify = dismiss_func_target_destroy_notify;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	self = (BoxesNotification*) g_object_new (object_type, NULL);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->self = g_object_ref (self);
#line 33 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	gtk_revealer_set_reveal_child ((GtkRevealer*) self, TRUE);
#line 34 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->notification_timeout_id = (guint) 0;
#line 36 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp2_ = timeout;
#line 36 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	self->priv->timeout = _tmp2_;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp3_ = self->priv->timeout;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp4_ = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) _tmp3_, ___lambda42__gsource_func, g_object_ref (self), g_object_unref);
#line 37 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_->notification_timeout_id = _tmp4_;
#line 42 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	g_signal_connect_data (self, "dismissed", (GCallback) ___lambda43__boxes_notification_dismissed, block62_data_ref (_data62_), (GClosureNotify) block62_data_unref, 0);
#line 49 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp5_ = self->priv->message_label;
#line 49 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp6_ = message;
#line 49 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	gtk_label_set_label (_tmp5_, _tmp6_);
#line 51 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp7_ = ok_label;
#line 51 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	if (_tmp7_ != NULL) {
#line 336 "notification.c"
		GtkLabel* _tmp8_;
		const gchar* _tmp9_;
		GtkButton* _tmp10_;
		GtkButton* _tmp11_;
#line 52 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_tmp8_ = self->priv->ok_button_label;
#line 52 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_tmp9_ = ok_label;
#line 52 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		gtk_label_set_label (_tmp8_, _tmp9_);
#line 54 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_tmp10_ = self->priv->ok_button;
#line 54 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		g_signal_connect_data (_tmp10_, "clicked", (GCallback) ____lambda44__gtk_button_clicked, block62_data_ref (_data62_), (GClosureNotify) block62_data_unref, 0);
#line 61 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		_tmp11_ = self->priv->ok_button;
#line 61 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
		gtk_widget_show_all ((GtkWidget*) _tmp11_);
#line 355 "notification.c"
	}
#line 64 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_tmp12_ = self->priv->close_button;
#line 64 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	g_signal_connect_object (_tmp12_, "clicked", (GCallback) ___lambda45__gtk_button_clicked, self, 0);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	block62_data_unref (_data62_);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_data62_ = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	return self;
#line 367 "notification.c"
}


BoxesNotification* boxes_notification_new (const gchar* message, GtkMessageType message_type, const gchar* ok_label, BoxesNotificationOKFunc ok_func, void* ok_func_target, GDestroyNotify ok_func_target_destroy_notify, BoxesNotificationDismissFunc dismiss_func, void* dismiss_func_target, GDestroyNotify dismiss_func_target_destroy_notify, gint timeout) {
#line 23 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	return boxes_notification_construct (BOXES_TYPE_NOTIFICATION, message, message_type, ok_label, ok_func, ok_func_target, ok_func_target_destroy_notify, dismiss_func, dismiss_func_target, dismiss_func_target_destroy_notify, timeout);
#line 374 "notification.c"
}


void boxes_notification_dismiss (BoxesNotification* self) {
#line 69 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	g_return_if_fail (self != NULL);
#line 70 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	g_signal_emit (self, boxes_notification_signals[BOXES_NOTIFICATION_DISMISSED_SIGNAL], 0);
#line 383 "notification.c"
}


static void boxes_notification_class_init (BoxesNotificationClass * klass) {
	gint BoxesNotification_private_offset;
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	boxes_notification_parent_class = g_type_class_peek_parent (klass);
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	g_type_class_add_private (klass, sizeof (BoxesNotificationPrivate));
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_notification_finalize;
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	BoxesNotification_private_offset = g_type_class_get_instance_private_offset (klass);
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Boxes/ui/notification.ui");
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	boxes_notification_signals[BOXES_NOTIFICATION_DISMISSED_SIGNAL] = g_signal_new ("dismissed", BOXES_TYPE_NOTIFICATION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "message_label", FALSE, BoxesNotification_private_offset + G_STRUCT_OFFSET (BoxesNotificationPrivate, message_label));
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "ok_button_label", FALSE, BoxesNotification_private_offset + G_STRUCT_OFFSET (BoxesNotificationPrivate, ok_button_label));
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "ok_button", FALSE, BoxesNotification_private_offset + G_STRUCT_OFFSET (BoxesNotificationPrivate, ok_button));
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "close_button", FALSE, BoxesNotification_private_offset + G_STRUCT_OFFSET (BoxesNotificationPrivate, close_button));
#line 409 "notification.c"
}


static void boxes_notification_instance_init (BoxesNotification * self) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	self->priv = BOXES_NOTIFICATION_GET_PRIVATE (self);
#line 9 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	self->priv->timeout = BOXES_NOTIFICATION_DEFAULT_TIMEOUT;
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	gtk_widget_init_template (GTK_WIDGET (self));
#line 420 "notification.c"
}


static void boxes_notification_finalize (GObject * obj) {
	BoxesNotification * self;
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_NOTIFICATION, BoxesNotification);
#line 15 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_g_object_unref0 (self->priv->message_label);
#line 17 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_g_object_unref0 (self->priv->ok_button_label);
#line 19 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_g_object_unref0 (self->priv->ok_button);
#line 21 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	_g_object_unref0 (self->priv->close_button);
#line 5 "/home/fborges/checkout/gnome-boxes/src/notification.vala"
	G_OBJECT_CLASS (boxes_notification_parent_class)->finalize (obj);
#line 438 "notification.c"
}


GType boxes_notification_get_type (void) {
	static volatile gsize boxes_notification_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_notification_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesNotificationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_notification_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesNotification), 0, (GInstanceInitFunc) boxes_notification_instance_init, NULL };
		GType boxes_notification_type_id;
		boxes_notification_type_id = g_type_register_static (gtk_revealer_get_type (), "BoxesNotification", &g_define_type_info, 0);
		g_once_init_leave (&boxes_notification_type_id__volatile, boxes_notification_type_id);
	}
	return boxes_notification_type_id__volatile;
}



