/* notificationbar.c generated by valac 0.24.0.132-7b6ee, 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 __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _Block42Data Block42Data;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#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 _Block43Data Block43Data;

#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 _Block44Data Block44Data;

#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;
};

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 _Block42Data {
	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 _Block43Data {
	int _ref_count_;
	BoxesNotificationbar* self;
	BoxesAuthNotification* notification;
};

struct _Block44Data {
	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;
#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 Block42Data* block42_data_ref (Block42Data* _data42_);
static void block42_data_unref (void * _userdata_);
static void __lambda25_ (Block42Data* _data42_);
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 ___lambda25__boxes_notification_ok_func (gpointer self);
GType boxes_auth_notification_get_type (void) G_GNUC_CONST;
static Block43Data* block43_data_ref (Block43Data* _data43_);
static void block43_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);
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);
static void __lambda27_ (Block43Data* _data43_);
static void ___lambda27__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 Block44Data* block44_data_ref (Block44Data* _data44_);
static void block44_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 __lambda24_ (Block44Data* _data44_);
static void ___lambda24__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___lambda28_ (BoxesNotificationbar* self);
static void __boxes_notificationbar___lambda28__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 152 "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 161 "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 28 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 28 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (message != NULL, NULL);
#line 28 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (action_label != NULL, NULL);
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = message;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = action_label;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = action_func;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target = action_func_target;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target_destroy_notify = action_func_target_destroy_notify;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	action_func_target_destroy_notify = NULL;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = ignore_func;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target = ignore_func_target;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target_destroy_notify = ignore_func_target_destroy_notify;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ignore_func_target_destroy_notify = NULL;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = timeout;
#line 33 "/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 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp5_;
#line 33 "/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 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	action_func = NULL;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	action_func_target = NULL;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	action_func_target_destroy_notify = NULL;
#line 33 "/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 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ignore_func = NULL;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ignore_func_target = NULL;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ignore_func_target_destroy_notify = NULL;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 227 "notificationbar.c"
}


static Block42Data* block42_data_ref (Block42Data* _data42_) {
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_atomic_int_inc (&_data42_->_ref_count_);
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return _data42_;
#line 236 "notificationbar.c"
}


static void block42_data_unref (void * _userdata_) {
	Block42Data* _data42_;
	_data42_ = (Block42Data*) _userdata_;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	if (g_atomic_int_dec_and_test (&_data42_->_ref_count_)) {
#line 245 "notificationbar.c"
		BoxesNotificationbar* self;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		self = _data42_->self;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_free0 (_data42_->broker_name);
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		(_data42_->auth_func_target_destroy_notify == NULL) ? NULL : (_data42_->auth_func_target_destroy_notify (_data42_->auth_func_target), NULL);
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data42_->auth_func = NULL;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data42_->auth_func_target = NULL;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data42_->auth_func_target_destroy_notify = NULL;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		(_data42_->cancel_func_target_destroy_notify == NULL) ? NULL : (_data42_->cancel_func_target_destroy_notify (_data42_->cancel_func_target), NULL);
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data42_->cancel_func = NULL;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data42_->cancel_func_target = NULL;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data42_->cancel_func_target_destroy_notify = NULL;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (self);
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		g_slice_free (Block42Data, _data42_);
#line 271 "notificationbar.c"
	}
}


static void __lambda25_ (Block42Data* _data42_) {
	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 39 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self = _data42_->self;
#line 40 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = _ ("Sign In to %s");
#line 40 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = _data42_->broker_name;
#line 40 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = g_strdup_printf (_tmp0_, _tmp1_);
#line 40 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = _tmp2_;
#line 40 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = g_strconcat ("<span font-weight=\"bold\">", _tmp3_, NULL);
#line 40 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = _tmp4_;
#line 40 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp6_ = g_strconcat (_tmp5_, "</span>", NULL);
#line 40 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp7_ = _tmp6_;
#line 40 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_tmp5_);
#line 40 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_tmp3_);
#line 40 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_string = _tmp7_;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp8_ = _data42_->auth_func;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp8__target = _data42_->auth_func_target;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp8__target_destroy_notify = _data42_->auth_func_target_destroy_notify;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->auth_func_target_destroy_notify = NULL;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9_ = _data42_->cancel_func;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9__target = _data42_->cancel_func_target;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9__target_destroy_notify = _data42_->cancel_func_target_destroy_notify;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->cancel_func_target_destroy_notify = NULL;
#line 41 "/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 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp11_ = _tmp10_;
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_object_unref0 (_tmp11_);
#line 39 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_free0 (auth_string);
#line 343 "notificationbar.c"
}


static void ___lambda25__boxes_notification_ok_func (gpointer self) {
#line 39 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__lambda25_ (self);
#line 350 "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;
	Block42Data* _data42_;
	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 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (broker_name != NULL, NULL);
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_ = g_slice_new0 (Block42Data);
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->_ref_count_ = 1;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->self = g_object_ref (self);
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = broker_name;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_data42_->broker_name);
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->broker_name = _tmp1_;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = auth_func;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target = auth_func_target;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(_data42_->auth_func_target_destroy_notify == NULL) ? NULL : (_data42_->auth_func_target_destroy_notify (_data42_->auth_func_target), NULL);
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->auth_func = NULL;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->auth_func_target = NULL;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->auth_func_target_destroy_notify = NULL;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->auth_func = _tmp2_;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->auth_func_target = _tmp2__target;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->auth_func_target_destroy_notify = auth_func_target_destroy_notify;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = cancel_func;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target = cancel_func_target;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(_data42_->cancel_func_target_destroy_notify == NULL) ? NULL : (_data42_->cancel_func_target_destroy_notify (_data42_->cancel_func_target), NULL);
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->cancel_func = NULL;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->cancel_func_target = NULL;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->cancel_func_target_destroy_notify = NULL;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->cancel_func = _tmp3_;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->cancel_func_target = _tmp3__target;
#line 36 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->cancel_func_target_destroy_notify = cancel_func_target_destroy_notify;
#line 39 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step = ___lambda25__boxes_notification_ok_func;
#line 39 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target = block42_data_ref (_data42_);
#line 39 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target_destroy_notify = block42_data_unref;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = _ ("Not connected to %s");
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = _data42_->broker_name;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp6_ = g_strdup_printf (_tmp4_, _tmp5_);
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp7_ = _tmp6_;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp8_ = _ ("Sign In");
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9_ = next_auth_step;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9__target = next_auth_step_target;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9__target_destroy_notify = next_auth_step_target_destroy_notify;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target_destroy_notify = NULL;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp10_ = _data42_->cancel_func;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp10__target = _data42_->cancel_func_target;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp10__target_destroy_notify = _data42_->cancel_func_target_destroy_notify;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->cancel_func_target_destroy_notify = NULL;
#line 43 "/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 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp12_ = _tmp11_;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_tmp7_);
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp12_;
#line 43 "/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 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step = NULL;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target = NULL;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target_destroy_notify = NULL;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	block42_data_unref (_data42_);
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_ = NULL;
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 487 "notificationbar.c"
}


static Block43Data* block43_data_ref (Block43Data* _data43_) {
#line 49 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_atomic_int_inc (&_data43_->_ref_count_);
#line 49 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return _data43_;
#line 496 "notificationbar.c"
}


static void block43_data_unref (void * _userdata_) {
	Block43Data* _data43_;
	_data43_ = (Block43Data*) _userdata_;
#line 49 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	if (g_atomic_int_dec_and_test (&_data43_->_ref_count_)) {
#line 505 "notificationbar.c"
		BoxesNotificationbar* self;
#line 49 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		self = _data43_->self;
#line 49 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (_data43_->notification);
#line 49 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (self);
#line 49 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		g_slice_free (Block43Data, _data43_);
#line 515 "notificationbar.c"
	}
}


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


static void __lambda27_ (Block43Data* _data43_) {
	BoxesNotificationbar* self;
#line 60 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self = _data43_->self;
#line 61 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_remove (self->priv->active_notifications, (GtkWidget*) _data43_->notification);
#line 533 "notificationbar.c"
}


static void ___lambda27__gd_notification_dismissed (GdNotification* _sender, gpointer self) {
#line 60 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__lambda27_ (self);
#line 540 "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;
	Block43Data* _data43_;
	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;
	BoxesAuthNotification* _tmp4_ = NULL;
	GtkWidget* _tmp5_ = NULL;
	GdNotification* _tmp6_ = NULL;
#line 49 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 49 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (auth_string != NULL, NULL);
#line 49 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data43_ = g_slice_new0 (Block43Data);
#line 49 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data43_->_ref_count_ = 1;
#line 49 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data43_->self = g_object_ref (self);
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = auth_string;
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = auth_func;
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1__target = auth_func_target;
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1__target_destroy_notify = auth_func_target_destroy_notify;
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_func_target_destroy_notify = NULL;
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = cancel_func;
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target = cancel_func_target;
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target_destroy_notify = cancel_func_target_destroy_notify;
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target_destroy_notify = NULL;
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = need_username;
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = boxes_auth_notification_new (_tmp0_, _tmp1_, _tmp1__target, _tmp1__target_destroy_notify, _tmp2_, _tmp2__target, _tmp2__target_destroy_notify, _tmp3_);
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_object_ref_sink (_tmp4_);
#line 53 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data43_->notification = _tmp4_;
#line 58 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = _g_object_ref0 ((GtkWidget*) _data43_->notification);
#line 58 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_prepend (self->priv->active_notifications, _tmp5_);
#line 60 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_signal_connect_data ((GdNotification*) _data43_->notification, "dismissed", (GCallback) ___lambda27__gd_notification_dismissed, block43_data_ref (_data43_), (GClosureNotify) block43_data_unref, 0);
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	boxes_notificationbar_add_notification (self, (GtkWidget*) _data43_->notification);
#line 66 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp6_ = _g_object_ref0 ((GdNotification*) _data43_->notification);
#line 66 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp6_;
#line 66 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	block43_data_unref (_data43_);
#line 66 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data43_ = NULL;
#line 66 "/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 66 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_func = NULL;
#line 66 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_func_target = NULL;
#line 66 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_func_target_destroy_notify = NULL;
#line 66 "/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 66 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func = NULL;
#line 66 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target = NULL;
#line 66 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target_destroy_notify = NULL;
#line 66 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 628 "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 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (message != NULL, NULL);
#line 70 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = message;
#line 70 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = timeout;
#line 70 "/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 70 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp2_;
#line 70 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 651 "notificationbar.c"
}


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


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


static Block44Data* block44_data_ref (Block44Data* _data44_) {
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_atomic_int_inc (&_data44_->_ref_count_);
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return _data44_;
#line 702 "notificationbar.c"
}


static void block44_data_unref (void * _userdata_) {
	Block44Data* _data44_;
	_data44_ = (Block44Data*) _userdata_;
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	if (g_atomic_int_dec_and_test (&_data44_->_ref_count_)) {
#line 711 "notificationbar.c"
		BoxesNotificationbar* self;
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		self = _data44_->self;
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (_data44_->notification);
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (self);
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		g_slice_free (Block44Data, _data44_);
#line 721 "notificationbar.c"
	}
}


static void __lambda24_ (Block44Data* _data44_) {
	BoxesNotificationbar* self;
#line 99 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self = _data44_->self;
#line 100 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_remove (self->priv->active_notifications, (GtkWidget*) _data44_->notification);
#line 732 "notificationbar.c"
}


static void ___lambda24__gd_notification_dismissed (GdNotification* _sender, gpointer self) {
#line 99 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__lambda24_ (self);
#line 739 "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;
	Block44Data* _data44_;
	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 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (message != NULL, NULL);
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data44_ = g_slice_new0 (Block44Data);
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data44_->_ref_count_ = 1;
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data44_->self = g_object_ref (self);
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = message;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = message_type;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = ok_label;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = ok_func;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target = ok_func_target;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target_destroy_notify = ok_func_target_destroy_notify;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ok_func_target_destroy_notify = NULL;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = cancel_func;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4__target = cancel_func_target;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4__target_destroy_notify = cancel_func_target_destroy_notify;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target_destroy_notify = NULL;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = timeout;
#line 90 "/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 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_object_ref_sink (_tmp6_);
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data44_->notification = _tmp6_;
#line 97 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp7_ = _g_object_ref0 ((GtkWidget*) _data44_->notification);
#line 97 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_prepend (self->priv->active_notifications, _tmp7_);
#line 99 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_signal_connect_data ((GdNotification*) _data44_->notification, "dismissed", (GCallback) ___lambda24__gd_notification_dismissed, block44_data_ref (_data44_), (GClosureNotify) block44_data_unref, 0);
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	boxes_notificationbar_add_notification (self, (GtkWidget*) _data44_->notification);
#line 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp8_ = _g_object_ref0 ((GdNotification*) _data44_->notification);
#line 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp8_;
#line 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	block44_data_unref (_data44_);
#line 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data44_ = NULL;
#line 105 "/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 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ok_func = NULL;
#line 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ok_func_target = NULL;
#line 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ok_func_target_destroy_notify = NULL;
#line 105 "/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 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func = NULL;
#line 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target = NULL;
#line 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target_destroy_notify = NULL;
#line 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 833 "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 843 "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 850 "notificationbar.c"
}


static void _boxes_notificationbar___lambda28_ (BoxesNotificationbar* self) {
	GList* _tmp0_ = NULL;
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = self->priv->active_notifications;
#line 858 "notificationbar.c"
	{
		GList* w_collection = NULL;
		GList* w_it = NULL;
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		w_collection = _tmp0_;
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		for (w_it = w_collection; w_it != NULL; w_it = w_it->next) {
#line 866 "notificationbar.c"
			GtkWidget* _tmp1_ = NULL;
			GtkWidget* w = NULL;
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
			_tmp1_ = _g_object_ref0 ((GtkWidget*) w_it->data);
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
			w = _tmp1_;
#line 873 "notificationbar.c"
			{
				GtkContainer* parent = NULL;
				GtkWidget* _tmp2_ = NULL;
				GtkWidget* _tmp3_ = NULL;
				GtkContainer* _tmp4_ = NULL;
				GtkContainer* _tmp5_ = NULL;
				GtkWidget* _tmp8_ = NULL;
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp2_ = w;
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp3_ = gtk_widget_get_parent (_tmp2_);
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, GTK_TYPE_CONTAINER) ? ((GtkContainer*) _tmp3_) : NULL);
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				parent = _tmp4_;
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp5_ = parent;
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				if (_tmp5_ != NULL) {
#line 893 "notificationbar.c"
					GtkContainer* _tmp6_ = NULL;
					GtkWidget* _tmp7_ = NULL;
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
					_tmp6_ = parent;
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
					_tmp7_ = w;
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
					gtk_container_remove (_tmp6_, _tmp7_);
#line 902 "notificationbar.c"
				}
#line 23 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp8_ = w;
#line 23 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				boxes_notificationbar_add_notification (self, _tmp8_);
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_g_object_unref0 (parent);
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_g_object_unref0 (w);
#line 912 "notificationbar.c"
			}
		}
	}
}


static void __boxes_notificationbar___lambda28__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 18 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_boxes_notificationbar___lambda28_ ((BoxesNotificationbar*) self);
#line 922 "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 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	parent_class = G_OBJECT_CLASS (boxes_notificationbar_parent_class);
#line 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
#line 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbar);
#line 10 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	gtk_widget_set_valign ((GtkWidget*) self, GTK_ALIGN_START);
#line 11 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	gtk_widget_set_halign ((GtkWidget*) self, GTK_ALIGN_CENTER);
#line 12 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = gtk_widget_get_style_context ((GtkWidget*) self);
#line 12 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	gtk_style_context_add_class (_tmp0_, "boxes-bg");
#line 14 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	gtk_widget_show ((GtkWidget*) self);
#line 16 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__g_list_free__g_object_unref0_0 (self->priv->active_notifications);
#line 16 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = NULL;
#line 18 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = boxes_app_app;
#line 18 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_signal_connect_object ((GObject*) _tmp1_, "notify::page", (GCallback) __boxes_notificationbar___lambda28__g_object_notify, self, 0);
#line 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return obj;
#line 958 "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 971 "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 978 "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 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	G_OBJECT_CLASS (boxes_notificationbar_parent_class)->finalize (obj);
#line 990 "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_TYPE_GRID, "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;
}



