/* notificationbar.c generated by valac 0.39.5, 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 <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;
enum  {
	BOXES_NOTIFICATIONBAR_0_PROPERTY,
	BOXES_NOTIFICATIONBAR_NUM_PROPERTIES
};
static GParamSpec* boxes_notificationbar_properties[BOXES_NOTIFICATIONBAR_NUM_PROPERTIES];
#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 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;
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _Block63Data Block63Data;

#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 _Block64Data Block64Data;
typedef struct _Block65Data Block65Data;

#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 (*BoxesNotificationDismissFunc) (void* user_data);
typedef void (*BoxesAuthNotificationAuthFunc) (const gchar* username, const gchar* password, void* user_data);
struct _Block63Data {
	int _ref_count_;
	BoxesNotificationbar* self;
	gchar* broker_name;
	BoxesAuthNotificationAuthFunc auth_func;
	gpointer auth_func_target;
	GDestroyNotify auth_func_target_destroy_notify;
	BoxesNotificationDismissFunc dismiss_func;
	gpointer dismiss_func_target;
	GDestroyNotify dismiss_func_target_destroy_notify;
};

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

struct _Block65Data {
	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))
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
#define BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT 6
#define BOXES_NOTIFICATIONBAR_MAX_NOTIFICATIONS 5
GType boxes_notification_get_type (void) G_GNUC_CONST;
BoxesNotification* 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,
                                                             BoxesNotificationDismissFunc ignore_func,
                                                             void* ignore_func_target,
                                                             GDestroyNotify ignore_func_target_destroy_notify,
                                                             gint timeout);
static BoxesNotification* 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,
                                                  BoxesNotificationDismissFunc dismiss_func,
                                                  void* dismiss_func_target,
                                                  GDestroyNotify dismiss_func_target_destroy_notify,
                                                  gint timeout);
BoxesNotification* 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,
                                                                    BoxesNotificationDismissFunc dismiss_func,
                                                                    void* dismiss_func_target,
                                                                    GDestroyNotify dismiss_func_target_destroy_notify);
static Block63Data* block63_data_ref (Block63Data* _data63_);
static void block63_data_unref (void * _userdata_);
static void __lambda48_ (Block63Data* _data63_);
GType boxes_auth_notification_get_type (void) G_GNUC_CONST;
BoxesAuthNotification* boxes_notificationbar_display_for_auth (BoxesNotificationbar* self,
                                                               const gchar* auth_string,
                                                               BoxesAuthNotificationAuthFunc auth_func,
                                                               void* auth_func_target,
                                                               GDestroyNotify auth_func_target_destroy_notify,
                                                               BoxesNotificationDismissFunc dismiss_func,
                                                               void* dismiss_func_target,
                                                               GDestroyNotify dismiss_func_target_destroy_notify,
                                                               gboolean need_username);
static void ___lambda48__boxes_notification_ok_func (gpointer self);
static Block64Data* block64_data_ref (Block64Data* _data64_);
static void block64_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,
                                                    BoxesNotificationDismissFunc dismiss_func,
                                                    void* dismiss_func_target,
                                                    GDestroyNotify dismiss_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,
                                                          BoxesNotificationDismissFunc dismiss_func,
                                                          void* dismiss_func_target,
                                                          GDestroyNotify dismiss_func_target_destroy_notify,
                                                          gboolean need_username,
                                                          BoxesSearchbar* searchbar);
static void __lambda50_ (Block64Data* _data64_);
static void ___lambda50__boxes_auth_notification_dismissed (BoxesAuthNotification* _sender,
                                                     gpointer self);
static void boxes_notificationbar_add_notification (BoxesNotificationbar* self,
                                             GtkWidget* w);
BoxesNotification* boxes_notificationbar_display_error (BoxesNotificationbar* self,
                                                        const gchar* message,
                                                        gint timeout);
void boxes_notificationbar_dismiss_all (BoxesNotificationbar* self);
void boxes_notification_dismiss (BoxesNotification* self);
static Block65Data* block65_data_ref (Block65Data* _data65_);
static void block65_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,
                                           BoxesNotificationDismissFunc dismiss_func,
                                           void* dismiss_func_target,
                                           GDestroyNotify dismiss_func_target_destroy_notify,
                                           gint timeout);
BoxesNotification* boxes_notification_construct (GType object_type,
                                                 const gchar* message,
                                                 GtkMessageType message_type,
                                                 const gchar* ok_label,
                                                 BoxesNotificationOKFunc ok_func,
                                                 void* ok_func_target,
                                                 GDestroyNotify ok_func_target_destroy_notify,
                                                 BoxesNotificationDismissFunc dismiss_func,
                                                 void* dismiss_func_target,
                                                 GDestroyNotify dismiss_func_target_destroy_notify,
                                                 gint timeout);
static void __lambda47_ (Block65Data* _data65_);
static void ___lambda47__boxes_notification_dismissed (BoxesNotification* _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___lambda51_ (BoxesNotificationbar* self);
static void __boxes_notificationbar___lambda51__g_object_notify (GObject* _sender,
                                                          GParamSpec* pspec,
                                                          gpointer self);
static void boxes_notificationbar_finalize (GObject * obj);


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


static inline void
_g_list_free__g_object_unref0_ (GList* self)
{
#line 8 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_list_free_full (self, (GDestroyNotify) _g_object_unref0_);
#line 257 "notificationbar.c"
}


BoxesNotification*
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,
                                          BoxesNotificationDismissFunc ignore_func,
                                          void* ignore_func_target,
                                          GDestroyNotify ignore_func_target_destroy_notify,
                                          gint timeout)
{
	BoxesNotification* result = NULL;
	BoxesNotificationOKFunc _tmp0_;
	void* _tmp0__target;
	GDestroyNotify _tmp0__target_destroy_notify;
	BoxesNotificationDismissFunc _tmp1_;
	void* _tmp1__target;
	GDestroyNotify _tmp1__target_destroy_notify;
	BoxesNotification* _tmp2_;
#line 32 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 32 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (message != NULL, NULL);
#line 32 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (action_label != NULL, NULL);
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = action_func;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0__target = action_func_target;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0__target_destroy_notify = action_func_target_destroy_notify;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	action_func = NULL;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	action_func_target = NULL;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	action_func_target_destroy_notify = NULL;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = ignore_func;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp1__target = ignore_func_target;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp1__target_destroy_notify = ignore_func_target_destroy_notify;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	ignore_func = NULL;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	ignore_func_target = NULL;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	ignore_func_target_destroy_notify = NULL;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = boxes_notificationbar_display (self, message, GTK_MESSAGE_INFO, action_label, _tmp0_, _tmp0__target, _tmp0__target_destroy_notify, _tmp1_, _tmp1__target, _tmp1__target_destroy_notify, timeout);
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	result = _tmp2_;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	(action_func_target_destroy_notify == NULL) ? NULL : (action_func_target_destroy_notify (action_func_target), NULL);
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	action_func = NULL;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	action_func_target = NULL;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	action_func_target_destroy_notify = NULL;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	(ignore_func_target_destroy_notify == NULL) ? NULL : (ignore_func_target_destroy_notify (ignore_func_target), NULL);
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	ignore_func = NULL;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	ignore_func_target = NULL;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	ignore_func_target_destroy_notify = NULL;
#line 37 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	return result;
#line 333 "notificationbar.c"
}


static Block63Data*
block63_data_ref (Block63Data* _data63_)
{
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_atomic_int_inc (&_data63_->_ref_count_);
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	return _data63_;
#line 344 "notificationbar.c"
}


static void
block63_data_unref (void * _userdata_)
{
	Block63Data* _data63_;
	_data63_ = (Block63Data*) _userdata_;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	if (g_atomic_int_dec_and_test (&_data63_->_ref_count_)) {
#line 355 "notificationbar.c"
		BoxesNotificationbar* self;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		self = _data63_->self;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		_g_free0 (_data63_->broker_name);
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		(_data63_->auth_func_target_destroy_notify == NULL) ? NULL : (_data63_->auth_func_target_destroy_notify (_data63_->auth_func_target), NULL);
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		_data63_->auth_func = NULL;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		_data63_->auth_func_target = NULL;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		_data63_->auth_func_target_destroy_notify = NULL;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		(_data63_->dismiss_func_target_destroy_notify == NULL) ? NULL : (_data63_->dismiss_func_target_destroy_notify (_data63_->dismiss_func_target), NULL);
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		_data63_->dismiss_func = NULL;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		_data63_->dismiss_func_target = NULL;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		_data63_->dismiss_func_target_destroy_notify = NULL;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (self);
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		g_slice_free (Block63Data, _data63_);
#line 381 "notificationbar.c"
	}
}


static void
__lambda48_ (Block63Data* _data63_)
{
	BoxesNotificationbar* self;
	gchar* auth_string = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	BoxesAuthNotificationAuthFunc _tmp6_;
	void* _tmp6__target;
	GDestroyNotify _tmp6__target_destroy_notify;
	BoxesNotificationDismissFunc _tmp7_;
	void* _tmp7__target;
	GDestroyNotify _tmp7__target_destroy_notify;
	BoxesAuthNotification* _tmp8_;
	BoxesAuthNotification* _tmp9_;
#line 43 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	self = _data63_->self;
#line 44 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = g_strdup_printf (_ ("Sign In to %s"), _data63_->broker_name);
#line 44 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = _tmp0_;
#line 44 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = g_strconcat ("<span font-weight=\"bold\">", _tmp1_, NULL);
#line 44 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = _tmp2_;
#line 44 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = g_strconcat (_tmp3_, "</span>", NULL);
#line 44 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = _tmp4_;
#line 44 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_tmp3_);
#line 44 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_tmp1_);
#line 44 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	auth_string = _tmp5_;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp6_ = _data63_->auth_func;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp6__target = _data63_->auth_func_target;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp6__target_destroy_notify = _data63_->auth_func_target_destroy_notify;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->auth_func = NULL;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->auth_func_target = NULL;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->auth_func_target_destroy_notify = NULL;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp7_ = _data63_->dismiss_func;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp7__target = _data63_->dismiss_func_target;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp7__target_destroy_notify = _data63_->dismiss_func_target_destroy_notify;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->dismiss_func = NULL;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->dismiss_func_target = NULL;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->dismiss_func_target_destroy_notify = NULL;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp8_ = boxes_notificationbar_display_for_auth (self, auth_string, _tmp6_, _tmp6__target, _tmp6__target_destroy_notify, _tmp7_, _tmp7__target, _tmp7__target_destroy_notify, TRUE);
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp9_ = _tmp8_;
#line 45 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_g_object_unref0 (_tmp9_);
#line 43 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_g_free0 (auth_string);
#line 457 "notificationbar.c"
}


static void
___lambda48__boxes_notification_ok_func (gpointer self)
{
#line 43 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	__lambda48_ (self);
#line 466 "notificationbar.c"
}


BoxesNotification*
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,
                                                 BoxesNotificationDismissFunc dismiss_func,
                                                 void* dismiss_func_target,
                                                 GDestroyNotify dismiss_func_target_destroy_notify)
{
	BoxesNotification* result = NULL;
	Block63Data* _data63_;
	gchar* _tmp0_;
	BoxesNotificationOKFunc next_auth_step = NULL;
	void* next_auth_step_target;
	GDestroyNotify next_auth_step_target_destroy_notify;
	gchar* _tmp1_;
	gchar* _tmp2_;
	BoxesNotificationOKFunc _tmp3_;
	void* _tmp3__target;
	GDestroyNotify _tmp3__target_destroy_notify;
	BoxesNotificationDismissFunc _tmp4_;
	void* _tmp4__target;
	GDestroyNotify _tmp4__target_destroy_notify;
	BoxesNotification* _tmp5_;
	BoxesNotification* _tmp6_;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (broker_name != NULL, NULL);
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_ = g_slice_new0 (Block63Data);
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->_ref_count_ = 1;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->self = g_object_ref (self);
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = g_strdup (broker_name);
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_data63_->broker_name);
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->broker_name = _tmp0_;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	(_data63_->auth_func_target_destroy_notify == NULL) ? NULL : (_data63_->auth_func_target_destroy_notify (_data63_->auth_func_target), NULL);
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->auth_func = NULL;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->auth_func_target = NULL;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->auth_func_target_destroy_notify = NULL;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->auth_func = auth_func;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->auth_func_target = auth_func_target;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->auth_func_target_destroy_notify = auth_func_target_destroy_notify;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	(_data63_->dismiss_func_target_destroy_notify == NULL) ? NULL : (_data63_->dismiss_func_target_destroy_notify (_data63_->dismiss_func_target), NULL);
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->dismiss_func = NULL;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->dismiss_func_target = NULL;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->dismiss_func_target_destroy_notify = NULL;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->dismiss_func = dismiss_func;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->dismiss_func_target = dismiss_func_target;
#line 40 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->dismiss_func_target_destroy_notify = dismiss_func_target_destroy_notify;
#line 43 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	next_auth_step = ___lambda48__boxes_notification_ok_func;
#line 43 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target = block63_data_ref (_data63_);
#line 43 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target_destroy_notify = block63_data_unref;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = g_strdup_printf (_ ("Not connected to %s"), _data63_->broker_name);
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = _tmp1_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = next_auth_step;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp3__target = next_auth_step_target;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp3__target_destroy_notify = next_auth_step_target_destroy_notify;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	next_auth_step = NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target = NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target_destroy_notify = NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = _data63_->dismiss_func;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp4__target = _data63_->dismiss_func_target;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp4__target_destroy_notify = _data63_->dismiss_func_target_destroy_notify;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->dismiss_func = NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->dismiss_func_target = NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_->dismiss_func_target_destroy_notify = NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = boxes_notificationbar_display_for_action (self, _tmp2_, _ ("Sign In"), _tmp3_, _tmp3__target, _tmp3__target_destroy_notify, _tmp4_, _tmp4__target, _tmp4__target_destroy_notify, -1);
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp6_ = _tmp5_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_tmp2_);
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	result = _tmp6_;
#line 47 "/home/fborges/checkout/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 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	next_auth_step = NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target = NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target_destroy_notify = NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	block63_data_unref (_data63_);
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data63_ = NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	return result;
#line 596 "notificationbar.c"
}


static Block64Data*
block64_data_ref (Block64Data* _data64_)
{
#line 53 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_atomic_int_inc (&_data64_->_ref_count_);
#line 53 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	return _data64_;
#line 607 "notificationbar.c"
}


static void
block64_data_unref (void * _userdata_)
{
	Block64Data* _data64_;
	_data64_ = (Block64Data*) _userdata_;
#line 53 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	if (g_atomic_int_dec_and_test (&_data64_->_ref_count_)) {
#line 618 "notificationbar.c"
		BoxesNotificationbar* self;
#line 53 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		self = _data64_->self;
#line 53 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (_data64_->notification);
#line 53 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (self);
#line 53 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		g_slice_free (Block64Data, _data64_);
#line 628 "notificationbar.c"
	}
}


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


static void
__lambda50_ (Block64Data* _data64_)
{
	BoxesNotificationbar* self;
#line 65 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	self = _data64_->self;
#line 66 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_remove (self->priv->active_notifications, (GtkWidget*) _data64_->notification);
#line 650 "notificationbar.c"
}


static void
___lambda50__boxes_auth_notification_dismissed (BoxesAuthNotification* _sender,
                                                gpointer self)
{
#line 65 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	__lambda50_ (self);
#line 660 "notificationbar.c"
}


BoxesAuthNotification*
boxes_notificationbar_display_for_auth (BoxesNotificationbar* self,
                                        const gchar* auth_string,
                                        BoxesAuthNotificationAuthFunc auth_func,
                                        void* auth_func_target,
                                        GDestroyNotify auth_func_target_destroy_notify,
                                        BoxesNotificationDismissFunc dismiss_func,
                                        void* dismiss_func_target,
                                        GDestroyNotify dismiss_func_target_destroy_notify,
                                        gboolean need_username)
{
	BoxesAuthNotification* result = NULL;
	Block64Data* _data64_;
	BoxesAuthNotificationAuthFunc _tmp0_;
	void* _tmp0__target;
	GDestroyNotify _tmp0__target_destroy_notify;
	BoxesNotificationDismissFunc _tmp1_;
	void* _tmp1__target;
	GDestroyNotify _tmp1__target_destroy_notify;
	BoxesSearchbar* _tmp2_;
	BoxesAuthNotification* _tmp3_;
	GtkWidget* _tmp4_;
	BoxesAuthNotification* _tmp5_;
#line 53 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 53 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (auth_string != NULL, NULL);
#line 53 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data64_ = g_slice_new0 (Block64Data);
#line 53 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data64_->_ref_count_ = 1;
#line 53 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data64_->self = g_object_ref (self);
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = auth_func;
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0__target = auth_func_target;
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0__target_destroy_notify = auth_func_target_destroy_notify;
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	auth_func = NULL;
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	auth_func_target = NULL;
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	auth_func_target_destroy_notify = NULL;
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = dismiss_func;
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp1__target = dismiss_func_target;
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp1__target_destroy_notify = dismiss_func_target_destroy_notify;
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	dismiss_func = NULL;
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	dismiss_func_target = NULL;
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	dismiss_func_target_destroy_notify = NULL;
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = self->searchbar;
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = boxes_auth_notification_new (auth_string, _tmp0_, _tmp0__target, _tmp0__target_destroy_notify, _tmp1_, _tmp1__target, _tmp1__target_destroy_notify, need_username, _tmp2_);
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_object_ref_sink (_tmp3_);
#line 57 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data64_->notification = _tmp3_;
#line 63 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = _g_object_ref0 ((GtkWidget*) _data64_->notification);
#line 63 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_prepend (self->priv->active_notifications, _tmp4_);
#line 65 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_signal_connect_data (_data64_->notification, "dismissed", (GCallback) ___lambda50__boxes_auth_notification_dismissed, block64_data_ref (_data64_), (GClosureNotify) block64_data_unref, 0);
#line 69 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	boxes_notificationbar_add_notification (self, (GtkWidget*) _data64_->notification);
#line 71 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = _g_object_ref0 (_data64_->notification);
#line 71 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	result = _tmp5_;
#line 71 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	block64_data_unref (_data64_);
#line 71 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data64_ = NULL;
#line 71 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	(auth_func_target_destroy_notify == NULL) ? NULL : (auth_func_target_destroy_notify (auth_func_target), NULL);
#line 71 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	auth_func = NULL;
#line 71 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	auth_func_target = NULL;
#line 71 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	auth_func_target_destroy_notify = NULL;
#line 71 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	(dismiss_func_target_destroy_notify == NULL) ? NULL : (dismiss_func_target_destroy_notify (dismiss_func_target), NULL);
#line 71 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	dismiss_func = NULL;
#line 71 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	dismiss_func_target = NULL;
#line 71 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	dismiss_func_target_destroy_notify = NULL;
#line 71 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	return result;
#line 763 "notificationbar.c"
}


BoxesNotification*
boxes_notificationbar_display_error (BoxesNotificationbar* self,
                                     const gchar* message,
                                     gint timeout)
{
	BoxesNotification* result = NULL;
	BoxesNotification* _tmp0_;
#line 74 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 74 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (message != NULL, NULL);
#line 75 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = boxes_notificationbar_display (self, message, GTK_MESSAGE_ERROR, NULL, NULL, NULL, NULL, NULL, NULL, NULL, timeout);
#line 75 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	result = _tmp0_;
#line 75 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	return result;
#line 784 "notificationbar.c"
}


void
boxes_notificationbar_dismiss_all (BoxesNotificationbar* self)
{
	GList* _tmp0_;
#line 78 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_if_fail (self != NULL);
#line 79 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = self->priv->active_notifications;
#line 796 "notificationbar.c"
	{
		GList* notification_collection = NULL;
		GList* notification_it = NULL;
#line 79 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		notification_collection = _tmp0_;
#line 79 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		for (notification_it = notification_collection; notification_it != NULL; notification_it = notification_it->next) {
#line 804 "notificationbar.c"
			GtkWidget* _tmp1_;
			GtkWidget* notification = NULL;
#line 79 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
			_tmp1_ = _g_object_ref0 ((GtkWidget*) notification_it->data);
#line 79 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
			notification = _tmp1_;
#line 811 "notificationbar.c"
			{
				GtkWidget* _tmp2_;
#line 80 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp2_ = notification;
#line 80 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				boxes_notification_dismiss (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, BOXES_TYPE_NOTIFICATION) ? ((BoxesNotification*) _tmp2_) : NULL);
#line 79 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_g_object_unref0 (notification);
#line 820 "notificationbar.c"
			}
		}
	}
}


static void
boxes_notificationbar_add_notification (BoxesNotificationbar* self,
                                        GtkWidget* w)
{
#line 83 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_if_fail (self != NULL);
#line 83 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_if_fail (w != NULL);
#line 84 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	gtk_container_add ((GtkContainer*) self, w);
#line 837 "notificationbar.c"
}


static Block65Data*
block65_data_ref (Block65Data* _data65_)
{
#line 87 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_atomic_int_inc (&_data65_->_ref_count_);
#line 87 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	return _data65_;
#line 848 "notificationbar.c"
}


static void
block65_data_unref (void * _userdata_)
{
	Block65Data* _data65_;
	_data65_ = (Block65Data*) _userdata_;
#line 87 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	if (g_atomic_int_dec_and_test (&_data65_->_ref_count_)) {
#line 859 "notificationbar.c"
		BoxesNotificationbar* self;
#line 87 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		self = _data65_->self;
#line 87 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (_data65_->notification);
#line 87 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (self);
#line 87 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		g_slice_free (Block65Data, _data65_);
#line 869 "notificationbar.c"
	}
}


static void
__lambda47_ (Block65Data* _data65_)
{
	BoxesNotificationbar* self;
	BoxesNotification* _tmp0_;
#line 111 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	self = _data65_->self;
#line 112 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = _data65_->notification;
#line 112 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_remove (self->priv->active_notifications, (GtkWidget*) _tmp0_);
#line 885 "notificationbar.c"
}


static void
___lambda47__boxes_notification_dismissed (BoxesNotification* _sender,
                                           gpointer self)
{
#line 111 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	__lambda47_ (self);
#line 895 "notificationbar.c"
}


static BoxesNotification*
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,
                               BoxesNotificationDismissFunc dismiss_func,
                               void* dismiss_func_target,
                               GDestroyNotify dismiss_func_target_destroy_notify,
                               gint timeout)
{
	BoxesNotification* result = NULL;
	Block65Data* _data65_;
	BoxesNotificationOKFunc _tmp0_;
	void* _tmp0__target;
	GDestroyNotify _tmp0__target_destroy_notify;
	BoxesNotificationDismissFunc _tmp1_;
	void* _tmp1__target;
	GDestroyNotify _tmp1__target_destroy_notify;
	BoxesNotification* _tmp2_;
	gint excess_notifications = 0;
	GList* _tmp3_;
	BoxesNotification* _tmp15_;
	GtkWidget* _tmp16_;
	BoxesNotification* _tmp17_;
	BoxesNotification* _tmp18_;
	BoxesNotification* _tmp19_;
	BoxesNotification* _tmp20_;
#line 87 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 87 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (message != NULL, NULL);
#line 87 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data65_ = g_slice_new0 (Block65Data);
#line 87 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data65_->_ref_count_ = 1;
#line 87 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data65_->self = g_object_ref (self);
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = ok_func;
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0__target = ok_func_target;
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0__target_destroy_notify = ok_func_target_destroy_notify;
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	ok_func = NULL;
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	ok_func_target = NULL;
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	ok_func_target_destroy_notify = NULL;
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = dismiss_func;
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp1__target = dismiss_func_target;
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp1__target_destroy_notify = dismiss_func_target_destroy_notify;
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	dismiss_func = NULL;
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	dismiss_func_target = NULL;
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	dismiss_func_target_destroy_notify = NULL;
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = boxes_notification_new (message, message_type, ok_label, _tmp0_, _tmp0__target, _tmp0__target_destroy_notify, _tmp1_, _tmp1__target, _tmp1__target_destroy_notify, timeout);
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_object_ref_sink (_tmp2_);
#line 93 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data65_->notification = _tmp2_;
#line 100 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = self->priv->active_notifications;
#line 100 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	excess_notifications = (((gint) g_list_length (_tmp3_)) - BOXES_NOTIFICATIONBAR_MAX_NOTIFICATIONS) + 1;
#line 973 "notificationbar.c"
	{
		gint i = 0;
		gint _tmp4_;
#line 102 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		_tmp4_ = excess_notifications;
#line 102 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		i = _tmp4_;
#line 981 "notificationbar.c"
		{
			gboolean _tmp5_ = FALSE;
#line 102 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
			_tmp5_ = TRUE;
#line 102 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
			while (TRUE) {
#line 988 "notificationbar.c"
				gint _tmp7_;
				BoxesNotification* last_notification = NULL;
				GList* _tmp8_;
				GList* _tmp9_;
				gint _tmp10_;
				gconstpointer _tmp11_;
				GtkWidget* _tmp12_;
				BoxesNotification* _tmp13_;
				BoxesNotification* _tmp14_;
#line 102 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				if (!_tmp5_) {
#line 1000 "notificationbar.c"
					gint _tmp6_;
#line 102 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
					_tmp6_ = i;
#line 102 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
					i = _tmp6_ - 1;
#line 1006 "notificationbar.c"
				}
#line 102 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp5_ = FALSE;
#line 102 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp7_ = i;
#line 102 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				if (!(_tmp7_ > 0)) {
#line 102 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
					break;
#line 1016 "notificationbar.c"
				}
#line 103 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp8_ = self->priv->active_notifications;
#line 103 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp9_ = self->priv->active_notifications;
#line 103 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp10_ = i;
#line 103 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp11_ = g_list_nth_data (_tmp8_, g_list_length (_tmp9_) - _tmp10_);
#line 103 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp12_ = (GtkWidget*) _tmp11_;
#line 103 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp13_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, BOXES_TYPE_NOTIFICATION) ? ((BoxesNotification*) _tmp12_) : NULL);
#line 103 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				last_notification = _tmp13_;
#line 106 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp14_ = last_notification;
#line 106 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				boxes_notification_dismiss (_tmp14_);
#line 102 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_g_object_unref0 (last_notification);
#line 1038 "notificationbar.c"
			}
		}
	}
#line 109 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp15_ = _data65_->notification;
#line 109 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp16_ = _g_object_ref0 ((GtkWidget*) _tmp15_);
#line 109 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_prepend (self->priv->active_notifications, _tmp16_);
#line 111 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp17_ = _data65_->notification;
#line 111 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_signal_connect_data (_tmp17_, "dismissed", (GCallback) ___lambda47__boxes_notification_dismissed, block65_data_ref (_data65_), (GClosureNotify) block65_data_unref, 0);
#line 115 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp18_ = _data65_->notification;
#line 115 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	boxes_notificationbar_add_notification (self, (GtkWidget*) _tmp18_);
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp19_ = _data65_->notification;
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp20_ = _g_object_ref0 (_tmp19_);
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	result = _tmp20_;
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	block65_data_unref (_data65_);
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_data65_ = NULL;
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	(ok_func_target_destroy_notify == NULL) ? NULL : (ok_func_target_destroy_notify (ok_func_target), NULL);
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	ok_func = NULL;
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	ok_func_target = NULL;
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	ok_func_target_destroy_notify = NULL;
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	(dismiss_func_target_destroy_notify == NULL) ? NULL : (dismiss_func_target_destroy_notify (dismiss_func_target), NULL);
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	dismiss_func = NULL;
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	dismiss_func_target = NULL;
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	dismiss_func_target_destroy_notify = NULL;
#line 117 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	return result;
#line 1084 "notificationbar.c"
}


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


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


static void
_boxes_notificationbar___lambda51_ (BoxesNotificationbar* self)
{
	GList* _tmp0_;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = self->priv->active_notifications;
#line 1115 "notificationbar.c"
	{
		GList* w_collection = NULL;
		GList* w_it = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		w_collection = _tmp0_;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
		for (w_it = w_collection; w_it != NULL; w_it = w_it->next) {
#line 1123 "notificationbar.c"
			GtkWidget* _tmp1_;
			GtkWidget* w = NULL;
#line 23 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
			_tmp1_ = _g_object_ref0 ((GtkWidget*) w_it->data);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
			w = _tmp1_;
#line 1130 "notificationbar.c"
			{
				GtkContainer* parent = NULL;
				GtkWidget* _tmp2_;
				GtkContainer* _tmp3_;
				GtkContainer* _tmp4_;
				GtkContainer* _tmp5_;
				GtkWidget* _tmp8_;
#line 24 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp2_ = w;
#line 24 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp3_ = gtk_widget_get_parent (_tmp2_);
#line 24 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, gtk_container_get_type ()) ? ((GtkContainer*) _tmp3_) : NULL);
#line 24 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				parent = _tmp4_;
#line 25 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp5_ = parent;
#line 25 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				if (_tmp5_ != NULL) {
#line 1150 "notificationbar.c"
					GtkContainer* _tmp6_;
					GtkWidget* _tmp7_;
#line 26 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
					_tmp6_ = parent;
#line 26 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
					_tmp7_ = w;
#line 26 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
					gtk_container_remove (_tmp6_, _tmp7_);
#line 1159 "notificationbar.c"
				}
#line 27 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_tmp8_ = w;
#line 27 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				boxes_notificationbar_add_notification (self, _tmp8_);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_g_object_unref0 (parent);
#line 23 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
				_g_object_unref0 (w);
#line 1169 "notificationbar.c"
			}
		}
	}
}


static void
__boxes_notificationbar___lambda51__g_object_notify (GObject* _sender,
                                                     GParamSpec* pspec,
                                                     gpointer self)
{
#line 22 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_boxes_notificationbar___lambda51_ ((BoxesNotificationbar*) self);
#line 1183 "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_;
	BoxesApp* _tmp1_;
#line 12 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	parent_class = G_OBJECT_CLASS (boxes_notificationbar_parent_class);
#line 12 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
#line 12 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbar);
#line 13 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	gtk_orientable_set_orientation ((GtkOrientable*) self, GTK_ORIENTATION_VERTICAL);
#line 14 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	gtk_widget_set_valign ((GtkWidget*) self, GTK_ALIGN_START);
#line 15 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	gtk_widget_set_halign ((GtkWidget*) self, GTK_ALIGN_CENTER);
#line 16 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = gtk_widget_get_style_context ((GtkWidget*) self);
#line 16 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	gtk_style_context_add_class (_tmp0_, "transparent-bg");
#line 18 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	gtk_widget_show ((GtkWidget*) self);
#line 20 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	__g_list_free__g_object_unref0_0 (self->priv->active_notifications);
#line 20 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = NULL;
#line 22 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = boxes_app_app;
#line 22 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	g_signal_connect_object ((GObject*) _tmp1_, "notify::page", (GCallback) __boxes_notificationbar___lambda51__g_object_notify, self, 0);
#line 12 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	return obj;
#line 1225 "notificationbar.c"
}


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


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


static void
boxes_notificationbar_finalize (GObject * obj)
{
	BoxesNotificationbar * self;
#line 4 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbar);
#line 8 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	__g_list_free__g_object_unref0_0 (self->priv->active_notifications);
#line 10 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	_g_object_unref0 (self->searchbar);
#line 4 "/home/fborges/checkout/gnome-boxes/src/notificationbar.vala"
	G_OBJECT_CLASS (boxes_notificationbar_parent_class)->finalize (obj);
#line 1265 "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;
}



