/* notificationbar.c generated by valac 0.23.2.10-fed12, 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 <clutter-gtk/clutter-gtk.h>
#include <gtk/gtk.h>
#include <clutter/clutter.h>
#include <gdk/gdk.h>
#include <float.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <libgd/gd.h>
#include <glib/gi18n-lib.h>
#include <gio/gio.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_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))

#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;
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _Block41Data Block41Data;

#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 _Block42Data Block42Data;

#define BOXES_TYPE_APP_PAGE (boxes_app_page_get_type ())

#define BOXES_TYPE_UI (boxes_ui_get_type ())
#define BOXES_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_UI, BoxesUI))
#define BOXES_IS_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_UI))
#define BOXES_UI_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_TYPE_UI, BoxesUIIface))

typedef struct _BoxesUI BoxesUI;
typedef struct _BoxesUIIface BoxesUIIface;

#define BOXES_TYPE_UI_STATE (boxes_ui_state_get_type ())
typedef struct _BoxesAppPrivate BoxesAppPrivate;

#define BOXES_TYPE_CLUTTER_WIDGET (boxes_clutter_widget_get_type ())
#define BOXES_CLUTTER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_CLUTTER_WIDGET, BoxesClutterWidget))
#define BOXES_CLUTTER_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_CLUTTER_WIDGET, BoxesClutterWidgetClass))
#define BOXES_IS_CLUTTER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_CLUTTER_WIDGET))
#define BOXES_IS_CLUTTER_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_CLUTTER_WIDGET))
#define BOXES_CLUTTER_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_CLUTTER_WIDGET, BoxesClutterWidgetClass))

typedef struct _BoxesClutterWidget BoxesClutterWidget;
typedef struct _BoxesClutterWidgetClass BoxesClutterWidgetClass;

#define BOXES_TYPE_COLLECTION_ITEM (boxes_collection_item_get_type ())
#define BOXES_COLLECTION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItem))
#define BOXES_COLLECTION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItemClass))
#define BOXES_IS_COLLECTION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_ITEM))
#define BOXES_IS_COLLECTION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_ITEM))
#define BOXES_COLLECTION_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItemClass))

typedef struct _BoxesCollectionItem BoxesCollectionItem;
typedef struct _BoxesCollectionItemClass BoxesCollectionItemClass;

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

typedef struct _BoxesSearchbar BoxesSearchbar;
typedef struct _BoxesSearchbarClass BoxesSearchbarClass;

#define BOXES_TYPE_TOPBAR (boxes_topbar_get_type ())
#define BOXES_TOPBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_TOPBAR, BoxesTopbar))
#define BOXES_TOPBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_TOPBAR, BoxesTopbarClass))
#define BOXES_IS_TOPBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_TOPBAR))
#define BOXES_IS_TOPBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_TOPBAR))
#define BOXES_TOPBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_TOPBAR, BoxesTopbarClass))

typedef struct _BoxesTopbar BoxesTopbar;
typedef struct _BoxesTopbarClass BoxesTopbarClass;

#define BOXES_TYPE_REVEALER (boxes_revealer_get_type ())
#define BOXES_REVEALER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_REVEALER, BoxesRevealer))
#define BOXES_REVEALER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_REVEALER, BoxesRevealerClass))
#define BOXES_IS_REVEALER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_REVEALER))
#define BOXES_IS_REVEALER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_REVEALER))
#define BOXES_REVEALER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_REVEALER, BoxesRevealerClass))

typedef struct _BoxesRevealer BoxesRevealer;
typedef struct _BoxesRevealerClass BoxesRevealerClass;

#define BOXES_TYPE_SIDEBAR (boxes_sidebar_get_type ())
#define BOXES_SIDEBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_SIDEBAR, BoxesSidebar))
#define BOXES_SIDEBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_SIDEBAR, BoxesSidebarClass))
#define BOXES_IS_SIDEBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_SIDEBAR))
#define BOXES_IS_SIDEBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_SIDEBAR))
#define BOXES_SIDEBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_SIDEBAR, BoxesSidebarClass))

typedef struct _BoxesSidebar BoxesSidebar;
typedef struct _BoxesSidebarClass BoxesSidebarClass;

#define BOXES_TYPE_SELECTIONBAR (boxes_selectionbar_get_type ())
#define BOXES_SELECTIONBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbar))
#define BOXES_SELECTIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbarClass))
#define BOXES_IS_SELECTIONBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_SELECTIONBAR))
#define BOXES_IS_SELECTIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_SELECTIONBAR))
#define BOXES_SELECTIONBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbarClass))

typedef struct _BoxesSelectionbar BoxesSelectionbar;
typedef struct _BoxesSelectionbarClass BoxesSelectionbarClass;

#define BOXES_TYPE_WIZARD (boxes_wizard_get_type ())
#define BOXES_WIZARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_WIZARD, BoxesWizard))
#define BOXES_WIZARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_WIZARD, BoxesWizardClass))
#define BOXES_IS_WIZARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_WIZARD))
#define BOXES_IS_WIZARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_WIZARD))
#define BOXES_WIZARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_WIZARD, BoxesWizardClass))

typedef struct _BoxesWizard BoxesWizard;
typedef struct _BoxesWizardClass BoxesWizardClass;

#define BOXES_TYPE_PROPERTIES (boxes_properties_get_type ())
#define BOXES_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_PROPERTIES, BoxesProperties))
#define BOXES_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_PROPERTIES, BoxesPropertiesClass))
#define BOXES_IS_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_PROPERTIES))
#define BOXES_IS_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_PROPERTIES))
#define BOXES_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_PROPERTIES, BoxesPropertiesClass))

typedef struct _BoxesProperties BoxesProperties;
typedef struct _BoxesPropertiesClass BoxesPropertiesClass;

#define BOXES_TYPE_DISPLAY_PAGE (boxes_display_page_get_type ())
#define BOXES_DISPLAY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_DISPLAY_PAGE, BoxesDisplayPage))
#define BOXES_DISPLAY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_DISPLAY_PAGE, BoxesDisplayPageClass))
#define BOXES_IS_DISPLAY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_DISPLAY_PAGE))
#define BOXES_IS_DISPLAY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_DISPLAY_PAGE))
#define BOXES_DISPLAY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_DISPLAY_PAGE, BoxesDisplayPageClass))

typedef struct _BoxesDisplayPage BoxesDisplayPage;
typedef struct _BoxesDisplayPageClass BoxesDisplayPageClass;

#define BOXES_TYPE_EMPTY_BOXES (boxes_empty_boxes_get_type ())
#define BOXES_EMPTY_BOXES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_EMPTY_BOXES, BoxesEmptyBoxes))
#define BOXES_EMPTY_BOXES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_EMPTY_BOXES, BoxesEmptyBoxesClass))
#define BOXES_IS_EMPTY_BOXES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_EMPTY_BOXES))
#define BOXES_IS_EMPTY_BOXES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_EMPTY_BOXES))
#define BOXES_EMPTY_BOXES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_EMPTY_BOXES, BoxesEmptyBoxesClass))

typedef struct _BoxesEmptyBoxes BoxesEmptyBoxes;
typedef struct _BoxesEmptyBoxesClass BoxesEmptyBoxesClass;

#define BOXES_TYPE_COLLECTION (boxes_collection_get_type ())
#define BOXES_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION, BoxesCollection))
#define BOXES_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION, BoxesCollectionClass))
#define BOXES_IS_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION))
#define BOXES_IS_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION))
#define BOXES_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION, BoxesCollectionClass))

typedef struct _BoxesCollection BoxesCollection;
typedef struct _BoxesCollectionClass BoxesCollectionClass;

#define BOXES_TYPE_COLLECTION_FILTER (boxes_collection_filter_get_type ())
#define BOXES_COLLECTION_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_FILTER, BoxesCollectionFilter))
#define BOXES_COLLECTION_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_FILTER, BoxesCollectionFilterClass))
#define BOXES_IS_COLLECTION_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_FILTER))
#define BOXES_IS_COLLECTION_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_FILTER))
#define BOXES_COLLECTION_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_FILTER, BoxesCollectionFilterClass))

typedef struct _BoxesCollectionFilter BoxesCollectionFilter;
typedef struct _BoxesCollectionFilterClass BoxesCollectionFilterClass;

#define BOXES_TYPE_COLLECTION_VIEW (boxes_collection_view_get_type ())
#define BOXES_COLLECTION_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_VIEW, BoxesCollectionView))
#define BOXES_COLLECTION_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_VIEW, BoxesCollectionViewClass))
#define BOXES_IS_COLLECTION_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_VIEW))
#define BOXES_IS_COLLECTION_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_VIEW))
#define BOXES_COLLECTION_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_VIEW, BoxesCollectionViewClass))

typedef struct _BoxesCollectionView BoxesCollectionView;
typedef struct _BoxesCollectionViewClass BoxesCollectionViewClass;

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

struct _BoxesNotificationbar {
	GObject parent_instance;
	BoxesNotificationbarPrivate * priv;
};

struct _BoxesNotificationbarClass {
	GObjectClass parent_class;
};

struct _BoxesNotificationbarPrivate {
	GtkClutterActor* gtk_actor;
	GtkGrid* top_grid;
	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 _Block41Data {
	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 _Block42Data {
	int _ref_count_;
	BoxesNotificationbar* self;
	BoxesAuthNotification* notification;
};

typedef enum  {
	BOXES_APP_PAGE_MAIN,
	BOXES_APP_PAGE_DISPLAY
} BoxesAppPage;

typedef enum  {
	BOXES_UI_STATE_NONE,
	BOXES_UI_STATE_COLLECTION,
	BOXES_UI_STATE_CREDS,
	BOXES_UI_STATE_DISPLAY,
	BOXES_UI_STATE_SETTINGS,
	BOXES_UI_STATE_WIZARD,
	BOXES_UI_STATE_PROPERTIES
} BoxesUIState;

struct _BoxesUIIface {
	GTypeInterface parent_iface;
	ClutterActor* (*get_actor) (BoxesUI* self);
	BoxesUIState (*get_previous_ui_state) (BoxesUI* self);
	void (*set_previous_ui_state) (BoxesUI* self, BoxesUIState value);
	BoxesUIState (*get_ui_state) (BoxesUI* self);
	void (*set_ui_state) (BoxesUI* self, BoxesUIState value);
};

struct _BoxesApp {
	GObject parent_instance;
	BoxesAppPrivate * priv;
	GtkApplicationWindow* window;
	BoxesClutterWidget* embed;
	ClutterStage* stage;
	ClutterBinLayout* stage_bin;
	ClutterActor* overlay_bin_actor;
	ClutterBinLayout* overlay_bin;
	BoxesCollectionItem* current_item;
	BoxesSearchbar* searchbar;
	BoxesTopbar* topbar;
	BoxesNotificationbar* notificationbar;
	BoxesRevealer* sidebar_revealer;
	BoxesSidebar* sidebar;
	BoxesSelectionbar* selectionbar;
	guint duration;
	GSettings* settings;
	BoxesWizard* wizard;
	BoxesProperties* properties;
	BoxesDisplayPage* display_page;
	BoxesEmptyBoxes* empty_boxes;
	BoxesCollection* collection;
	BoxesCollectionFilter* filter;
	BoxesCollectionView* view;
};

struct _BoxesAppClass {
	GObjectClass parent_class;
};

struct _Block43Data {
	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,
	BOXES_NOTIFICATIONBAR_ACTOR
};
static void _g_object_unref0_ (gpointer var);
static void _g_list_free__g_object_unref0_ (GList* self);
#define BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT 6
BoxesNotificationbar* boxes_notificationbar_new (void);
BoxesNotificationbar* boxes_notificationbar_construct (GType object_type);
GType boxes_app_get_type (void) G_GNUC_CONST;
static void __lambda22_ (BoxesNotificationbar* self);
static void boxes_notificationbar_add_notification (BoxesNotificationbar* self, GtkWidget* w);
static void ___lambda22__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
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 Block41Data* block41_data_ref (Block41Data* _data41_);
static void block41_data_unref (void * _userdata_);
static void __lambda26_ (Block41Data* _data41_);
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 ___lambda26__boxes_notification_ok_func (gpointer self);
GType boxes_auth_notification_get_type (void) G_GNUC_CONST;
static Block42Data* block42_data_ref (Block42Data* _data42_);
static void block42_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 __lambda128_ (Block42Data* _data42_);
static void ___lambda128__gd_notification_dismissed (GdNotification* _sender, gpointer self);
GdNotification* boxes_notificationbar_display_error (BoxesNotificationbar* self, const gchar* message, gint timeout);
void boxes_notificationbar_cancel (BoxesNotificationbar* self);
GType boxes_app_page_get_type (void) G_GNUC_CONST;
BoxesAppPage boxes_app_get_page (BoxesApp* self);
GType boxes_ui_state_get_type (void) G_GNUC_CONST;
GType boxes_ui_get_type (void) G_GNUC_CONST;
GType boxes_clutter_widget_get_type (void) G_GNUC_CONST;
GType boxes_collection_item_get_type (void) G_GNUC_CONST;
GType boxes_searchbar_get_type (void) G_GNUC_CONST;
GType boxes_topbar_get_type (void) G_GNUC_CONST;
GType boxes_revealer_get_type (void) G_GNUC_CONST;
GType boxes_sidebar_get_type (void) G_GNUC_CONST;
GType boxes_selectionbar_get_type (void) G_GNUC_CONST;
GType boxes_wizard_get_type (void) G_GNUC_CONST;
GType boxes_properties_get_type (void) G_GNUC_CONST;
GType boxes_display_page_get_type (void) G_GNUC_CONST;
GType boxes_empty_boxes_get_type (void) G_GNUC_CONST;
GType boxes_collection_get_type (void) G_GNUC_CONST;
GType boxes_collection_filter_get_type (void) G_GNUC_CONST;
GType boxes_collection_view_get_type (void) G_GNUC_CONST;
void boxes_display_page_add_notification (BoxesDisplayPage* self, GtkWidget* w);
GType boxes_notification_get_type (void) G_GNUC_CONST;
static Block43Data* block43_data_ref (Block43Data* _data43_);
static void block43_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 __lambda25_ (Block43Data* _data43_);
static void ___lambda25__gd_notification_dismissed (GdNotification* _sender, gpointer self);
ClutterActor* boxes_notificationbar_get_actor (BoxesNotificationbar* self);
static void boxes_notificationbar_finalize (GObject* obj);
static void _vala_boxes_notificationbar_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);


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


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


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


static void __lambda22_ (BoxesNotificationbar* self) {
	GList* _tmp0_ = NULL;
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = self->priv->active_notifications;
#line 413 "notificationbar.c"
	{
		GList* w_collection = NULL;
		GList* w_it = NULL;
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		w_collection = _tmp0_;
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		for (w_it = w_collection; w_it != NULL; w_it = w_it->next) {
#line 421 "notificationbar.c"
			GtkWidget* _tmp1_ = NULL;
			GtkWidget* w = NULL;
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
			_tmp1_ = _g_object_ref0 ((GtkWidget*) w_it->data);
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
			w = _tmp1_;
#line 428 "notificationbar.c"
			{
				GtkContainer* parent = NULL;
				GtkWidget* _tmp2_ = NULL;
				GtkWidget* _tmp3_ = NULL;
				GtkContainer* _tmp4_ = NULL;
				GtkContainer* _tmp5_ = NULL;
				GtkWidget* _tmp8_ = NULL;
#line 31 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp2_ = w;
#line 31 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp3_ = gtk_widget_get_parent (_tmp2_);
#line 31 "/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 31 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				parent = _tmp4_;
#line 32 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp5_ = parent;
#line 32 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				if (_tmp5_ != NULL) {
#line 448 "notificationbar.c"
					GtkContainer* _tmp6_ = NULL;
					GtkWidget* _tmp7_ = NULL;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
					_tmp6_ = parent;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
					_tmp7_ = w;
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
					gtk_container_remove (_tmp6_, _tmp7_);
#line 457 "notificationbar.c"
				}
#line 34 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_tmp8_ = w;
#line 34 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				boxes_notificationbar_add_notification (self, _tmp8_);
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_g_object_unref0 (parent);
#line 30 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
				_g_object_unref0 (w);
#line 467 "notificationbar.c"
			}
		}
	}
}


static void ___lambda22__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 29 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__lambda22_ ((BoxesNotificationbar*) self);
#line 477 "notificationbar.c"
}


BoxesNotificationbar* boxes_notificationbar_construct (GType object_type) {
	BoxesNotificationbar * self = NULL;
	GtkGrid* _tmp0_ = NULL;
	GtkGrid* _tmp1_ = NULL;
	GtkGrid* _tmp2_ = NULL;
	GtkClutterActor* _tmp3_ = NULL;
	GtkClutterActor* _tmp4_ = NULL;
	GtkClutterActor* _tmp5_ = NULL;
	GtkClutterActor* _tmp6_ = NULL;
	GtkClutterActor* _tmp7_ = NULL;
	GtkClutterActor* _tmp8_ = NULL;
	GdkRGBA transparent = {0};
	GdkRGBA _tmp9_ = {0};
	GtkClutterActor* _tmp10_ = NULL;
	GtkWidget* _tmp11_ = NULL;
	GdkRGBA _tmp12_ = {0};
	BoxesApp* _tmp13_ = NULL;
#line 14 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self = (BoxesNotificationbar*) g_object_new (object_type, NULL);
#line 15 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__g_list_free__g_object_unref0_0 (self->priv->active_notifications);
#line 15 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = NULL;
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = (GtkGrid*) gtk_grid_new ();
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_object_ref_sink (_tmp0_);
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_object_unref0 (self->priv->top_grid);
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->top_grid = _tmp0_;
#line 18 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = self->priv->top_grid;
#line 18 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	gtk_widget_show ((GtkWidget*) _tmp1_);
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = self->priv->top_grid;
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = (GtkClutterActor*) gtk_clutter_actor_new_with_contents ((GtkWidget*) _tmp2_);
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_object_ref_sink (_tmp3_);
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_object_unref0 (self->priv->gtk_actor);
#line 20 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->gtk_actor = _tmp3_;
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = self->priv->gtk_actor;
#line 21 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	clutter_actor_set_name ((ClutterActor*) _tmp4_, "notificationbar");
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = self->priv->gtk_actor;
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	clutter_actor_set_x_align ((ClutterActor*) _tmp5_, CLUTTER_ACTOR_ALIGN_CENTER);
#line 23 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp6_ = self->priv->gtk_actor;
#line 23 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	clutter_actor_set_y_align ((ClutterActor*) _tmp6_, CLUTTER_ACTOR_ALIGN_START);
#line 24 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp7_ = self->priv->gtk_actor;
#line 24 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	clutter_actor_set_x_expand ((ClutterActor*) _tmp7_, TRUE);
#line 25 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp8_ = self->priv->gtk_actor;
#line 25 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	clutter_actor_set_y_expand ((ClutterActor*) _tmp8_, TRUE);
#line 26 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9_.red = (gdouble) 0;
#line 26 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9_.green = (gdouble) 0;
#line 26 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9_.blue = (gdouble) 0;
#line 26 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9_.alpha = (gdouble) 0;
#line 26 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	transparent = _tmp9_;
#line 27 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp10_ = self->priv->gtk_actor;
#line 27 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp11_ = gtk_clutter_actor_get_widget (_tmp10_);
#line 27 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp12_ = transparent;
#line 27 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	gtk_widget_override_background_color (_tmp11_, 0, &_tmp12_);
#line 29 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp13_ = boxes_app_app;
#line 29 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_signal_connect_object ((GObject*) _tmp13_, "notify::page", (GCallback) ___lambda22__g_object_notify, self, 0);
#line 14 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return self;
#line 570 "notificationbar.c"
}


BoxesNotificationbar* boxes_notificationbar_new (void) {
#line 14 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return boxes_notificationbar_construct (BOXES_TYPE_NOTIFICATIONBAR);
#line 577 "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 39 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 39 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (message != NULL, NULL);
#line 39 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (action_label != NULL, NULL);
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = message;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = action_label;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = action_func;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target = action_func_target;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target_destroy_notify = action_func_target_destroy_notify;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	action_func_target_destroy_notify = NULL;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = ignore_func;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target = ignore_func_target;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target_destroy_notify = ignore_func_target_destroy_notify;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ignore_func_target_destroy_notify = NULL;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = timeout;
#line 44 "/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 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp5_;
#line 44 "/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 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	action_func = NULL;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	action_func_target = NULL;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	action_func_target_destroy_notify = NULL;
#line 44 "/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 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ignore_func = NULL;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ignore_func_target = NULL;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ignore_func_target_destroy_notify = NULL;
#line 44 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 643 "notificationbar.c"
}


static Block41Data* block41_data_ref (Block41Data* _data41_) {
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_atomic_int_inc (&_data41_->_ref_count_);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return _data41_;
#line 652 "notificationbar.c"
}


static void block41_data_unref (void * _userdata_) {
	Block41Data* _data41_;
	_data41_ = (Block41Data*) _userdata_;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	if (g_atomic_int_dec_and_test (&_data41_->_ref_count_)) {
#line 661 "notificationbar.c"
		BoxesNotificationbar* self;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		self = _data41_->self;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_free0 (_data41_->broker_name);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		(_data41_->auth_func_target_destroy_notify == NULL) ? NULL : (_data41_->auth_func_target_destroy_notify (_data41_->auth_func_target), NULL);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data41_->auth_func = NULL;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data41_->auth_func_target = NULL;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data41_->auth_func_target_destroy_notify = NULL;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		(_data41_->cancel_func_target_destroy_notify == NULL) ? NULL : (_data41_->cancel_func_target_destroy_notify (_data41_->cancel_func_target), NULL);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data41_->cancel_func = NULL;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data41_->cancel_func_target = NULL;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_data41_->cancel_func_target_destroy_notify = NULL;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (self);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		g_slice_free (Block41Data, _data41_);
#line 687 "notificationbar.c"
	}
}


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


static void ___lambda26__boxes_notification_ok_func (gpointer self) {
#line 50 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__lambda26_ (self);
#line 766 "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;
	Block41Data* _data41_;
	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 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (broker_name != NULL, NULL);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_ = g_slice_new0 (Block41Data);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->_ref_count_ = 1;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->self = g_object_ref (self);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = broker_name;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_data41_->broker_name);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->broker_name = _tmp1_;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = auth_func;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target = auth_func_target;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(_data41_->auth_func_target_destroy_notify == NULL) ? NULL : (_data41_->auth_func_target_destroy_notify (_data41_->auth_func_target), NULL);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->auth_func = NULL;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->auth_func_target = NULL;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->auth_func_target_destroy_notify = NULL;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->auth_func = _tmp2_;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->auth_func_target = _tmp2__target;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->auth_func_target_destroy_notify = auth_func_target_destroy_notify;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = cancel_func;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target = cancel_func_target;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	(_data41_->cancel_func_target_destroy_notify == NULL) ? NULL : (_data41_->cancel_func_target_destroy_notify (_data41_->cancel_func_target), NULL);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->cancel_func = NULL;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->cancel_func_target = NULL;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->cancel_func_target_destroy_notify = NULL;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->cancel_func = _tmp3_;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->cancel_func_target = _tmp3__target;
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->cancel_func_target_destroy_notify = cancel_func_target_destroy_notify;
#line 50 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step = ___lambda26__boxes_notification_ok_func;
#line 50 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target = block41_data_ref (_data41_);
#line 50 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target_destroy_notify = block41_data_unref;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = _ ("Not connected to %s");
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = _data41_->broker_name;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp6_ = g_strdup_printf (_tmp4_, _tmp5_);
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp7_ = _tmp6_;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp8_ = _ ("Sign In");
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9_ = next_auth_step;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9__target = next_auth_step_target;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp9__target_destroy_notify = next_auth_step_target_destroy_notify;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target_destroy_notify = NULL;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp10_ = _data41_->cancel_func;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp10__target = _data41_->cancel_func_target;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp10__target_destroy_notify = _data41_->cancel_func_target_destroy_notify;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_->cancel_func_target_destroy_notify = NULL;
#line 54 "/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 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp12_ = _tmp11_;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_free0 (_tmp7_);
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp12_;
#line 54 "/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 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step = NULL;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target = NULL;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	next_auth_step_target_destroy_notify = NULL;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	block41_data_unref (_data41_);
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data41_ = NULL;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 903 "notificationbar.c"
}


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


static void block42_data_unref (void * _userdata_) {
	Block42Data* _data42_;
	_data42_ = (Block42Data*) _userdata_;
#line 60 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	if (g_atomic_int_dec_and_test (&_data42_->_ref_count_)) {
#line 921 "notificationbar.c"
		BoxesNotificationbar* self;
#line 60 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		self = _data42_->self;
#line 60 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (_data42_->notification);
#line 60 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_g_object_unref0 (self);
#line 60 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		g_slice_free (Block42Data, _data42_);
#line 931 "notificationbar.c"
	}
}


static void __lambda128_ (Block42Data* _data42_) {
	BoxesNotificationbar* self;
#line 71 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self = _data42_->self;
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_remove (self->priv->active_notifications, (GtkWidget*) _data42_->notification);
#line 942 "notificationbar.c"
}


static void ___lambda128__gd_notification_dismissed (GdNotification* _sender, gpointer self) {
#line 71 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__lambda128_ (self);
#line 949 "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;
	Block42Data* _data42_;
	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 60 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 60 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (auth_string != NULL, NULL);
#line 60 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_ = g_slice_new0 (Block42Data);
#line 60 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->_ref_count_ = 1;
#line 60 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->self = g_object_ref (self);
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = auth_string;
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = auth_func;
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1__target = auth_func_target;
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1__target_destroy_notify = auth_func_target_destroy_notify;
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_func_target_destroy_notify = NULL;
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = cancel_func;
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target = cancel_func_target;
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2__target_destroy_notify = cancel_func_target_destroy_notify;
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target_destroy_notify = NULL;
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = need_username;
#line 64 "/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 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_object_ref_sink (_tmp4_);
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_->notification = _tmp4_;
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = _g_object_ref0 ((GtkWidget*) _data42_->notification);
#line 69 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_prepend (self->priv->active_notifications, _tmp5_);
#line 71 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_signal_connect_data ((GdNotification*) _data42_->notification, "dismissed", (GCallback) ___lambda128__gd_notification_dismissed, block42_data_ref (_data42_), (GClosureNotify) block42_data_unref, 0);
#line 75 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	boxes_notificationbar_add_notification (self, (GtkWidget*) _data42_->notification);
#line 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp6_ = _g_object_ref0 ((GdNotification*) _data42_->notification);
#line 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp6_;
#line 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	block42_data_unref (_data42_);
#line 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data42_ = NULL;
#line 77 "/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 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_func = NULL;
#line 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_func_target = NULL;
#line 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	auth_func_target_destroy_notify = NULL;
#line 77 "/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 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func = NULL;
#line 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target = NULL;
#line 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target_destroy_notify = NULL;
#line 77 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 1037 "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 80 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 80 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (message != NULL, NULL);
#line 81 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = message;
#line 81 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = timeout;
#line 81 "/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 81 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp2_;
#line 81 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 1060 "notificationbar.c"
}


void boxes_notificationbar_cancel (BoxesNotificationbar* self) {
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_if_fail (self != NULL);
#line 86 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	while (TRUE) {
#line 1069 "notificationbar.c"
		GList* _tmp0_ = NULL;
		GList* _tmp1_ = NULL;
		gconstpointer _tmp2_ = NULL;
#line 86 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_tmp0_ = self->priv->active_notifications;
#line 86 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		if (!(_tmp0_ != NULL)) {
#line 86 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
			break;
#line 1079 "notificationbar.c"
		}
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_tmp1_ = self->priv->active_notifications;
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_tmp2_ = _tmp1_->data;
#line 87 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		gtk_widget_destroy ((GtkWidget*) _tmp2_);
#line 1087 "notificationbar.c"
	}
}


static void boxes_notificationbar_add_notification (BoxesNotificationbar* self, GtkWidget* w) {
	BoxesApp* _tmp0_ = NULL;
	BoxesAppPage _tmp1_ = 0;
	BoxesAppPage _tmp2_ = 0;
#line 91 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_if_fail (self != NULL);
#line 91 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_if_fail (w != NULL);
#line 92 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = boxes_app_app;
#line 92 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = boxes_app_get_page (_tmp0_);
#line 92 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = _tmp1_;
#line 92 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	if (_tmp2_ == BOXES_APP_PAGE_MAIN) {
#line 1108 "notificationbar.c"
		GtkGrid* _tmp3_ = NULL;
		GtkWidget* _tmp4_ = NULL;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_tmp3_ = self->priv->top_grid;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_tmp4_ = w;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		gtk_grid_attach (_tmp3_, _tmp4_, 0, 0, 1, 1);
#line 1117 "notificationbar.c"
	} else {
		BoxesApp* _tmp5_ = NULL;
		BoxesDisplayPage* _tmp6_ = NULL;
		GtkWidget* _tmp7_ = NULL;
#line 95 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_tmp5_ = boxes_app_app;
#line 95 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_tmp6_ = _tmp5_->display_page;
#line 95 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		_tmp7_ = w;
#line 95 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		boxes_display_page_add_notification (_tmp6_, _tmp7_);
#line 1130 "notificationbar.c"
	}
}


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


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


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


static void ___lambda25__gd_notification_dismissed (GdNotification* _sender, gpointer self) {
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	__lambda25_ (self);
#line 1177 "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;
	Block43Data* _data43_;
	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 98 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 98 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (message != NULL, NULL);
#line 98 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data43_ = g_slice_new0 (Block43Data);
#line 98 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data43_->_ref_count_ = 1;
#line 98 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data43_->self = g_object_ref (self);
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = message;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp1_ = message_type;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp2_ = ok_label;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3_ = ok_func;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target = ok_func_target;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp3__target_destroy_notify = ok_func_target_destroy_notify;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ok_func_target_destroy_notify = NULL;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4_ = cancel_func;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4__target = cancel_func_target;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp4__target_destroy_notify = cancel_func_target_destroy_notify;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target_destroy_notify = NULL;
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp5_ = timeout;
#line 104 "/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 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_object_ref_sink (_tmp6_);
#line 104 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data43_->notification = _tmp6_;
#line 111 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp7_ = _g_object_ref0 ((GtkWidget*) _data43_->notification);
#line 111 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	self->priv->active_notifications = g_list_prepend (self->priv->active_notifications, _tmp7_);
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_signal_connect_data ((GdNotification*) _data43_->notification, "dismissed", (GCallback) ___lambda25__gd_notification_dismissed, block43_data_ref (_data43_), (GClosureNotify) block43_data_unref, 0);
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	boxes_notificationbar_add_notification (self, (GtkWidget*) _data43_->notification);
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp8_ = _g_object_ref0 ((GdNotification*) _data43_->notification);
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = _tmp8_;
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	block43_data_unref (_data43_);
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_data43_ = NULL;
#line 119 "/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 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ok_func = NULL;
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ok_func_target = NULL;
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	ok_func_target_destroy_notify = NULL;
#line 119 "/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 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func = NULL;
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target = NULL;
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	cancel_func_target_destroy_notify = NULL;
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 1271 "notificationbar.c"
}


ClutterActor* boxes_notificationbar_get_actor (BoxesNotificationbar* self) {
	ClutterActor* result;
	GtkClutterActor* _tmp0_ = NULL;
#line 7 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 7 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_tmp0_ = self->priv->gtk_actor;
#line 7 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	result = (ClutterActor*) _tmp0_;
#line 7 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	return result;
#line 1286 "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)->get_property = _vala_boxes_notificationbar_get_property;
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_notificationbar_finalize;
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_NOTIFICATIONBAR_ACTOR, g_param_spec_object ("actor", "actor", "actor", clutter_actor_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 1301 "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 1308 "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 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_object_unref0 (self->priv->gtk_actor);
#line 10 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	_g_object_unref0 (self->priv->top_grid);
#line 12 "/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 1324 "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 (G_TYPE_OBJECT, "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;
}


static void _vala_boxes_notificationbar_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	BoxesNotificationbar * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbar);
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
	switch (property_id) {
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		case BOXES_NOTIFICATIONBAR_ACTOR:
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		g_value_set_object (value, boxes_notificationbar_get_actor (self));
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		break;
#line 1351 "notificationbar.c"
		default:
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "/home/zeenix/checkout/gnome/gnome-boxes/src/notificationbar.vala"
		break;
#line 1357 "notificationbar.c"
	}
}



