/* notificationbar.c generated by valac 0.26.1, the Vala compiler
 * generated from notificationbar.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>
#include <libgd/gd.h>
#include <glib/gi18n-lib.h>


#define BOXES_TYPE_NOTIFICATIONBAR (boxes_notificationbar_get_type ())
#define BOXES_NOTIFICATIONBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbar))
#define BOXES_NOTIFICATIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbarClass))
#define BOXES_IS_NOTIFICATIONBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_NOTIFICATIONBAR))
#define BOXES_IS_NOTIFICATIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_NOTIFICATIONBAR))
#define BOXES_NOTIFICATIONBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbarClass))

typedef struct _BoxesNotificationbar BoxesNotificationbar;
typedef struct _BoxesNotificationbarClass BoxesNotificationbarClass;
typedef struct _BoxesNotificationbarPrivate BoxesNotificationbarPrivate;

#define BOXES_TYPE_SEARCHBAR (boxes_searchbar_get_type ())
#define BOXES_SEARCHBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_SEARCHBAR, BoxesSearchbar))
#define BOXES_SEARCHBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_SEARCHBAR, BoxesSearchbarClass))
#define BOXES_IS_SEARCHBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_SEARCHBAR))
#define BOXES_IS_SEARCHBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_SEARCHBAR))
#define BOXES_SEARCHBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_SEARCHBAR, BoxesSearchbarClass))

typedef struct _BoxesSearchbar BoxesSearchbar;
typedef struct _BoxesSearchbarClass BoxesSearchbarClass;
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _Block52Data Block52Data;

#define BOXES_TYPE_AUTH_NOTIFICATION (boxes_auth_notification_get_type ())
#define BOXES_AUTH_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_AUTH_NOTIFICATION, BoxesAuthNotification))
#define BOXES_AUTH_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_AUTH_NOTIFICATION, BoxesAuthNotificationClass))
#define BOXES_IS_AUTH_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_AUTH_NOTIFICATION))
#define BOXES_IS_AUTH_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_AUTH_NOTIFICATION))
#define BOXES_AUTH_NOTIFICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_AUTH_NOTIFICATION, BoxesAuthNotificationClass))

typedef struct _BoxesAuthNotification BoxesAuthNotification;
typedef struct _BoxesAuthNotificationClass BoxesAuthNotificationClass;
typedef struct _Block53Data Block53Data;

#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 _Block54Data Block54Data;

#define BOXES_TYPE_APP (boxes_app_get_type ())
#define BOXES_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_APP, BoxesApp))
#define BOXES_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_APP, BoxesAppClass))
#define BOXES_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_APP))
#define BOXES_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_APP))
#define BOXES_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_APP, BoxesAppClass))

typedef struct _BoxesApp BoxesApp;
typedef struct _BoxesAppClass BoxesAppClass;

struct _BoxesNotificationbar {
	GtkGrid parent_instance;
	BoxesNotificationbarPrivate * priv;
	BoxesSearchbar* searchbar;
};

struct _BoxesNotificationbarClass {
	GtkGridClass parent_class;
};

struct _BoxesNotificationbarPrivate {
	GList* active_notifications;
};

typedef void (*BoxesNotificationOKFunc) (void* user_data);
typedef void (*BoxesNotificationCancelFunc) (void* user_data);
typedef void (*BoxesAuthNotificationAuthFunc) (const gchar* username, const gchar* password, void* user_data);
struct _Block52Data {
	int _ref_count_;
	BoxesNotificationbar* self;
	gchar* broker_name;
	BoxesAuthNotificationAuthFunc auth_func;
	gpointer auth_func_target;
	GDestroyNotify auth_func_target_destroy_notify;
	BoxesNotificationCancelFunc cancel_func;
	gpointer cancel_func_target;
	GDestroyNotify cancel_func_target_destroy_notify;
};

struct _Block53Data {
	int _ref_count_;
	BoxesNotificationbar* self;
	BoxesAuthNotification* notification;
};

struct _Block54Data {
	int _ref_count_;
	BoxesNotificationbar* self;
	BoxesNotification* notification;
};


static gpointer boxes_notificationbar_parent_class = NULL;
extern BoxesApp* boxes_app_app;

GType boxes_notificationbar_get_type (void) G_GNUC_CONST;
GType boxes_searchbar_get_type (void) G_GNUC_CONST;
#define BOXES_NOTIFICATIONBAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbarPrivate))
enum  {
	BOXES_NOTIFICATIONBAR_DUMMY_PROPERTY
};
static void _g_object_unref0_ (gpointer var);
static void _g_list_free__g_object_unref0_ (GList* self);
#define BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT 6
GdNotification* boxes_notificationbar_display_for_action (BoxesNotificationbar* self, const gchar* message, const gchar* action_label, BoxesNotificationOKFunc action_func, void* action_func_target, GDestroyNotify action_func_target_destroy_notify, BoxesNotificationCancelFunc ignore_func, void* ignore_func_target, GDestroyNotify ignore_func_target_destroy_notify, gint timeout);
static GdNotification* boxes_notificationbar_display (BoxesNotificationbar* self, const gchar* message, GtkMessageType message_type, const gchar* ok_label, BoxesNotificationOKFunc ok_func, void* ok_func_target, GDestroyNotify ok_func_target_destroy_notify, BoxesNotificationCancelFunc cancel_func, void* cancel_func_target, GDestroyNotify cancel_func_target_destroy_notify, gint timeout);
GdNotification* boxes_notificationbar_display_for_optional_auth (BoxesNotificationbar* self, const gchar* broker_name, BoxesAuthNotificationAuthFunc auth_func, void* auth_func_target, GDestroyNotify auth_func_target_destroy_notify, BoxesNotificationCancelFunc cancel_func, void* cancel_func_target, GDestroyNotify cancel_func_target_destroy_notify);
static Block52Data* block52_data_ref (Block52Data* _data52_);
static void block52_data_unref (void * _userdata_);
static void __lambda35_ (Block52Data* _data52_);
GdNotification* boxes_notificationbar_display_for_auth (BoxesNotificationbar* self, const gchar* auth_string, BoxesAuthNotificationAuthFunc auth_func, void* auth_func_target, GDestroyNotify auth_func_target_destroy_notify, BoxesNotificationCancelFunc cancel_func, void* cancel_func_target, GDestroyNotify cancel_func_target_destroy_notify, gboolean need_username);
static void ___lambda35__boxes_notification_ok_func (gpointer self);
GType boxes_auth_notification_get_type (void) G_GNUC_CONST;
static Block53Data* block53_data_ref (Block53Data* _data53_);
static void block53_data_unref (void * _userdata_);
BoxesAuthNotification* boxes_auth_notification_new (const gchar* auth_string, BoxesAuthNotificationAuthFunc auth_func, void* auth_func_target, GDestroyNotify auth_func_target_destroy_notify, BoxesNotificationCancelFunc cancel_func, void* cancel_func_target, GDestroyNotify cancel_func_target_destroy_notify, gboolean need_username, BoxesSearchbar* searchbar);
BoxesAuthNotification* boxes_auth_notification_construct (GType object_type, const gchar* auth_string, BoxesAuthNotificationAuthFunc auth_func, void* auth_func_target, GDestroyNotify auth_func_target_destroy_notify, BoxesNotificationCancelFunc cancel_func, void* cancel_func_target, GDestroyNotify cancel_func_target_destroy_notify, gboolean need_username, BoxesSearchbar* searchbar);
static void __lambda37_ (Block53Data* _data53_);
static void ___lambda37__gd_notification_dismissed (GdNotification* _sender, gpointer self);
static void boxes_notificationbar_add_notification (BoxesNotificationbar* self, GtkWidget* w);
GdNotification* boxes_notificationbar_display_error (BoxesNotificationbar* self, const gchar* message, gint timeout);
void boxes_notificationbar_cancel (BoxesNotificationbar* self);
GType boxes_notification_get_type (void) G_GNUC_CONST;
static Block54Data* block54_data_ref (Block54Data* _data54_);
static void block54_data_unref (void * _userdata_);
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, BoxesNotificationCancelFunc cancel_func, void* cancel_func_target, GDestroyNotify cancel_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, BoxesNotificationCancelFunc cancel_func, void* cancel_func_target, GDestroyNotify cancel_func_target_destroy_notify, gint timeout);
static void __lambda34_ (Block54Data* _data54_);
static void ___lambda34__gd_notification_dismissed (GdNotification* _sender, gpointer self);
BoxesNotificationbar* boxes_notificationbar_new (void);
BoxesNotificationbar* boxes_notificationbar_construct (GType object_type);
static GObject * boxes_notificationbar_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
GType boxes_app_get_type (void) G_GNUC_CONST;
static void _boxes_notificationbar___lambda38_ (BoxesNotificationbar* self);
static void __boxes_notificationbar___lambda38__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
static void boxes_notificationbar_finalize (GObject* obj);


static void _g_object_unref0_ (gpointer var) {
#line 7 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
#line 164 "notificationbar.c"
}


static void _g_list_free__g_object_unref0_ (GList* self) {
#line 7 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_list_foreach (self, (GFunc) _g_object_unref0_, NULL);
#line 7 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_list_free (self);
#line 173 "notificationbar.c"
}


GdNotification* boxes_notificationbar_display_for_action (BoxesNotificationbar* self, const gchar* message, const gchar* action_label, BoxesNotificationOKFunc action_func, void* action_func_target, GDestroyNotify action_func_target_destroy_notify, BoxesNotificationCancelFunc ignore_func, void* ignore_func_target, GDestroyNotify ignore_func_target_destroy_notify, gint timeout) {
	GdNotification* result = NULL;
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	BoxesNotificationOKFunc _tmp2_ = NULL;
	void* _tmp2__target = NULL;
	GDestroyNotify _tmp2__target_destroy_notify = NULL;
	BoxesNotificationCancelFunc _tmp3_ = NULL;
	void* _tmp3__target = NULL;
	GDestroyNotify _tmp3__target_destroy_notify = NULL;
	gint _tmp4_ = 0;
	GdNotification* _tmp5_ = NULL;
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (message != NULL, NULL);
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (action_label != NULL, NULL);
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = message;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = action_label;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = action_func;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target = action_func_target;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target_destroy_notify = action_func_target_destroy_notify;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	action_func_target_destroy_notify = NULL;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = ignore_func;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target = ignore_func_target;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target_destroy_notify = ignore_func_target_destroy_notify;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ignore_func_target_destroy_notify = NULL;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = timeout;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = boxes_notificationbar_display (self, _tmp0_, GTK_MESSAGE_INFO, _tmp1_, _tmp2_, _tmp2__target, _tmp2__target_destroy_notify, _tmp3_, _tmp3__target, _tmp3__target_destroy_notify, _tmp4_);
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp5_;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(action_func_target_destroy_notify == NULL) ? NULL : (action_func_target_destroy_notify (action_func_target), NULL);
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	action_func = NULL;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	action_func_target = NULL;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	action_func_target_destroy_notify = NULL;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(ignore_func_target_destroy_notify == NULL) ? NULL : (ignore_func_target_destroy_notify (ignore_func_target), NULL);
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ignore_func = NULL;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ignore_func_target = NULL;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ignore_func_target_destroy_notify = NULL;
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 239 "notificationbar.c"
}


static Block52Data* block52_data_ref (Block52Data* _data52_) {
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_atomic_int_inc (&_data52_->_ref_count_);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return _data52_;
#line 248 "notificationbar.c"
}


static void block52_data_unref (void * _userdata_) {
	Block52Data* _data52_;
	_data52_ = (Block52Data*) _userdata_;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	if (g_atomic_int_dec_and_test (&_data52_->_ref_count_)) {
#line 257 "notificationbar.c"
		BoxesNotificationbar* self;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		self = _data52_->self;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_free0 (_data52_->broker_name);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		(_data52_->auth_func_target_destroy_notify == NULL) ? NULL : (_data52_->auth_func_target_destroy_notify (_data52_->auth_func_target), NULL);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data52_->auth_func = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data52_->auth_func_target = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data52_->auth_func_target_destroy_notify = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		(_data52_->cancel_func_target_destroy_notify == NULL) ? NULL : (_data52_->cancel_func_target_destroy_notify (_data52_->cancel_func_target), NULL);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data52_->cancel_func = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data52_->cancel_func_target = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data52_->cancel_func_target_destroy_notify = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (self);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		g_slice_free (Block52Data, _data52_);
#line 283 "notificationbar.c"
	}
}


static void __lambda35_ (Block52Data* _data52_) {
	BoxesNotificationbar* self;
	gchar* auth_string = NULL;
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	BoxesAuthNotificationAuthFunc _tmp8_ = NULL;
	void* _tmp8__target = NULL;
	GDestroyNotify _tmp8__target_destroy_notify = NULL;
	BoxesNotificationCancelFunc _tmp9_ = NULL;
	void* _tmp9__target = NULL;
	GDestroyNotify _tmp9__target_destroy_notify = NULL;
	GdNotification* _tmp10_ = NULL;
	GdNotification* _tmp11_ = NULL;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self = _data52_->self;
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = _ ("Sign In to %s");
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = _data52_->broker_name;
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = g_strdup_printf (_tmp0_, _tmp1_);
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = _tmp2_;
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = g_strconcat ("<span font-weight=\"bold\">", _tmp3_, NULL);
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = _tmp4_;
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp6_ = g_strconcat (_tmp5_, "</span>", NULL);
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp7_ = _tmp6_;
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_tmp5_);
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_tmp3_);
#line 42 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_string = _tmp7_;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp8_ = _data52_->auth_func;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp8__target = _data52_->auth_func_target;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp8__target_destroy_notify = _data52_->auth_func_target_destroy_notify;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->auth_func_target_destroy_notify = NULL;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9_ = _data52_->cancel_func;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9__target = _data52_->cancel_func_target;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9__target_destroy_notify = _data52_->cancel_func_target_destroy_notify;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->cancel_func_target_destroy_notify = NULL;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp10_ = boxes_notificationbar_display_for_auth (self, auth_string, _tmp8_, _tmp8__target, _tmp8__target_destroy_notify, _tmp9_, _tmp9__target, _tmp9__target_destroy_notify, TRUE);
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp11_ = _tmp10_;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_object_unref0 (_tmp11_);
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_free0 (auth_string);
#line 355 "notificationbar.c"
}


static void ___lambda35__boxes_notification_ok_func (gpointer self) {
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__lambda35_ (self);
#line 362 "notificationbar.c"
}


GdNotification* boxes_notificationbar_display_for_optional_auth (BoxesNotificationbar* self, const gchar* broker_name, BoxesAuthNotificationAuthFunc auth_func, void* auth_func_target, GDestroyNotify auth_func_target_destroy_notify, BoxesNotificationCancelFunc cancel_func, void* cancel_func_target, GDestroyNotify cancel_func_target_destroy_notify) {
	GdNotification* result = NULL;
	Block52Data* _data52_;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	BoxesAuthNotificationAuthFunc _tmp2_ = NULL;
	void* _tmp2__target = NULL;
	BoxesNotificationCancelFunc _tmp3_ = NULL;
	void* _tmp3__target = NULL;
	BoxesNotificationOKFunc next_auth_step = NULL;
	void* next_auth_step_target = NULL;
	GDestroyNotify next_auth_step_target_destroy_notify = NULL;
	const gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
	const gchar* _tmp8_ = NULL;
	BoxesNotificationOKFunc _tmp9_ = NULL;
	void* _tmp9__target = NULL;
	GDestroyNotify _tmp9__target_destroy_notify = NULL;
	BoxesNotificationCancelFunc _tmp10_ = NULL;
	void* _tmp10__target = NULL;
	GDestroyNotify _tmp10__target_destroy_notify = NULL;
	GdNotification* _tmp11_ = NULL;
	GdNotification* _tmp12_ = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (broker_name != NULL, NULL);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_ = g_slice_new0 (Block52Data);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->_ref_count_ = 1;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->self = g_object_ref (self);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = broker_name;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_data52_->broker_name);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->broker_name = _tmp1_;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = auth_func;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target = auth_func_target;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(_data52_->auth_func_target_destroy_notify == NULL) ? NULL : (_data52_->auth_func_target_destroy_notify (_data52_->auth_func_target), NULL);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->auth_func = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->auth_func_target = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->auth_func_target_destroy_notify = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->auth_func = _tmp2_;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->auth_func_target = _tmp2__target;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->auth_func_target_destroy_notify = auth_func_target_destroy_notify;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = cancel_func;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target = cancel_func_target;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(_data52_->cancel_func_target_destroy_notify == NULL) ? NULL : (_data52_->cancel_func_target_destroy_notify (_data52_->cancel_func_target), NULL);
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->cancel_func = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->cancel_func_target = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->cancel_func_target_destroy_notify = NULL;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->cancel_func = _tmp3_;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->cancel_func_target = _tmp3__target;
#line 38 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->cancel_func_target_destroy_notify = cancel_func_target_destroy_notify;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step = ___lambda35__boxes_notification_ok_func;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target = block52_data_ref (_data52_);
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target_destroy_notify = block52_data_unref;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = _ ("Not connected to %s");
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = _data52_->broker_name;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp6_ = g_strdup_printf (_tmp4_, _tmp5_);
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp7_ = _tmp6_;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp8_ = _ ("Sign In");
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9_ = next_auth_step;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9__target = next_auth_step_target;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9__target_destroy_notify = next_auth_step_target_destroy_notify;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target_destroy_notify = NULL;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp10_ = _data52_->cancel_func;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp10__target = _data52_->cancel_func_target;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp10__target_destroy_notify = _data52_->cancel_func_target_destroy_notify;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_->cancel_func_target_destroy_notify = NULL;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp11_ = boxes_notificationbar_display_for_action (self, _tmp7_, _tmp8_, _tmp9_, _tmp9__target, _tmp9__target_destroy_notify, _tmp10_, _tmp10__target, _tmp10__target_destroy_notify, -1);
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp12_ = _tmp11_;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_tmp7_);
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp12_;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(next_auth_step_target_destroy_notify == NULL) ? NULL : (next_auth_step_target_destroy_notify (next_auth_step_target), NULL);
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step = NULL;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target = NULL;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target_destroy_notify = NULL;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	block52_data_unref (_data52_);
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data52_ = NULL;
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 499 "notificationbar.c"
}


static Block53Data* block53_data_ref (Block53Data* _data53_) {
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_atomic_int_inc (&_data53_->_ref_count_);
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return _data53_;
#line 508 "notificationbar.c"
}


static void block53_data_unref (void * _userdata_) {
	Block53Data* _data53_;
	_data53_ = (Block53Data*) _userdata_;
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	if (g_atomic_int_dec_and_test (&_data53_->_ref_count_)) {
#line 517 "notificationbar.c"
		BoxesNotificationbar* self;
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		self = _data53_->self;
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (_data53_->notification);
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (self);
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		g_slice_free (Block53Data, _data53_);
#line 527 "notificationbar.c"
	}
}


static gpointer _g_object_ref0 (gpointer self) {
#line 61 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return self ? g_object_ref (self) : NULL;
#line 535 "notificationbar.c"
}


static void __lambda37_ (Block53Data* _data53_) {
	BoxesNotificationbar* self;
#line 63 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self = _data53_->self;
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_remove (self->priv->active_notifications, (GtkWidget*) _data53_->notification);
#line 545 "notificationbar.c"
}


static void ___lambda37__gd_notification_dismissed (GdNotification* _sender, gpointer self) {
#line 63 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__lambda37_ (self);
#line 552 "notificationbar.c"
}


GdNotification* boxes_notificationbar_display_for_auth (BoxesNotificationbar* self, const gchar* auth_string, BoxesAuthNotificationAuthFunc auth_func, void* auth_func_target, GDestroyNotify auth_func_target_destroy_notify, BoxesNotificationCancelFunc cancel_func, void* cancel_func_target, GDestroyNotify cancel_func_target_destroy_notify, gboolean need_username) {
	GdNotification* result = NULL;
	Block53Data* _data53_;
	const gchar* _tmp0_ = NULL;
	BoxesAuthNotificationAuthFunc _tmp1_ = NULL;
	void* _tmp1__target = NULL;
	GDestroyNotify _tmp1__target_destroy_notify = NULL;
	BoxesNotificationCancelFunc _tmp2_ = NULL;
	void* _tmp2__target = NULL;
	GDestroyNotify _tmp2__target_destroy_notify = NULL;
	gboolean _tmp3_ = FALSE;
	BoxesSearchbar* _tmp4_ = NULL;
	BoxesAuthNotification* _tmp5_ = NULL;
	GtkWidget* _tmp6_ = NULL;
	GdNotification* _tmp7_ = NULL;
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (auth_string != NULL, NULL);
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data53_ = g_slice_new0 (Block53Data);
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data53_->_ref_count_ = 1;
#line 51 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data53_->self = g_object_ref (self);
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = auth_string;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = auth_func;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1__target = auth_func_target;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1__target_destroy_notify = auth_func_target_destroy_notify;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_func_target_destroy_notify = NULL;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = cancel_func;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target = cancel_func_target;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target_destroy_notify = cancel_func_target_destroy_notify;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target_destroy_notify = NULL;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = need_username;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = self->searchbar;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = boxes_auth_notification_new (_tmp0_, _tmp1_, _tmp1__target, _tmp1__target_destroy_notify, _tmp2_, _tmp2__target, _tmp2__target_destroy_notify, _tmp3_, _tmp4_);
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_object_ref_sink (_tmp5_);
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data53_->notification = _tmp5_;
#line 61 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp6_ = _g_object_ref0 ((GtkWidget*) _data53_->notification);
#line 61 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_prepend (self->priv->active_notifications, _tmp6_);
#line 63 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_signal_connect_data ((GdNotification*) _data53_->notification, "dismissed", (GCallback) ___lambda37__gd_notification_dismissed, block53_data_ref (_data53_), (GClosureNotify) block53_data_unref, 0);
#line 67 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	boxes_notificationbar_add_notification (self, (GtkWidget*) _data53_->notification);
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp7_ = _g_object_ref0 ((GdNotification*) _data53_->notification);
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp7_;
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	block53_data_unref (_data53_);
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data53_ = NULL;
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(auth_func_target_destroy_notify == NULL) ? NULL : (auth_func_target_destroy_notify (auth_func_target), NULL);
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_func = NULL;
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_func_target = NULL;
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_func_target_destroy_notify = NULL;
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(cancel_func_target_destroy_notify == NULL) ? NULL : (cancel_func_target_destroy_notify (cancel_func_target), NULL);
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func = NULL;
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target = NULL;
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target_destroy_notify = NULL;
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 643 "notificationbar.c"
}


GdNotification* boxes_notificationbar_display_error (BoxesNotificationbar* self, const gchar* message, gint timeout) {
	GdNotification* result = NULL;
	const gchar* _tmp0_ = NULL;
	gint _tmp1_ = 0;
	GdNotification* _tmp2_ = NULL;
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (message != NULL, NULL);
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = message;
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = timeout;
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = boxes_notificationbar_display (self, _tmp0_, GTK_MESSAGE_ERROR, NULL, NULL, NULL, NULL, NULL, NULL, NULL, _tmp1_);
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp2_;
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 666 "notificationbar.c"
}


void boxes_notificationbar_cancel (BoxesNotificationbar* self) {
#line 76 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_if_fail (self != NULL);
#line 78 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	while (TRUE) {
#line 675 "notificationbar.c"
		GList* _tmp0_ = NULL;
		GList* _tmp1_ = NULL;
		gconstpointer _tmp2_ = NULL;
#line 78 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_tmp0_ = self->priv->active_notifications;
#line 78 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		if (!(_tmp0_ != NULL)) {
#line 78 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
			break;
#line 685 "notificationbar.c"
		}
#line 79 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_tmp1_ = self->priv->active_notifications;
#line 79 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_tmp2_ = _tmp1_->data;
#line 79 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		gtk_widget_destroy ((GtkWidget*) _tmp2_);
#line 693 "notificationbar.c"
	}
}


static void boxes_notificationbar_add_notification (BoxesNotificationbar* self, GtkWidget* w) {
	GtkWidget* _tmp0_ = NULL;
#line 83 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_if_fail (self != NULL);
#line 83 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_if_fail (w != NULL);
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = w;
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	gtk_grid_attach ((GtkGrid*) self, _tmp0_, 0, 0, 1, 1);
#line 708 "notificationbar.c"
}


static Block54Data* block54_data_ref (Block54Data* _data54_) {
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_atomic_int_inc (&_data54_->_ref_count_);
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return _data54_;
#line 717 "notificationbar.c"
}


static void block54_data_unref (void * _userdata_) {
	Block54Data* _data54_;
	_data54_ = (Block54Data*) _userdata_;
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	if (g_atomic_int_dec_and_test (&_data54_->_ref_count_)) {
#line 726 "notificationbar.c"
		BoxesNotificationbar* self;
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		self = _data54_->self;
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (_data54_->notification);
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (self);
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		g_slice_free (Block54Data, _data54_);
#line 736 "notificationbar.c"
	}
}


static void __lambda34_ (Block54Data* _data54_) {
	BoxesNotificationbar* self;
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self = _data54_->self;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_remove (self->priv->active_notifications, (GtkWidget*) _data54_->notification);
#line 747 "notificationbar.c"
}


static void ___lambda34__gd_notification_dismissed (GdNotification* _sender, gpointer self) {
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__lambda34_ (self);
#line 754 "notificationbar.c"
}


static GdNotification* boxes_notificationbar_display (BoxesNotificationbar* self, const gchar* message, GtkMessageType message_type, const gchar* ok_label, BoxesNotificationOKFunc ok_func, void* ok_func_target, GDestroyNotify ok_func_target_destroy_notify, BoxesNotificationCancelFunc cancel_func, void* cancel_func_target, GDestroyNotify cancel_func_target_destroy_notify, gint timeout) {
	GdNotification* result = NULL;
	Block54Data* _data54_;
	const gchar* _tmp0_ = NULL;
	GtkMessageType _tmp1_ = 0;
	const gchar* _tmp2_ = NULL;
	BoxesNotificationOKFunc _tmp3_ = NULL;
	void* _tmp3__target = NULL;
	GDestroyNotify _tmp3__target_destroy_notify = NULL;
	BoxesNotificationCancelFunc _tmp4_ = NULL;
	void* _tmp4__target = NULL;
	GDestroyNotify _tmp4__target_destroy_notify = NULL;
	gint _tmp5_ = 0;
	BoxesNotification* _tmp6_ = NULL;
	GtkWidget* _tmp7_ = NULL;
	GdNotification* _tmp8_ = NULL;
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (message != NULL, NULL);
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data54_ = g_slice_new0 (Block54Data);
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data54_->_ref_count_ = 1;
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data54_->self = g_object_ref (self);
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = message;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = message_type;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = ok_label;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = ok_func;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target = ok_func_target;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target_destroy_notify = ok_func_target_destroy_notify;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ok_func_target_destroy_notify = NULL;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = cancel_func;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4__target = cancel_func_target;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4__target_destroy_notify = cancel_func_target_destroy_notify;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target_destroy_notify = NULL;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = timeout;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp6_ = boxes_notification_new (_tmp0_, _tmp1_, _tmp2_, _tmp3_, _tmp3__target, _tmp3__target_destroy_notify, _tmp4_, _tmp4__target, _tmp4__target_destroy_notify, _tmp5_);
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_object_ref_sink (_tmp6_);
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data54_->notification = _tmp6_;
#line 100 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp7_ = _g_object_ref0 ((GtkWidget*) _data54_->notification);
#line 100 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_prepend (self->priv->active_notifications, _tmp7_);
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_signal_connect_data ((GdNotification*) _data54_->notification, "dismissed", (GCallback) ___lambda34__gd_notification_dismissed, block54_data_ref (_data54_), (GClosureNotify) block54_data_unref, 0);
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	boxes_notificationbar_add_notification (self, (GtkWidget*) _data54_->notification);
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp8_ = _g_object_ref0 ((GdNotification*) _data54_->notification);
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp8_;
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	block54_data_unref (_data54_);
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data54_ = NULL;
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(ok_func_target_destroy_notify == NULL) ? NULL : (ok_func_target_destroy_notify (ok_func_target), NULL);
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ok_func = NULL;
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ok_func_target = NULL;
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ok_func_target_destroy_notify = NULL;
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(cancel_func_target_destroy_notify == NULL) ? NULL : (cancel_func_target_destroy_notify (cancel_func_target), NULL);
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func = NULL;
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target = NULL;
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target_destroy_notify = NULL;
#line 108 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 848 "notificationbar.c"
}


BoxesNotificationbar* boxes_notificationbar_construct (GType object_type) {
	BoxesNotificationbar * self = NULL;
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self = (BoxesNotificationbar*) g_object_new (object_type, NULL);
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return self;
#line 858 "notificationbar.c"
}


BoxesNotificationbar* boxes_notificationbar_new (void) {
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return boxes_notificationbar_construct (BOXES_TYPE_NOTIFICATIONBAR);
#line 865 "notificationbar.c"
}


static void _boxes_notificationbar___lambda38_ (BoxesNotificationbar* self) {
	GList* _tmp0_ = NULL;
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = self->priv->active_notifications;
#line 873 "notificationbar.c"
	{
		GList* w_collection = NULL;
		GList* w_it = NULL;
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		w_collection = _tmp0_;
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		for (w_it = w_collection; w_it != NULL; w_it = w_it->next) {
#line 881 "notificationbar.c"
			GtkWidget* _tmp1_ = NULL;
			GtkWidget* w = NULL;
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
			_tmp1_ = _g_object_ref0 ((GtkWidget*) w_it->data);
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
			w = _tmp1_;
#line 888 "notificationbar.c"
			{
				GtkContainer* parent = NULL;
				GtkWidget* _tmp2_ = NULL;
				GtkContainer* _tmp3_ = NULL;
				GtkContainer* _tmp4_ = NULL;
				GtkContainer* _tmp5_ = NULL;
				GtkWidget* _tmp8_ = NULL;
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp2_ = w;
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp3_ = (GtkContainer*) gtk_widget_get_parent (_tmp2_);
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, gtk_container_get_type ()) ? ((GtkContainer*) _tmp3_) : NULL);
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				parent = _tmp4_;
#line 23 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp5_ = parent;
#line 23 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				if (_tmp5_ != NULL) {
#line 908 "notificationbar.c"
					GtkContainer* _tmp6_ = NULL;
					GtkWidget* _tmp7_ = NULL;
#line 24 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
					_tmp6_ = parent;
#line 24 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
					_tmp7_ = w;
#line 24 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
					gtk_container_remove (_tmp6_, _tmp7_);
#line 917 "notificationbar.c"
				}
#line 25 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp8_ = w;
#line 25 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				boxes_notificationbar_add_notification (self, _tmp8_);
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_g_object_unref0 (parent);
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_g_object_unref0 (w);
#line 927 "notificationbar.c"
			}
		}
	}
}


static void __boxes_notificationbar___lambda38__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_boxes_notificationbar___lambda38_ ((BoxesNotificationbar*) self);
#line 937 "notificationbar.c"
}


static GObject * boxes_notificationbar_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	BoxesNotificationbar * self;
	GtkStyleContext* _tmp0_ = NULL;
	BoxesApp* _tmp1_ = NULL;
#line 11 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	parent_class = G_OBJECT_CLASS (boxes_notificationbar_parent_class);
#line 11 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
#line 11 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbar);
#line 12 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	gtk_widget_set_valign ((GtkWidget*) self, GTK_ALIGN_START);
#line 13 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	gtk_widget_set_halign ((GtkWidget*) self, GTK_ALIGN_CENTER);
#line 14 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = gtk_widget_get_style_context ((GtkWidget*) self);
#line 14 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	gtk_style_context_add_class (_tmp0_, "transparent-bg");
#line 16 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	gtk_widget_show ((GtkWidget*) self);
#line 18 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__g_list_free__g_object_unref0_0 (self->priv->active_notifications);
#line 18 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = NULL;
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = boxes_app_app;
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_signal_connect_object ((GObject*) _tmp1_, "notify::page", (GCallback) __boxes_notificationbar___lambda38__g_object_notify, self, 0);
#line 11 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return obj;
#line 973 "notificationbar.c"
}


static void boxes_notificationbar_class_init (BoxesNotificationbarClass * klass) {
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	boxes_notificationbar_parent_class = g_type_class_peek_parent (klass);
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_type_class_add_private (klass, sizeof (BoxesNotificationbarPrivate));
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	G_OBJECT_CLASS (klass)->constructor = boxes_notificationbar_constructor;
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_notificationbar_finalize;
#line 986 "notificationbar.c"
}


static void boxes_notificationbar_instance_init (BoxesNotificationbar * self) {
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv = BOXES_NOTIFICATIONBAR_GET_PRIVATE (self);
#line 993 "notificationbar.c"
}


static void boxes_notificationbar_finalize (GObject* obj) {
	BoxesNotificationbar * self;
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbar);
#line 7 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__g_list_free__g_object_unref0_0 (self->priv->active_notifications);
#line 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_object_unref0 (self->searchbar);
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	G_OBJECT_CLASS (boxes_notificationbar_parent_class)->finalize (obj);
#line 1007 "notificationbar.c"
}


GType boxes_notificationbar_get_type (void) {
	static volatile gsize boxes_notificationbar_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_notificationbar_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesNotificationbarClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_notificationbar_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesNotificationbar), 0, (GInstanceInitFunc) boxes_notificationbar_instance_init, NULL };
		GType boxes_notificationbar_type_id;
		boxes_notificationbar_type_id = g_type_register_static (gtk_grid_get_type (), "BoxesNotificationbar", &g_define_type_info, 0);
		g_once_init_leave (&boxes_notificationbar_type_id__volatile, boxes_notificationbar_type_id);
	}
	return boxes_notificationbar_type_id__volatile;
}



