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

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

#include <glib.h>
#include <glib-object.h>
#include <gio/gio.h>
#include <libcommon.h>
#include <gtk/gtk.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <stdlib.h>
#include <string.h>
#include <glib/gi18n-lib.h>
#include <config.h>
#include <spice-client.h>
#include <gtk-vnc.h>
#include <gdk/gdk.h>
#include <libvirt-gobject/libvirt-gobject.h>


#define BOXES_TYPE_BROKER (boxes_broker_get_type ())
#define BOXES_BROKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_BROKER, BoxesBroker))
#define BOXES_BROKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_BROKER, BoxesBrokerClass))
#define BOXES_IS_BROKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_BROKER))
#define BOXES_IS_BROKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_BROKER))
#define BOXES_BROKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_BROKER, BoxesBrokerClass))

typedef struct _BoxesBroker BoxesBroker;
typedef struct _BoxesBrokerClass BoxesBrokerClass;
typedef struct _BoxesBrokerPrivate BoxesBrokerPrivate;
enum  {
	BOXES_BROKER_0_PROPERTY,
	BOXES_BROKER_NUM_PROPERTIES
};
static GParamSpec* boxes_broker_properties[BOXES_BROKER_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (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;
typedef struct _BoxesAppPrivate BoxesAppPrivate;

#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_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_MACHINE (boxes_machine_get_type ())
#define BOXES_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_MACHINE, BoxesMachine))
#define BOXES_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_MACHINE, BoxesMachineClass))
#define BOXES_IS_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_MACHINE))
#define BOXES_IS_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_MACHINE))
#define BOXES_MACHINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_MACHINE, BoxesMachineClass))

typedef struct _BoxesMachine BoxesMachine;
typedef struct _BoxesMachineClass BoxesMachineClass;

#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 _BoxesCollectionItemPrivate BoxesCollectionItemPrivate;

#define BOXES_TYPE_IPROPERTIES_PROVIDER (boxes_iproperties_provider_get_type ())
#define BOXES_IPROPERTIES_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_IPROPERTIES_PROVIDER, BoxesIPropertiesProvider))
#define BOXES_IS_IPROPERTIES_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_IPROPERTIES_PROVIDER))
#define BOXES_IPROPERTIES_PROVIDER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_TYPE_IPROPERTIES_PROVIDER, BoxesIPropertiesProviderIface))

typedef struct _BoxesIPropertiesProvider BoxesIPropertiesProvider;
typedef struct _BoxesIPropertiesProviderIface BoxesIPropertiesProviderIface;

#define BOXES_TYPE_PROPERTIES_PAGE (boxes_properties_page_get_type ())

#define BOXES_TYPE_PROPERTY (boxes_property_get_type ())
#define BOXES_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_PROPERTY, BoxesProperty))
#define BOXES_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_PROPERTY, BoxesPropertyClass))
#define BOXES_IS_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_PROPERTY))
#define BOXES_IS_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_PROPERTY))
#define BOXES_PROPERTY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_PROPERTY, BoxesPropertyClass))

typedef struct _BoxesProperty BoxesProperty;
typedef struct _BoxesPropertyClass BoxesPropertyClass;
typedef struct _BoxesMachinePrivate BoxesMachinePrivate;

#define BOXES_MACHINE_TYPE_CONNECT_FLAGS (boxes_machine_connect_flags_get_type ())
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))
typedef struct _BoxesBrokerAddSourceData BoxesBrokerAddSourceData;

#define BOXES_TYPE_APP_WINDOW (boxes_app_window_get_type ())
#define BOXES_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_APP_WINDOW, BoxesAppWindow))
#define BOXES_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_APP_WINDOW, BoxesAppWindowClass))
#define BOXES_IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_APP_WINDOW))
#define BOXES_IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_APP_WINDOW))
#define BOXES_APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_APP_WINDOW, BoxesAppWindowClass))

typedef struct _BoxesAppWindow BoxesAppWindow;
typedef struct _BoxesAppWindowClass BoxesAppWindowClass;
enum  {
	BOXES_APP_0_PROPERTY,
	BOXES_APP_MAIN_WINDOW_PROPERTY,
	BOXES_APP_URI_PROPERTY,
	BOXES_APP_DEFAULT_CONNECTION_PROPERTY,
	BOXES_APP_DEFAULT_SOURCE_PROPERTY,
	BOXES_APP_SELECTED_ITEMS_PROPERTY,
	BOXES_APP_NUM_PROPERTIES
};
static GParamSpec* boxes_app_properties[BOXES_APP_NUM_PROPERTIES];
#define __g_list_free__g_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_free0_ (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
#define _boxes_async_launcher_unref0(var) ((var == NULL) ? NULL : (var = (boxes_async_launcher_unref (var), NULL)))

#define BOXES_TYPE_ICOLLECTION_VIEW (boxes_icollection_view_get_type ())
#define BOXES_ICOLLECTION_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_ICOLLECTION_VIEW, BoxesICollectionView))
#define BOXES_IS_ICOLLECTION_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_ICOLLECTION_VIEW))
#define BOXES_ICOLLECTION_VIEW_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_TYPE_ICOLLECTION_VIEW, BoxesICollectionViewIface))

typedef struct _BoxesICollectionView BoxesICollectionView;
typedef struct _BoxesICollectionViewIface BoxesICollectionViewIface;

#define BOXES_TYPE_SELECTION_CRITERIA (boxes_selection_criteria_get_type ())

#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 _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

#define BOXES_TYPE_LIBVIRT_BROKER (boxes_libvirt_broker_get_type ())
#define BOXES_LIBVIRT_BROKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_LIBVIRT_BROKER, BoxesLibvirtBroker))
#define BOXES_LIBVIRT_BROKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_LIBVIRT_BROKER, BoxesLibvirtBrokerClass))
#define BOXES_IS_LIBVIRT_BROKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_LIBVIRT_BROKER))
#define BOXES_IS_LIBVIRT_BROKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_LIBVIRT_BROKER))
#define BOXES_LIBVIRT_BROKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_LIBVIRT_BROKER, BoxesLibvirtBrokerClass))

typedef struct _BoxesLibvirtBroker BoxesLibvirtBroker;
typedef struct _BoxesLibvirtBrokerClass BoxesLibvirtBrokerClass;

#define BOXES_TYPE_OVIRT_BROKER (boxes_ovirt_broker_get_type ())
#define BOXES_OVIRT_BROKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_OVIRT_BROKER, BoxesOvirtBroker))
#define BOXES_OVIRT_BROKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_OVIRT_BROKER, BoxesOvirtBrokerClass))
#define BOXES_IS_OVIRT_BROKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_OVIRT_BROKER))
#define BOXES_IS_OVIRT_BROKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_OVIRT_BROKER))
#define BOXES_OVIRT_BROKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_OVIRT_BROKER, BoxesOvirtBrokerClass))

typedef struct _BoxesOvirtBroker BoxesOvirtBroker;
typedef struct _BoxesOvirtBrokerClass BoxesOvirtBrokerClass;
typedef struct _Block1Data Block1Data;
typedef struct _Block2Data Block2Data;
#define _g_option_context_free0(var) ((var == NULL) ? NULL : (var = (g_option_context_free (var), NULL)))
typedef struct _Block3Data Block3Data;
typedef struct _Block4Data Block4Data;
typedef struct _BoxesAppWindowPrivate BoxesAppWindowPrivate;

#define BOXES_TYPE_WIZARD_WINDOW (boxes_wizard_window_get_type ())
#define BOXES_WIZARD_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_WIZARD_WINDOW, BoxesWizardWindow))
#define BOXES_WIZARD_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_WIZARD_WINDOW, BoxesWizardWindowClass))
#define BOXES_IS_WIZARD_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_WIZARD_WINDOW))
#define BOXES_IS_WIZARD_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_WIZARD_WINDOW))
#define BOXES_WIZARD_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_WIZARD_WINDOW, BoxesWizardWindowClass))

typedef struct _BoxesWizardWindow BoxesWizardWindow;
typedef struct _BoxesWizardWindowClass BoxesWizardWindowClass;

#define BOXES_TYPE_PROPERTIES_WINDOW (boxes_properties_window_get_type ())
#define BOXES_PROPERTIES_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_PROPERTIES_WINDOW, BoxesPropertiesWindow))
#define BOXES_PROPERTIES_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_PROPERTIES_WINDOW, BoxesPropertiesWindowClass))
#define BOXES_IS_PROPERTIES_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_PROPERTIES_WINDOW))
#define BOXES_IS_PROPERTIES_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_PROPERTIES_WINDOW))
#define BOXES_PROPERTIES_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_PROPERTIES_WINDOW, BoxesPropertiesWindowClass))

typedef struct _BoxesPropertiesWindow BoxesPropertiesWindow;
typedef struct _BoxesPropertiesWindowClass BoxesPropertiesWindowClass;

#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_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_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_TROUBLESHOOT_VIEW (boxes_troubleshoot_view_get_type ())
#define BOXES_TROUBLESHOOT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_TROUBLESHOOT_VIEW, BoxesTroubleshootView))
#define BOXES_TROUBLESHOOT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_TROUBLESHOOT_VIEW, BoxesTroubleshootViewClass))
#define BOXES_IS_TROUBLESHOOT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_TROUBLESHOOT_VIEW))
#define BOXES_IS_TROUBLESHOOT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_TROUBLESHOOT_VIEW))
#define BOXES_TROUBLESHOOT_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_TROUBLESHOOT_VIEW, BoxesTroubleshootViewClass))

typedef struct _BoxesTroubleshootView BoxesTroubleshootView;
typedef struct _BoxesTroubleshootViewClass BoxesTroubleshootViewClass;
typedef struct _BoxesWizardWindowPrivate BoxesWizardWindowPrivate;

#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_WIZARD_TOOLBAR (boxes_wizard_toolbar_get_type ())
#define BOXES_WIZARD_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_WIZARD_TOOLBAR, BoxesWizardToolbar))
#define BOXES_WIZARD_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_WIZARD_TOOLBAR, BoxesWizardToolbarClass))
#define BOXES_IS_WIZARD_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_WIZARD_TOOLBAR))
#define BOXES_IS_WIZARD_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_WIZARD_TOOLBAR))
#define BOXES_WIZARD_TOOLBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_WIZARD_TOOLBAR, BoxesWizardToolbarClass))

typedef struct _BoxesWizardToolbar BoxesWizardToolbar;
typedef struct _BoxesWizardToolbarClass BoxesWizardToolbarClass;

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

#define BOXES_TYPE_REMOTE_MACHINE (boxes_remote_machine_get_type ())
#define BOXES_REMOTE_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_REMOTE_MACHINE, BoxesRemoteMachine))
#define BOXES_REMOTE_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_REMOTE_MACHINE, BoxesRemoteMachineClass))
#define BOXES_IS_REMOTE_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_REMOTE_MACHINE))
#define BOXES_IS_REMOTE_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_REMOTE_MACHINE))
#define BOXES_REMOTE_MACHINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_REMOTE_MACHINE, BoxesRemoteMachineClass))

typedef struct _BoxesRemoteMachine BoxesRemoteMachine;
typedef struct _BoxesRemoteMachineClass BoxesRemoteMachineClass;
typedef struct _BoxesAppAddCollectionSourceData BoxesAppAddCollectionSourceData;
typedef struct _BoxesAppActivateAsyncData BoxesAppActivateAsyncData;
typedef struct _BoxesAppSetupDefaultSourceData BoxesAppSetupDefaultSourceData;
typedef struct _Block5Data Block5Data;
typedef struct _BoxesAppSetupSourcesData BoxesAppSetupSourcesData;
typedef struct _Block6Data Block6Data;

#define BOXES_TYPE_LIBVIRT_MACHINE (boxes_libvirt_machine_get_type ())
#define BOXES_LIBVIRT_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_LIBVIRT_MACHINE, BoxesLibvirtMachine))
#define BOXES_LIBVIRT_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_LIBVIRT_MACHINE, BoxesLibvirtMachineClass))
#define BOXES_IS_LIBVIRT_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_LIBVIRT_MACHINE))
#define BOXES_IS_LIBVIRT_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_LIBVIRT_MACHINE))
#define BOXES_LIBVIRT_MACHINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_LIBVIRT_MACHINE, BoxesLibvirtMachineClass))

typedef struct _BoxesLibvirtMachine BoxesLibvirtMachine;
typedef struct _BoxesLibvirtMachineClass BoxesLibvirtMachineClass;
typedef struct _Block7Data Block7Data;
#define _g_main_context_unref0(var) ((var == NULL) ? NULL : (var = (g_main_context_unref (var), NULL)))
typedef struct _Block8Data Block8Data;

#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;
enum  {
	BOXES_APP_READY_SIGNAL,
	BOXES_APP_NUM_SIGNALS
};
static guint boxes_app_signals[BOXES_APP_NUM_SIGNALS] = {0};

#define BOXES_TYPE_KBD_SHORTCUTS_WINDOW (boxes_kbd_shortcuts_window_get_type ())
#define BOXES_KBD_SHORTCUTS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_KBD_SHORTCUTS_WINDOW, BoxesKbdShortcutsWindow))
#define BOXES_KBD_SHORTCUTS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_KBD_SHORTCUTS_WINDOW, BoxesKbdShortcutsWindowClass))
#define BOXES_IS_KBD_SHORTCUTS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_KBD_SHORTCUTS_WINDOW))
#define BOXES_IS_KBD_SHORTCUTS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_KBD_SHORTCUTS_WINDOW))
#define BOXES_KBD_SHORTCUTS_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_KBD_SHORTCUTS_WINDOW, BoxesKbdShortcutsWindowClass))

typedef struct _BoxesKbdShortcutsWindow BoxesKbdShortcutsWindow;
typedef struct _BoxesKbdShortcutsWindowClass BoxesKbdShortcutsWindowClass;
typedef struct _BoxesKbdShortcutsWindowPrivate BoxesKbdShortcutsWindowPrivate;
enum  {
	BOXES_KBD_SHORTCUTS_WINDOW_0_PROPERTY,
	BOXES_KBD_SHORTCUTS_WINDOW_NUM_PROPERTIES
};
static GParamSpec* boxes_kbd_shortcuts_window_properties[BOXES_KBD_SHORTCUTS_WINDOW_NUM_PROPERTIES];
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);

struct _BoxesBroker {
	GObject parent_instance;
	BoxesBrokerPrivate * priv;
};

struct _BoxesBrokerClass {
	GObjectClass parent_class;
	void (*add_source) (BoxesBroker* self, BoxesCollectionSource* source, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*add_source_finish) (BoxesBroker* self, GAsyncResult* _res_, GError** error);
};

struct _BoxesApp {
	GtkApplication parent_instance;
	BoxesAppPrivate * priv;
	BoxesCollection* collection;
	BoxesAsyncLauncher* async_launcher;
};

struct _BoxesAppClass {
	GtkApplicationClass parent_class;
};

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

struct _BoxesUIIface {
	GTypeInterface parent_iface;
	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 _BoxesCollectionItem {
	GObject parent_instance;
	BoxesCollectionItemPrivate * priv;
};

struct _BoxesCollectionItemClass {
	GObjectClass parent_class;
	gint (*compare) (BoxesCollectionItem* self, BoxesCollectionItem* other);
};

typedef enum  {
	BOXES_PROPERTIES_PAGE_GENERAL,
	BOXES_PROPERTIES_PAGE_SYSTEM,
	BOXES_PROPERTIES_PAGE_DEVICES,
	BOXES_PROPERTIES_PAGE_SNAPSHOTS,
	BOXES_PROPERTIES_PAGE_LAST
} BoxesPropertiesPage;

struct _BoxesIPropertiesProviderIface {
	GTypeInterface parent_iface;
	GList* (*get_properties) (BoxesIPropertiesProvider* self, BoxesPropertiesPage page);
};

typedef enum  {
	BOXES_MACHINE_CONNECT_FLAGS_NONE = 0,
	BOXES_MACHINE_CONNECT_FLAGS_IGNORE_SAVED_STATE = 1 << 0
} BoxesMachineConnectFlags;

struct _BoxesMachine {
	BoxesCollectionItem parent_instance;
	BoxesMachinePrivate * priv;
	BoxesCollectionSource* source;
	BoxesBoxConfig* config;
	gboolean stay_on_display;
};

struct _BoxesMachineClass {
	BoxesCollectionItemClass parent_class;
	void (*save_real) (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*save_real_finish) (BoxesMachine* self, GAsyncResult* _res_, GError** error);
	void (*take_screenshot) (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GdkPixbuf* (*take_screenshot_finish) (BoxesMachine* self, GAsyncResult* _res_, GError** error);
	GList* (*get_properties) (BoxesMachine* self, BoxesPropertiesPage page);
	void (*connect_display) (BoxesMachine* self, BoxesMachineConnectFlags flags, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*connect_display_finish) (BoxesMachine* self, GAsyncResult* _res_, GError** error);
	void (*restart) (BoxesMachine* self);
	void (*clone) (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*clone_finish) (BoxesMachine* self, GAsyncResult* _res_);
	void (*disconnect_display) (BoxesMachine* self);
	void (*update_status) (BoxesMachine* self);
	void (*delete) (BoxesMachine* self, gboolean by_user);
	gboolean (*get_suspend_at_exit) (BoxesMachine* self);
	gboolean (*get_can_save) (BoxesMachine* self);
	gboolean (*get_can_restart) (BoxesMachine* self);
	gboolean (*get_can_clone) (BoxesMachine* self);
	gboolean (*get_should_autosave) (BoxesMachine* self);
	gboolean (*get_is_local) (BoxesMachine* self);
};

struct _BoxesBrokerAddSourceData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	BoxesBroker* self;
	BoxesCollectionSource* source;
	GList* used_configs;
	gint i;
	gboolean _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	BoxesApp* _tmp3_;
	BoxesCollection* _tmp4_;
	guint _tmp5_;
	guint _tmp6_;
	BoxesCollectionItem* item;
	BoxesApp* _tmp7_;
	BoxesCollection* _tmp8_;
	gint _tmp9_;
	BoxesCollectionItem* _tmp10_;
	BoxesCollectionItem* _tmp11_;
	BoxesCollectionItem* _tmp12_;
	BoxesBoxConfig* _tmp13_;
	BoxesBoxConfig* _tmp14_;
	GList* _tmp15_;
};

struct _BoxesAppPrivate {
	GList* windows;
	GList* system_notifications;
	gchar* _uri;
	gboolean is_ready;
	GHashTable* brokers;
	GHashTable* sources;
};

typedef enum  {
	BOXES_SELECTION_CRITERIA_ALL,
	BOXES_SELECTION_CRITERIA_NONE,
	BOXES_SELECTION_CRITERIA_RUNNING
} BoxesSelectionCriteria;

struct _BoxesICollectionViewIface {
	GTypeInterface parent_iface;
	GList* (*get_selected_items) (BoxesICollectionView* self);
	void (*activate_first_item) (BoxesICollectionView* self);
	void (*select_by_criteria) (BoxesICollectionView* self, BoxesSelectionCriteria criteria);
	void (*select_all) (BoxesICollectionView* self);
	void (*unselect_all) (BoxesICollectionView* self);
	BoxesCollectionFilter* (*get_filter) (BoxesICollectionView* self);
	void (*set_filter) (BoxesICollectionView* self, BoxesCollectionFilter* value);
};

typedef void (*BoxesAppCallReadyFunc) (void* user_data);
struct _Block1Data {
	int _ref_count_;
	BoxesApp* self;
	BoxesAppCallReadyFunc func;
	gpointer func_target;
	GDestroyNotify func_target_destroy_notify;
};

struct _Block2Data {
	int _ref_count_;
	BoxesApp* self;
	BoxesApp* app;
};

struct _Block3Data {
	int _ref_count_;
	Block2Data * _data2_;
	gchar* uuid;
};

struct _Block4Data {
	int _ref_count_;
	Block2Data * _data2_;
	gchar* arg;
};

struct _BoxesAppWindow {
	GtkApplicationWindow parent_instance;
	BoxesAppWindowPrivate * priv;
	BoxesWizardWindow* wizard_window;
	BoxesPropertiesWindow* props_window;
	BoxesSearchbar* searchbar;
	BoxesTopbar* topbar;
	BoxesSelectionbar* selectionbar;
	BoxesDisplayPage* display_page;
	BoxesEmptyBoxes* empty_boxes;
	BoxesTroubleshootView* troubleshoot_view;
	GtkStack* below_bin;
	GSettings* settings;
};

struct _BoxesAppWindowClass {
	GtkApplicationWindowClass parent_class;
};

struct _BoxesWizardWindow {
	GtkWindow parent_instance;
	BoxesWizardWindowPrivate * priv;
	GtkStack* view;
	BoxesWizard* wizard;
	GtkGrid* customization_grid;
	GtkFileChooserWidget* file_chooser;
	BoxesWizardToolbar* topbar;
	BoxesNotificationbar* notificationbar;
};

struct _BoxesWizardWindowClass {
	GtkWindowClass parent_class;
};

struct _BoxesAppAddCollectionSourceData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	BoxesApp* self;
	BoxesCollectionSource* source;
	gboolean _tmp0_;
	gboolean _tmp1_;
	GHashTable* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gconstpointer _tmp6_;
	gboolean _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	GQuark _tmp15_;
	BoxesRemoteMachine* machine;
	BoxesRemoteMachine* _tmp16_;
	BoxesCollection* _tmp17_;
	BoxesRemoteMachine* _tmp18_;
	GError* _error_;
	GError* _tmp19_;
	const gchar* _tmp20_;
	BoxesBroker* broker;
	GHashTable* _tmp21_;
	gchar* _tmp22_;
	gchar* _tmp23_;
	gchar* _tmp24_;
	gconstpointer _tmp25_;
	BoxesBroker* _tmp26_;
	BoxesBroker* _tmp27_;
	BoxesBroker* _tmp28_;
	BoxesBroker* _tmp29_;
	GHashTable* _tmp30_;
	gchar* _tmp31_;
	gchar* _tmp32_;
	BoxesCollectionSource* _tmp33_;
	gchar* _tmp34_;
	gchar* _tmp35_;
	gchar* _tmp36_;
	gboolean _tmp37_;
	gchar* _tmp38_;
	gchar* _tmp39_;
	gchar* _tmp40_;
	GError * _inner_error_;
};

struct _BoxesAppActivateAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	BoxesApp* self;
};

struct _BoxesAppSetupDefaultSourceData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	BoxesApp* self;
	gchar* path;
	gchar* _tmp0_;
	gboolean create_session_source;
	GFile* file;
	const gchar* _tmp1_;
	GFile* _tmp2_;
	GFileInfo* info;
	GFile* _tmp3_;
	GFileInfo* _tmp4_;
	GFileInfo* _tmp5_;
	GError* _error_;
	const gchar* _tmp6_;
	GError* _tmp7_;
	const gchar* _tmp8_;
	gboolean _tmp9_;
	GFile* src;
	gchar* _tmp10_;
	gchar* _tmp11_;
	GFile* _tmp12_;
	GFile* _tmp13_;
	GFile* dst;
	const gchar* _tmp14_;
	GFile* _tmp15_;
	GFile* _tmp16_;
	GFile* _tmp17_;
	GError* _vala1__error_;
	GError* _tmp18_;
	const gchar* _tmp19_;
	BoxesCollectionSource* source;
	BoxesCollectionSource* _tmp20_;
	BoxesCollectionSource* _tmp21_;
	GError* _vala2__error_;
	GError* _tmp22_;
	const gchar* _tmp23_;
	BoxesAppWindow* _tmp24_;
	BoxesAppWindow* _tmp25_;
	GVirConnection* _tmp26_;
	GVirConnection* _tmp27_;
	GVirConnection* _tmp28_;
	GVirConnection* _tmp29_;
	GVirConnection* _tmp30_;
	GVirConnection* _tmp31_;
	GError * _inner_error_;
};

struct _Block5Data {
	int _ref_count_;
	BoxesApp* self;
	GList* new_sources;
	gpointer _async_data_;
};

struct _BoxesAppSetupSourcesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	BoxesApp* self;
	Block5Data* _data5_;
	GFile* dir;
	gchar* _tmp0_;
	gchar* _tmp1_;
	GFile* _tmp2_;
	GFile* _tmp3_;
	GFile* _tmp4_;
	GList* _tmp5_;
	GList* source_collection;
	GList* source_it;
	BoxesCollectionSource* _tmp6_;
	BoxesCollectionSource* source;
	BoxesCollectionSource* _tmp7_;
	GError* _error_;
	BoxesCollectionSource* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	GError* _tmp12_;
	const gchar* _tmp13_;
	GError * _inner_error_;
};

struct _Block6Data {
	int _ref_count_;
	BoxesApp* self;
	gint waiting_counter;
};

typedef void (*BoxesCollectionCollectionForeachFunc) (BoxesCollectionItem* item, void* user_data);
struct _Block7Data {
	int _ref_count_;
	Block6Data * _data6_;
	BoxesLibvirtMachine* machine;
};

typedef void (*BoxesAppUndoNotifyCallback) (void* user_data);
struct _Block8Data {
	int _ref_count_;
	BoxesApp* self;
	GList* items;
	BoxesAppUndoNotifyCallback undo_notify_callback;
	gpointer undo_notify_callback_target;
	GDestroyNotify undo_notify_callback_target_destroy_notify;
};

typedef void (*BoxesNotificationOKFunc) (void* user_data);
typedef void (*BoxesNotificationDismissFunc) (void* user_data);
struct _BoxesKbdShortcutsWindow {
	GtkShortcutsWindow parent_instance;
	BoxesKbdShortcutsWindowPrivate * priv;
};

struct _BoxesKbdShortcutsWindowClass {
	GtkShortcutsWindowClass parent_class;
};


static gpointer boxes_broker_parent_class = NULL;
extern BoxesApp* boxes_app_app;
static gpointer boxes_app_parent_class = NULL;
BoxesApp* boxes_app_app = NULL;
static gboolean boxes_app_opt_fullscreen;
static gboolean boxes_app_opt_fullscreen = FALSE;
static gboolean boxes_app_opt_help;
static gboolean boxes_app_opt_help = FALSE;
static gchar* boxes_app_opt_open_uuid;
static gchar* boxes_app_opt_open_uuid = NULL;
static gchar** boxes_app_opt_uris;
static gint boxes_app_opt_uris_length1;
static gchar** boxes_app_opt_uris = NULL;
static gint boxes_app_opt_uris_length1 = 0;
static gint _boxes_app_opt_uris_size_ = 0;
static gchar** boxes_app_opt_search;
static gint boxes_app_opt_search_length1;
static gchar** boxes_app_opt_search = NULL;
static gint boxes_app_opt_search_length1 = 0;
static gint _boxes_app_opt_search_size_ = 0;
static gpointer boxes_kbd_shortcuts_window_parent_class = NULL;

GType boxes_broker_get_type (void) G_GNUC_CONST;
static void boxes_broker_real_add_source_data_free (gpointer _data);
static void boxes_broker_real_add_source (BoxesBroker* self,
                                   BoxesCollectionSource* source,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_);
void boxes_broker_add_source (BoxesBroker* self,
                              BoxesCollectionSource* source,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_);
void boxes_broker_add_source_finish (BoxesBroker* self,
                                     GAsyncResult* _res_,
                                     GError** error);
static gboolean boxes_broker_real_add_source_co (BoxesBrokerAddSourceData* _data_);
GType boxes_app_get_type (void) G_GNUC_CONST;
GType boxes_collection_get_type (void) G_GNUC_CONST;
guint boxes_collection_get_length (BoxesCollection* self);
GType boxes_collection_item_get_type (void) G_GNUC_CONST;
BoxesCollectionItem* boxes_collection_get_item (BoxesCollection* self,
                                                gint position);
GType boxes_machine_get_type (void) G_GNUC_CONST;
GType boxes_ui_state_get_type (void) G_GNUC_CONST;
GType boxes_ui_get_type (void) G_GNUC_CONST;
GType boxes_properties_page_get_type (void) G_GNUC_CONST;
GType boxes_property_get_type (void) G_GNUC_CONST;
GType boxes_iproperties_provider_get_type (void) G_GNUC_CONST;
GType boxes_machine_connect_flags_get_type (void) G_GNUC_CONST;
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
BoxesBroker* boxes_broker_construct (GType object_type);
GType boxes_app_window_get_type (void) G_GNUC_CONST;
#define BOXES_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_APP, BoxesAppPrivate))
static void _g_free0_ (gpointer var);
static inline void _g_list_free__g_free0_ (GList* self);
#define BOXES_APP_DEFAULT_SOURCE_NAME "QEMU Session"
BoxesApp* boxes_app_new (void);
BoxesApp* boxes_app_construct (GType object_type);
static void __lambda264_ (BoxesApp* self);
gboolean boxes_app_quit_app (BoxesApp* self);
static void ___lambda264__g_simple_action_activate (GSimpleAction* _sender,
                                             GVariant* parameter,
                                             gpointer self);
static void __lambda265_ (BoxesApp* self);
BoxesAppWindow* boxes_app_get_main_window (BoxesApp* self);
GType boxes_selection_criteria_get_type (void) G_GNUC_CONST;
GType boxes_collection_filter_get_type (void) G_GNUC_CONST;
GType boxes_icollection_view_get_type (void) G_GNUC_CONST;
BoxesICollectionView* boxes_app_window_get_view (BoxesAppWindow* self);
void boxes_icollection_view_select_by_criteria (BoxesICollectionView* self,
                                                BoxesSelectionCriteria criteria);
static void ___lambda265__g_simple_action_activate (GSimpleAction* _sender,
                                             GVariant* parameter,
                                             gpointer self);
static void __lambda266_ (BoxesApp* self);
static void ___lambda266__g_simple_action_activate (GSimpleAction* _sender,
                                             GVariant* parameter,
                                             gpointer self);
static void __lambda267_ (BoxesApp* self);
static void ___lambda267__g_simple_action_activate (GSimpleAction* _sender,
                                             GVariant* parameter,
                                             gpointer self);
static void __lambda268_ (BoxesApp* self);
static void ___lambda268__g_simple_action_activate (GSimpleAction* _sender,
                                             GVariant* parameter,
                                             gpointer self);
static void __lambda269_ (BoxesApp* self,
                   GVariant* param);
void boxes_app_open_name (BoxesApp* self,
                          const gchar* name);
static void ___lambda269__g_simple_action_activate (GSimpleAction* _sender,
                                             GVariant* parameter,
                                             gpointer self);
static void __lambda270_ (BoxesApp* self);
static void ___lambda270__g_simple_action_activate (GSimpleAction* _sender,
                                             GVariant* parameter,
                                             gpointer self);
static void boxes_app_real_startup (GApplication* base);
BoxesCollection* boxes_collection_new (void);
BoxesCollection* boxes_collection_construct (GType object_type);
GType boxes_libvirt_broker_get_type (void) G_GNUC_CONST;
BoxesLibvirtBroker* boxes_libvirt_broker_get_default (void);
GType boxes_ovirt_broker_get_type (void) G_GNUC_CONST;
BoxesOvirtBroker* boxes_ovirt_broker_get_default (void);
void boxes_check_cpu_vt_capability (GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
gboolean boxes_check_cpu_vt_capability_finish (GAsyncResult* _res_);
void boxes_check_module_kvm_loaded (GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
gboolean boxes_check_module_kvm_loaded_finish (GAsyncResult* _res_);
gboolean boxes_app_has_broker_for_source_type (BoxesApp* self,
                                               const gchar* type);
void boxes_app_call_when_ready (BoxesApp* self,
                                BoxesAppCallReadyFunc func,
                                void* func_target,
                                GDestroyNotify func_target_destroy_notify);
static Block1Data* block1_data_ref (Block1Data* _data1_);
static void block1_data_unref (void * _userdata_);
static void __lambda9_ (Block1Data* _data1_);
static void ___lambda9__boxes_app_ready (BoxesApp* _sender,
                                  gpointer self);
static void boxes_app_real_activate (GApplication* base);
BoxesAppWindow* boxes_app_add_new_window (BoxesApp* self);
void boxes_ui_set_state (BoxesUI* self,
                         BoxesUIState new_state);
static void boxes_app_activate_async (BoxesApp* self,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
static void boxes_app_activate_finish (BoxesApp* self,
                                GAsyncResult* _res_);
static gint boxes_app_real_command_line (GApplication* base,
                                  GApplicationCommandLine* cmdline);
static Block2Data* block2_data_ref (Block2Data* _data2_);
static void block2_data_unref (void * _userdata_);
static Block3Data* block3_data_ref (Block3Data* _data3_);
static void block3_data_unref (void * _userdata_);
static void ___lambda275_ (Block3Data* _data3_);
gboolean boxes_app_open_uuid (BoxesApp* self,
                              const gchar* uuid);
static void ____lambda275__boxes_app_call_ready_func (gpointer self);
static Block4Data* block4_data_ref (Block4Data* _data4_);
static void block4_data_unref (void * _userdata_);
static void ____lambda276_ (Block4Data* _data4_);
GType boxes_wizard_window_get_type (void) G_GNUC_CONST;
GType boxes_properties_window_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_selectionbar_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_troubleshoot_view_get_type (void) G_GNUC_CONST;
GType boxes_wizard_get_type (void) G_GNUC_CONST;
GType boxes_wizard_toolbar_get_type (void) G_GNUC_CONST;
GType boxes_notificationbar_get_type (void) G_GNUC_CONST;
void boxes_wizard_open_with_uri (BoxesWizard* self,
                                 const gchar* uri,
                                 gboolean skip_review_for_live);
static void _____lambda276__boxes_app_call_ready_func (gpointer self);
static void ___lambda277_ (BoxesApp* self);
void boxes_searchbar_set_text (BoxesSearchbar* self,
                               const gchar* value);
BoxesUIState boxes_ui_get_ui_state (BoxesUI* self);
static void ____lambda277__boxes_app_call_ready_func (gpointer self);
void boxes_app_window_set_fullscreened (BoxesAppWindow* self,
                                        gboolean value);
static gboolean __lambda55_ (BoxesApp* self);
static gboolean ___lambda55__gsource_func (gpointer self);
static void boxes_app_real_shutdown (GApplication* base);
BoxesNotificationbar* boxes_app_window_get_notificationbar (BoxesAppWindow* self);
void boxes_notificationbar_dismiss_all (BoxesNotificationbar* self);
void boxes_wizard_cleanup (BoxesWizard* self);
static void boxes_app_suspend_machines (BoxesApp* self);
const gchar* boxes_collection_item_get_name (BoxesCollectionItem* self);
void boxes_app_window_select_item (BoxesAppWindow* self,
                                   BoxesCollectionItem* item);
void boxes_app_open_selected_items_in_new_window (BoxesApp* self);
GList* boxes_icollection_view_get_selected_items (BoxesICollectionView* self);
void boxes_app_window_set_selection_mode (BoxesAppWindow* self,
                                          gboolean value);
void boxes_app_open_in_new_window (BoxesApp* self,
                                   BoxesMachine* machine);
BoxesAppWindow* boxes_machine_get_window (BoxesMachine* self);
void boxes_app_window_connect_to (BoxesAppWindow* self,
                                  BoxesMachine* machine);
void boxes_app_delete_machine (BoxesApp* self,
                               BoxesMachine* machine,
                               gboolean by_user);
void boxes_machine_delete (BoxesMachine* self,
                           gboolean by_user);
void boxes_collection_remove_item (BoxesCollection* self,
                                   BoxesCollectionItem* item);
static void boxes_app_add_collection_source_data_free (gpointer _data);
void boxes_app_add_collection_source (BoxesApp* self,
                                      BoxesCollectionSource* source,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
void boxes_app_add_collection_source_finish (BoxesApp* self,
                                             GAsyncResult* _res_,
                                             GError** error);
static gboolean boxes_app_add_collection_source_co (BoxesAppAddCollectionSourceData* _data_);
GType boxes_remote_machine_get_type (void) G_GNUC_CONST;
BoxesRemoteMachine* boxes_remote_machine_new (BoxesCollectionSource* source,
                                              GError** error);
BoxesRemoteMachine* boxes_remote_machine_construct (GType object_type,
                                                    BoxesCollectionSource* source,
                                                    GError** error);
void boxes_collection_add_item (BoxesCollection* self,
                                BoxesCollectionItem* item);
static void boxes_app_add_collection_source_ready (GObject* source_object,
                                            GAsyncResult* _res_,
                                            gpointer _user_data_);
static void boxes_app_activate_async_data_free (gpointer _data);
static gboolean boxes_app_activate_async_co (BoxesAppActivateAsyncData* _data_);
void boxes_move_configs_from_cache (GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
void boxes_move_configs_from_cache_finish (GAsyncResult* _res_);
static void boxes_app_activate_async_ready (GObject* source_object,
                                     GAsyncResult* _res_,
                                     gpointer _user_data_);
static void boxes_app_setup_default_source (BoxesApp* self,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_);
static void boxes_app_setup_default_source_finish (BoxesApp* self,
                                            GAsyncResult* _res_);
static void boxes_app_setup_sources (BoxesApp* self,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_);
static void boxes_app_setup_sources_finish (BoxesApp* self,
                                     GAsyncResult* _res_);
static void boxes_app_setup_default_source_data_free (gpointer _data);
static gboolean boxes_app_setup_default_source_co (BoxesAppSetupDefaultSourceData* _data_);
static void boxes_app_setup_default_source_ready (GObject* source_object,
                                           GAsyncResult* _res_,
                                           gpointer _user_data_);
GVirConnection* boxes_app_get_default_connection (BoxesApp* self);
static void boxes_app_send_notification (BoxesApp* self,
                                  const gchar* notification_id,
                                  GNotification* notification);
void boxes_app_notify_machine_installed (BoxesApp* self,
                                         BoxesMachine* machine);
static void boxes_app_setup_sources_data_free (gpointer _data);
static gboolean boxes_app_setup_sources_co (BoxesAppSetupSourcesData* _data_);
static Block5Data* block5_data_ref (Block5Data* _data5_);
static void block5_data_unref (void * _userdata_);
static gboolean __lambda274_ (Block5Data* _data5_,
                       const gchar* filename,
                       GError** error);
static gboolean ___lambda274__boxes_foreach_filename_from_dir_func (const gchar* filename,
                                                             gpointer self,
                                                             GError** error);
static void boxes_app_setup_sources_ready (GObject* source_object,
                                    GAsyncResult* _res_,
                                    gpointer _user_data_);
static Block6Data* block6_data_ref (Block6Data* _data6_);
static void block6_data_unref (void * _userdata_);
void boxes_collection_foreach_item (BoxesCollection* self,
                                    BoxesCollectionCollectionForeachFunc foreach_func,
                                    void* foreach_func_target);
static void __lambda278_ (Block6Data* _data6_,
                   BoxesCollectionItem* item);
GType boxes_libvirt_machine_get_type (void) G_GNUC_CONST;
static Block7Data* block7_data_ref (Block7Data* _data7_);
static void block7_data_unref (void * _userdata_);
gboolean boxes_machine_get_suspend_at_exit (BoxesMachine* self);
void boxes_libvirt_machine_suspend (BoxesLibvirtMachine* self,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
void boxes_libvirt_machine_suspend_finish (BoxesLibvirtMachine* self,
                                           GAsyncResult* _res_,
                                           GError** error);
static void ____lambda279_ (Block7Data* _data7_);
static void _____lambda279__gasync_ready_callback (GObject* source_object,
                                            GAsyncResult* res,
                                            gpointer self);
static void ___lambda278__boxes_collection_collection_foreach_func (BoxesCollectionItem* item,
                                                             gpointer self);
void boxes_app_delete_machines_undoable (BoxesApp* self,
                                         GList* items,
                                         const gchar* message,
                                         BoxesAppUndoNotifyCallback undo_notify_callback,
                                         void* undo_notify_callback_target,
                                         GDestroyNotify undo_notify_callback_target_destroy_notify);
static Block8Data* block8_data_ref (Block8Data* _data8_);
static void block8_data_unref (void * _userdata_);
static void __lambda58_ (Block8Data* _data8_);
static void ___lambda58__boxes_notification_ok_func (gpointer self);
static void __lambda59_ (Block8Data* _data8_);
static void ___lambda59__boxes_notification_dismiss_func (gpointer self);
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);
#define BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT 6
void boxes_app_remove_selected_items (BoxesApp* self);
BoxesAppWindow* boxes_app_window_new (GtkApplication* app);
BoxesAppWindow* boxes_app_window_construct (GType object_type,
                                            GtkApplication* app);
void boxes_app_window_setup_ui (BoxesAppWindow* self);
gboolean boxes_app_remove_window (BoxesApp* self,
                                  BoxesAppWindow* window);
BoxesCollectionItem* boxes_app_window_get_current_item (BoxesAppWindow* self);
void boxes_machine_set_window (BoxesMachine* self,
                               BoxesAppWindow* value);
const gchar* boxes_app_get_uri (BoxesApp* self);
void boxes_app_set_uri (BoxesApp* self,
                        const gchar* value);
GVirConnection* boxes_libvirt_broker_get_connection (BoxesLibvirtBroker* self,
                                                     const gchar* name);
BoxesCollectionSource* boxes_app_get_default_source (BoxesApp* self);
GList* boxes_app_get_selected_items (BoxesApp* self);
static void boxes_app_finalize (GObject * obj);
static void _vala_boxes_app_get_property (GObject * object,
                                   guint property_id,
                                   GValue * value,
                                   GParamSpec * pspec);
static void _vala_boxes_app_set_property (GObject * object,
                                   guint property_id,
                                   const GValue * value,
                                   GParamSpec * pspec);
GType boxes_kbd_shortcuts_window_get_type (void) G_GNUC_CONST;
BoxesKbdShortcutsWindow* boxes_kbd_shortcuts_window_new (void);
BoxesKbdShortcutsWindow* boxes_kbd_shortcuts_window_construct (GType object_type);
static void _vala_array_destroy (gpointer array,
                          gint array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gint array_length,
                       GDestroyNotify destroy_func);

static const GOptionEntry BOXES_APP_options[8] = {{"version", (gchar) 0, 0, G_OPTION_ARG_NONE, NULL, N_ ("Display version number"), NULL}, {"help", 'h', (gint) G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, &boxes_app_opt_help, NULL, NULL}, {"full-screen", 'f', 0, G_OPTION_ARG_NONE, &boxes_app_opt_fullscreen, N_ ("Open in full screen"), NULL}, {"checks", (gchar) 0, 0, G_OPTION_ARG_NONE, NULL, N_ ("Check virtualization capabilities"), NULL}, {"open-uuid", (gchar) 0, 0, G_OPTION_ARG_STRING, &boxes_app_opt_open_uuid, N_ ("Open box with UUID"), NULL}, {"search", (gchar) 0, 0, G_OPTION_ARG_STRING_ARRAY, &boxes_app_opt_search, N_ ("Search term"), NULL}, {"", (gchar) 0, 0, G_OPTION_ARG_STRING_ARRAY, &boxes_app_opt_uris, N_ ("URL to display, broker or installer media"), NULL}, {NULL}};

static void
boxes_broker_real_add_source_data_free (gpointer _data)
{
	BoxesBrokerAddSourceData* _data_;
	_data_ = _data;
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (_data_->source);
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (_data_->self);
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_slice_free (BoxesBrokerAddSourceData, _data_);
#line 1110 "app.c"
}


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


static void
boxes_broker_real_add_source (BoxesBroker* self,
                              BoxesCollectionSource* source,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_)
{
	BoxesBrokerAddSourceData* _data_;
	BoxesBroker* _tmp0_;
	BoxesCollectionSource* _tmp1_;
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = g_slice_new0 (BoxesBrokerAddSourceData);
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_broker_real_add_source_data_free);
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->self = _tmp0_;
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _g_object_ref0 (source);
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (_data_->source);
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->source = _tmp1_;
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_broker_real_add_source_co (_data_);
#line 1150 "app.c"
}


static void
boxes_broker_real_add_source_finish (BoxesBroker* self,
                                     GAsyncResult* _res_,
                                     GError** error)
{
	BoxesBrokerAddSourceData* _data_;
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (NULL == _data_) {
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return;
#line 1166 "app.c"
	}
}


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


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


static gboolean
boxes_broker_real_add_source_co (BoxesBrokerAddSourceData* _data_)
{
#line 5 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	switch (_data_->_state_) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case 0:
#line 1196 "app.c"
		goto _state_0;
		default:
#line 5 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_assert_not_reached ();
#line 1201 "app.c"
	}
	_state_0:
#line 6 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->used_configs = NULL;
#line 1206 "app.c"
	{
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->i = 0;
#line 1210 "app.c"
		{
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data_->_tmp0_ = TRUE;
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			while (TRUE) {
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (!_data_->_tmp0_) {
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp1_ = _data_->i;
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->i = _data_->_tmp1_ + 1;
#line 1222 "app.c"
				}
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp0_ = FALSE;
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp2_ = _data_->i;
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp3_ = boxes_app_app;
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp4_ = _data_->_tmp3_->collection;
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp5_ = boxes_collection_get_length (_data_->_tmp4_);
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp6_ = _data_->_tmp5_;
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (!(((guint) _data_->_tmp2_) < _data_->_tmp6_)) {
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					break;
#line 1240 "app.c"
				}
#line 8 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp7_ = boxes_app_app;
#line 8 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp8_ = _data_->_tmp7_->collection;
#line 8 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp9_ = _data_->i;
#line 8 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp10_ = boxes_collection_get_item (_data_->_tmp8_, _data_->_tmp9_);
#line 8 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->item = _data_->_tmp10_;
#line 10 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp11_ = _data_->item;
#line 10 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (!G_TYPE_CHECK_INSTANCE_TYPE (_data_->_tmp11_, BOXES_TYPE_MACHINE)) {
#line 11 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_object_unref0 (_data_->item);
#line 11 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					continue;
#line 1260 "app.c"
				}
#line 13 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp12_ = _data_->item;
#line 13 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp13_ = (G_TYPE_CHECK_INSTANCE_TYPE (_data_->_tmp12_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _data_->_tmp12_) : NULL)->config;
#line 13 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp14_ = _g_object_ref0 (_data_->_tmp13_);
#line 13 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->used_configs = g_list_append (_data_->used_configs, _data_->_tmp14_);
#line 7 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_object_unref0 (_data_->item);
#line 1272 "app.c"
			}
		}
	}
#line 16 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp15_ = _data_->used_configs;
#line 16 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_collection_source_purge_stale_box_configs (_data_->source, _data_->_tmp15_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__g_list_free__g_object_unref0_0 (_data_->used_configs);
#line 5 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 5 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_data_->_state_ != 0) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		while (g_task_get_completed (_data_->_async_result) != TRUE) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 1290 "app.c"
		}
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_unref (_data_->_async_result);
#line 5 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return FALSE;
#line 1297 "app.c"
}


void
boxes_broker_add_source (BoxesBroker* self,
                         BoxesCollectionSource* source,
                         GAsyncReadyCallback _callback_,
                         gpointer _user_data_)
{
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	BOXES_BROKER_GET_CLASS (self)->add_source (self, source, _callback_, _user_data_);
#line 1309 "app.c"
}


void
boxes_broker_add_source_finish (BoxesBroker* self,
                                GAsyncResult* _res_,
                                GError** error)
{
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	BOXES_BROKER_GET_CLASS (self)->add_source_finish (self, _res_, error);
#line 1320 "app.c"
}


BoxesBroker*
boxes_broker_construct (GType object_type)
{
	BoxesBroker * self = NULL;
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = (BoxesBroker*) g_object_new (object_type, NULL);
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return self;
#line 1332 "app.c"
}


static void
boxes_broker_class_init (BoxesBrokerClass * klass)
{
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_broker_parent_class = g_type_class_peek_parent (klass);
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	((BoxesBrokerClass *) klass)->add_source = (void (*) (BoxesBroker *, BoxesCollectionSource*, GAsyncReadyCallback, gpointer)) boxes_broker_real_add_source;
#line 3 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	((BoxesBrokerClass *) klass)->add_source_finish = (void (*) (BoxesBroker *, GAsyncResult*, GError**)) boxes_broker_real_add_source_finish;
#line 1345 "app.c"
}


static void
boxes_broker_instance_init (BoxesBroker * self)
{
}


GType
boxes_broker_get_type (void)
{
	static volatile gsize boxes_broker_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_broker_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesBrokerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_broker_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesBroker), 0, (GInstanceInitFunc) boxes_broker_instance_init, NULL };
		GType boxes_broker_type_id;
		boxes_broker_type_id = g_type_register_static (G_TYPE_OBJECT, "BoxesBroker", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&boxes_broker_type_id__volatile, boxes_broker_type_id);
	}
	return boxes_broker_type_id__volatile;
}


static void
_g_free0_ (gpointer var)
{
#line 26 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	var = (g_free (var), NULL);
#line 1374 "app.c"
}


static inline void
_g_list_free__g_free0_ (GList* self)
{
#line 26 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_list_free_full (self, (GDestroyNotify) _g_free0_);
#line 1383 "app.c"
}


static void
__lambda264_ (BoxesApp* self)
{
#line 59 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_quit_app (self);
#line 1392 "app.c"
}


static void
___lambda264__g_simple_action_activate (GSimpleAction* _sender,
                                        GVariant* parameter,
                                        gpointer self)
{
#line 59 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__lambda264_ ((BoxesApp*) self);
#line 1403 "app.c"
}


static void
__lambda265_ (BoxesApp* self)
{
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
	BoxesICollectionView* _tmp2_;
	BoxesICollectionView* _tmp3_;
#line 63 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_app_get_main_window (self);
#line 63 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 63 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = boxes_app_window_get_view (_tmp1_);
#line 63 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = _tmp2_;
#line 63 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_icollection_view_select_by_criteria (_tmp3_, BOXES_SELECTION_CRITERIA_ALL);
#line 1424 "app.c"
}


static void
___lambda265__g_simple_action_activate (GSimpleAction* _sender,
                                        GVariant* parameter,
                                        gpointer self)
{
#line 63 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__lambda265_ ((BoxesApp*) self);
#line 1435 "app.c"
}


static void
__lambda266_ (BoxesApp* self)
{
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
	BoxesICollectionView* _tmp2_;
	BoxesICollectionView* _tmp3_;
#line 67 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_app_get_main_window (self);
#line 67 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 67 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = boxes_app_window_get_view (_tmp1_);
#line 67 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = _tmp2_;
#line 67 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_icollection_view_select_by_criteria (_tmp3_, BOXES_SELECTION_CRITERIA_RUNNING);
#line 1456 "app.c"
}


static void
___lambda266__g_simple_action_activate (GSimpleAction* _sender,
                                        GVariant* parameter,
                                        gpointer self)
{
#line 67 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__lambda266_ ((BoxesApp*) self);
#line 1467 "app.c"
}


static void
__lambda267_ (BoxesApp* self)
{
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
	BoxesICollectionView* _tmp2_;
	BoxesICollectionView* _tmp3_;
#line 71 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_app_get_main_window (self);
#line 71 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 71 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = boxes_app_window_get_view (_tmp1_);
#line 71 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = _tmp2_;
#line 71 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_icollection_view_select_by_criteria (_tmp3_, BOXES_SELECTION_CRITERIA_NONE);
#line 1488 "app.c"
}


static void
___lambda267__g_simple_action_activate (GSimpleAction* _sender,
                                        GVariant* parameter,
                                        gpointer self)
{
#line 71 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__lambda267_ ((BoxesApp*) self);
#line 1499 "app.c"
}


static void
__lambda268_ (BoxesApp* self)
{
	GError * _inner_error_ = NULL;
	{
		BoxesAppWindow* _tmp0_;
		BoxesAppWindow* _tmp1_;
		GdkScreen* _tmp2_;
#line 77 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp0_ = boxes_app_get_main_window (self);
#line 77 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp1_ = _tmp0_;
#line 77 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp2_ = gtk_window_get_screen ((GtkWindow*) _tmp1_);
#line 77 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		gtk_show_uri (_tmp2_, "help:gnome-boxes", gtk_get_current_event_time (), &_inner_error_);
#line 77 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1521 "app.c"
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GError* _tmp3_;
		const gchar* _tmp4_;
#line 76 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		e = _inner_error_;
#line 76 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_inner_error_ = NULL;
#line 81 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp3_ = e;
#line 81 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp4_ = _tmp3_->message;
#line 81 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_warning ("app.vala:81: Failed to display help: %s", _tmp4_);
#line 76 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_error_free0 (e);
#line 1543 "app.c"
	}
	__finally0:
#line 76 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 76 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 76 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_clear_error (&_inner_error_);
#line 76 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return;
#line 1554 "app.c"
	}
}


static void
___lambda268__g_simple_action_activate (GSimpleAction* _sender,
                                        GVariant* parameter,
                                        gpointer self)
{
#line 75 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__lambda268_ ((BoxesApp*) self);
#line 1566 "app.c"
}


static void
__lambda269_ (BoxesApp* self,
              GVariant* param)
{
	const gchar* _tmp0_;
#line 87 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = g_variant_get_string (param, NULL);
#line 87 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_open_name (self, _tmp0_);
#line 1579 "app.c"
}


static void
___lambda269__g_simple_action_activate (GSimpleAction* _sender,
                                        GVariant* parameter,
                                        gpointer self)
{
#line 87 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__lambda269_ ((BoxesApp*) self, parameter);
#line 1590 "app.c"
}


static void
__lambda270_ (BoxesApp* self)
{
	gchar** authors = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar** _tmp4_;
	gint authors_length1;
	gint _authors_size_;
	gchar** artists = NULL;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar** _tmp9_;
	gint artists_length1;
	gint _artists_size_;
	BoxesAppWindow* _tmp10_;
	BoxesAppWindow* _tmp11_;
#line 92 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = g_strdup ("Alexander Larsson <alexl@redhat.com>");
#line 92 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = g_strdup ("Christophe Fergeau <cfergeau@redhat.com>");
#line 92 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = g_strdup ("Marc-André Lureau <marcandre.lureau@gmail.com>");
#line 92 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = g_strdup ("Zeeshan Ali (Khattak) <zeeshanak@gnome.org>");
#line 92 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_ = g_new0 (gchar*, 4 + 1);
#line 92 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_[0] = _tmp0_;
#line 92 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_[1] = _tmp1_;
#line 92 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_[2] = _tmp2_;
#line 92 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_[3] = _tmp3_;
#line 92 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	authors = _tmp4_;
#line 92 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	authors_length1 = 4;
#line 92 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_authors_size_ = authors_length1;
#line 98 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp5_ = g_strdup ("Allan Day <aday@gnome.org>");
#line 98 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp6_ = g_strdup ("Jon McCann <jmccann@redhat.com>");
#line 98 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp7_ = g_strdup ("Jakub Steiner <jsteiner@redhat.com>");
#line 98 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp8_ = g_strdup ("Dave Jones <eevblog@yahoo.com.au>");
#line 98 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp9_ = g_new0 (gchar*, 4 + 1);
#line 98 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp9_[0] = _tmp5_;
#line 98 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp9_[1] = _tmp6_;
#line 98 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp9_[2] = _tmp7_;
#line 98 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp9_[3] = _tmp8_;
#line 98 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	artists = _tmp9_;
#line 98 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	artists_length1 = 4;
#line 98 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_artists_size_ = artists_length1;
#line 105 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp10_ = boxes_app_get_main_window (self);
#line 105 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp11_ = _tmp10_;
#line 105 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	gtk_show_about_dialog ((GtkWindow*) _tmp11_, "artists", artists, "authors", authors, "translator-credits", _ ("translator-credits"), "comments", _ ("A simple GNOME 3 application to access remote or virtual systems"), "copyright", "Copyright 2011 Red Hat, Inc.", "license-type", GTK_LICENSE_LGPL_2_1, "logo-icon-name", "gnome-boxes", "version", PACKAGE_VERSION, "website", PACKAGE_URL, "wrap-license", TRUE, NULL);
#line 91 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	artists = (_vala_array_free (artists, artists_length1, (GDestroyNotify) g_free), NULL);
#line 91 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	authors = (_vala_array_free (authors, authors_length1, (GDestroyNotify) g_free), NULL);
#line 1673 "app.c"
}


static void
___lambda270__g_simple_action_activate (GSimpleAction* _sender,
                                        GVariant* parameter,
                                        gpointer self)
{
#line 91 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__lambda270_ ((BoxesApp*) self);
#line 1684 "app.c"
}


BoxesApp*
boxes_app_construct (GType object_type)
{
	BoxesApp * self = NULL;
	GApplicationFlags _tmp0_;
	GApplicationFlags _tmp1_;
	BoxesApp* _tmp2_;
	BoxesAsyncLauncher* _tmp3_;
	GHashFunc _tmp4_;
	GEqualFunc _tmp5_;
	GHashTable* _tmp6_;
	GHashFunc _tmp7_;
	GEqualFunc _tmp8_;
	GHashTable* _tmp9_;
	GSimpleAction* action = NULL;
	GSimpleAction* _tmp10_;
	GSimpleAction* _tmp11_;
	GSimpleAction* _tmp12_;
	GSimpleAction* _tmp13_;
	GSimpleAction* _tmp14_;
	GSimpleAction* _tmp15_;
	GSimpleAction* _tmp16_;
	GSimpleAction* _tmp17_;
	GSimpleAction* _tmp18_;
	GSimpleAction* _tmp19_;
	GSimpleAction* _tmp20_;
	GSimpleAction* _tmp21_;
	GSimpleAction* _tmp22_;
	GSimpleAction* _tmp23_;
	GSimpleAction* _tmp24_;
	const GVariantType* _tmp25_;
	GSimpleAction* _tmp26_;
	GSimpleAction* _tmp27_;
	GSimpleAction* _tmp28_;
	GSimpleAction* _tmp29_;
	GSimpleAction* _tmp30_;
	GSimpleAction* _tmp31_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = (BoxesApp*) g_object_new (object_type, NULL);
#line 48 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_application_set_application_id ((GApplication*) self, "org.gnome.Boxes");
#line 49 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = g_application_get_flags ((GApplication*) self);
#line 49 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 49 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_application_set_flags ((GApplication*) self, _tmp1_ | G_APPLICATION_HANDLES_COMMAND_LINE);
#line 50 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_application_set_resource_base_path ((GApplication*) self, "/org/gnome/Boxes");
#line 52 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = _g_object_ref0 (self);
#line 52 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (boxes_app_app);
#line 52 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_app = _tmp2_;
#line 53 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = boxes_async_launcher_get_default ();
#line 53 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_boxes_async_launcher_unref0 (self->async_launcher);
#line 53 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self->async_launcher = _tmp3_;
#line 54 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__g_list_free__g_object_unref0_0 (self->priv->windows);
#line 54 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self->priv->windows = NULL;
#line 55 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__g_list_free__g_free0_0 (self->priv->system_notifications);
#line 55 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self->priv->system_notifications = NULL;
#line 56 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_ = g_str_hash;
#line 56 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp5_ = g_str_equal;
#line 56 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp6_ = g_hash_table_new_full (_tmp4_, _tmp5_, _g_free0_, _g_object_unref0_);
#line 56 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_hash_table_unref0 (self->priv->sources);
#line 56 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self->priv->sources = _tmp6_;
#line 57 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp7_ = g_str_hash;
#line 57 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp8_ = g_str_equal;
#line 57 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp9_ = g_hash_table_new_full (_tmp7_, _tmp8_, _g_free0_, _g_object_unref0_);
#line 57 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_hash_table_unref0 (self->priv->brokers);
#line 57 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self->priv->brokers = _tmp9_;
#line 58 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp10_ = g_simple_action_new ("quit", NULL);
#line 58 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	action = _tmp10_;
#line 59 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp11_ = action;
#line 59 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_signal_connect_object (_tmp11_, "activate", (GCallback) ___lambda264__g_simple_action_activate, self, 0);
#line 60 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp12_ = action;
#line 60 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_action_map_add_action ((GActionMap*) self, (GAction*) _tmp12_);
#line 62 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp13_ = g_simple_action_new ("select-all", NULL);
#line 62 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (action);
#line 62 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	action = _tmp13_;
#line 63 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp14_ = action;
#line 63 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_signal_connect_object (_tmp14_, "activate", (GCallback) ___lambda265__g_simple_action_activate, self, 0);
#line 64 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp15_ = action;
#line 64 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_action_map_add_action ((GActionMap*) self, (GAction*) _tmp15_);
#line 66 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp16_ = g_simple_action_new ("select-running", NULL);
#line 66 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (action);
#line 66 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	action = _tmp16_;
#line 67 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp17_ = action;
#line 67 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_signal_connect_object (_tmp17_, "activate", (GCallback) ___lambda266__g_simple_action_activate, self, 0);
#line 68 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp18_ = action;
#line 68 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_action_map_add_action ((GActionMap*) self, (GAction*) _tmp18_);
#line 70 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp19_ = g_simple_action_new ("select-none", NULL);
#line 70 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (action);
#line 70 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	action = _tmp19_;
#line 71 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp20_ = action;
#line 71 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_signal_connect_object (_tmp20_, "activate", (GCallback) ___lambda267__g_simple_action_activate, self, 0);
#line 72 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp21_ = action;
#line 72 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_action_map_add_action ((GActionMap*) self, (GAction*) _tmp21_);
#line 74 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp22_ = g_simple_action_new ("help", NULL);
#line 74 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (action);
#line 74 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	action = _tmp22_;
#line 75 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp23_ = action;
#line 75 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_signal_connect_object (_tmp23_, "activate", (GCallback) ___lambda268__g_simple_action_activate, self, 0);
#line 84 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp24_ = action;
#line 84 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_action_map_add_action ((GActionMap*) self, (GAction*) _tmp24_);
#line 86 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp25_ = G_VARIANT_TYPE_STRING;
#line 86 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp26_ = g_simple_action_new ("launch-box", _tmp25_);
#line 86 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (action);
#line 86 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	action = _tmp26_;
#line 87 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp27_ = action;
#line 87 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_signal_connect_object (_tmp27_, "activate", (GCallback) ___lambda269__g_simple_action_activate, self, 0);
#line 88 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp28_ = action;
#line 88 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_action_map_add_action ((GActionMap*) self, (GAction*) _tmp28_);
#line 90 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp29_ = g_simple_action_new ("about", NULL);
#line 90 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (action);
#line 90 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	action = _tmp29_;
#line 91 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp30_ = action;
#line 91 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_signal_connect_object (_tmp30_, "activate", (GCallback) ___lambda270__g_simple_action_activate, self, 0);
#line 117 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp31_ = action;
#line 117 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_action_map_add_action ((GActionMap*) self, (GAction*) _tmp31_);
#line 47 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (action);
#line 47 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return self;
#line 1879 "app.c"
}


BoxesApp*
boxes_app_new (void)
{
#line 47 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return boxes_app_construct (BOXES_TYPE_APP);
#line 1888 "app.c"
}


static void
boxes_app_real_startup (GApplication* base)
{
	BoxesApp * self;
	gchar** args = NULL;
	gchar** _tmp0_;
	gint args_length1;
	gint _args_size_;
	gchar** args2 = NULL;
	gchar** _tmp1_;
	gint _tmp1__length1;
	gint args2_length1;
	gint _args2_size_;
	BoxesCollection* _tmp2_;
	GHashTable* _tmp3_;
	gchar* _tmp4_;
	BoxesLibvirtBroker* _tmp5_;
#line 120 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = (BoxesApp*) base;
#line 121 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	G_APPLICATION_CLASS (boxes_app_parent_class)->startup ((GApplication*) G_TYPE_CHECK_INSTANCE_CAST (self, gtk_application_get_type (), GtkApplication));
#line 123 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = g_new0 (gchar*, 0 + 1);
#line 123 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	args = _tmp0_;
#line 123 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	args_length1 = 0;
#line 123 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_args_size_ = args_length1;
#line 124 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = args;
#line 124 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1__length1 = args_length1;
#line 124 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	args2 = _tmp1_;
#line 124 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	args2_length1 = _tmp1__length1;
#line 124 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_args2_size_ = args2_length1;
#line 125 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	gtk_init (&args2_length1, &args2);
#line 127 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = boxes_collection_new ();
#line 127 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (self->collection);
#line 127 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self->collection = _tmp2_;
#line 129 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = self->priv->brokers;
#line 129 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_ = g_strdup ("libvirt");
#line 129 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp5_ = boxes_libvirt_broker_get_default ();
#line 129 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_hash_table_insert (_tmp3_, _tmp4_, (BoxesBroker*) _tmp5_);
#line 130 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (HAVE_OVIRT) {
#line 1949 "app.c"
		GHashTable* _tmp6_;
		gchar* _tmp7_;
		BoxesOvirtBroker* _tmp8_;
#line 131 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp6_ = self->priv->brokers;
#line 131 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp7_ = g_strdup ("ovirt");
#line 131 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp8_ = boxes_ovirt_broker_get_default ();
#line 131 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_hash_table_insert (_tmp6_, _tmp7_, (BoxesBroker*) _tmp8_);
#line 1961 "app.c"
	}
#line 133 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_check_cpu_vt_capability (NULL, NULL);
#line 134 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_check_module_kvm_loaded (NULL, NULL);
#line 120 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	args = (_vala_array_free (args, args_length1, (GDestroyNotify) g_free), NULL);
#line 1969 "app.c"
}


gboolean
boxes_app_has_broker_for_source_type (BoxesApp* self,
                                      const gchar* type)
{
	gboolean result = FALSE;
	GHashTable* _tmp0_;
#line 137 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 137 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (type != NULL, FALSE);
#line 138 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = self->priv->brokers;
#line 138 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	result = g_hash_table_contains (_tmp0_, type);
#line 138 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 1989 "app.c"
}


static Block1Data*
block1_data_ref (Block1Data* _data1_)
{
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_atomic_int_inc (&_data1_->_ref_count_);
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return _data1_;
#line 2000 "app.c"
}


static void
block1_data_unref (void * _userdata_)
{
	Block1Data* _data1_;
	_data1_ = (Block1Data*) _userdata_;
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) {
#line 2011 "app.c"
		BoxesApp* self;
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		self = _data1_->self;
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		(_data1_->func_target_destroy_notify == NULL) ? NULL : (_data1_->func_target_destroy_notify (_data1_->func_target), NULL);
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data1_->func = NULL;
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data1_->func_target = NULL;
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data1_->func_target_destroy_notify = NULL;
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_object_unref0 (self);
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_slice_free (Block1Data, _data1_);
#line 2027 "app.c"
	}
}


static void
__lambda9_ (Block1Data* _data1_)
{
	BoxesApp* self;
#line 145 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = _data1_->self;
#line 146 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data1_->func (_data1_->func_target);
#line 2040 "app.c"
}


static void
___lambda9__boxes_app_ready (BoxesApp* _sender,
                             gpointer self)
{
#line 145 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__lambda9_ (self);
#line 2050 "app.c"
}


void
boxes_app_call_when_ready (BoxesApp* self,
                           BoxesAppCallReadyFunc func,
                           void* func_target,
                           GDestroyNotify func_target_destroy_notify)
{
	Block1Data* _data1_;
	gboolean _tmp0_;
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (self != NULL);
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data1_ = g_slice_new0 (Block1Data);
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data1_->_ref_count_ = 1;
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data1_->self = g_object_ref (self);
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	(_data1_->func_target_destroy_notify == NULL) ? NULL : (_data1_->func_target_destroy_notify (_data1_->func_target), NULL);
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data1_->func = NULL;
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data1_->func_target = NULL;
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data1_->func_target_destroy_notify = NULL;
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data1_->func = func;
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data1_->func_target = func_target;
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data1_->func_target_destroy_notify = func_target_destroy_notify;
#line 143 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = self->priv->is_ready;
#line 143 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp0_) {
#line 144 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data1_->func (_data1_->func_target);
#line 2090 "app.c"
	}
#line 145 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_signal_connect_data (self, "ready", (GCallback) ___lambda9__boxes_app_ready, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0);
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	block1_data_unref (_data1_);
#line 142 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data1_ = NULL;
#line 2098 "app.c"
}


static void
boxes_app_real_activate (GApplication* base)
{
	BoxesApp * self;
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
	BoxesAppWindow* window = NULL;
	BoxesAppWindow* _tmp2_;
	BoxesAppWindow* _tmp3_;
#line 150 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = (BoxesApp*) base;
#line 151 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	G_APPLICATION_CLASS (boxes_app_parent_class)->activate ((GApplication*) G_TYPE_CHECK_INSTANCE_CAST (self, gtk_application_get_type (), GtkApplication));
#line 153 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_app_get_main_window (self);
#line 153 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 153 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp1_ != NULL) {
#line 154 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return;
#line 2123 "app.c"
	}
#line 156 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = boxes_app_add_new_window (self);
#line 156 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	window = _tmp2_;
#line 157 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = window;
#line 157 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_ui_set_state ((BoxesUI*) _tmp3_, BOXES_UI_STATE_COLLECTION);
#line 159 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_activate_async (self, NULL, NULL);
#line 150 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (window);
#line 2137 "app.c"
}


static Block2Data*
block2_data_ref (Block2Data* _data2_)
{
#line 179 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_atomic_int_inc (&_data2_->_ref_count_);
#line 179 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return _data2_;
#line 2148 "app.c"
}


static void
block2_data_unref (void * _userdata_)
{
	Block2Data* _data2_;
	_data2_ = (Block2Data*) _userdata_;
#line 179 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) {
#line 2159 "app.c"
		BoxesApp* self;
#line 179 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		self = _data2_->self;
#line 179 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_object_unref0 (_data2_->app);
#line 179 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_object_unref0 (self);
#line 179 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_slice_free (Block2Data, _data2_);
#line 2169 "app.c"
	}
}


static Block3Data*
block3_data_ref (Block3Data* _data3_)
{
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_atomic_int_inc (&_data3_->_ref_count_);
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return _data3_;
#line 2181 "app.c"
}


static void
block3_data_unref (void * _userdata_)
{
	Block3Data* _data3_;
	_data3_ = (Block3Data*) _userdata_;
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) {
#line 2192 "app.c"
		BoxesApp* self;
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		self = _data3_->_data2_->self;
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (_data3_->uuid);
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		block2_data_unref (_data3_->_data2_);
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data3_->_data2_ = NULL;
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_slice_free (Block3Data, _data3_);
#line 2204 "app.c"
	}
}


static void
___lambda275_ (Block3Data* _data3_)
{
	Block2Data* _data2_;
	BoxesApp* self;
	BoxesApp* _tmp0_;
	const gchar* _tmp1_;
#line 221 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data2_ = _data3_->_data2_;
#line 221 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = _data2_->self;
#line 222 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = _data2_->app;
#line 222 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _data3_->uuid;
#line 222 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_open_uuid (_tmp0_, _tmp1_);
#line 2226 "app.c"
}


static void
____lambda275__boxes_app_call_ready_func (gpointer self)
{
#line 221 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	___lambda275_ (self);
#line 2235 "app.c"
}


static Block4Data*
block4_data_ref (Block4Data* _data4_)
{
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_atomic_int_inc (&_data4_->_ref_count_);
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return _data4_;
#line 2246 "app.c"
}


static void
block4_data_unref (void * _userdata_)
{
	Block4Data* _data4_;
	_data4_ = (Block4Data*) _userdata_;
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (g_atomic_int_dec_and_test (&_data4_->_ref_count_)) {
#line 2257 "app.c"
		BoxesApp* self;
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		self = _data4_->_data2_->self;
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (_data4_->arg);
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		block2_data_unref (_data4_->_data2_);
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data4_->_data2_ = NULL;
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_slice_free (Block4Data, _data4_);
#line 2269 "app.c"
	}
}


static void
____lambda276_ (Block4Data* _data4_)
{
	Block2Data* _data2_;
	BoxesApp* self;
	GFile* file = NULL;
	const gchar* _tmp0_;
	GFile* _tmp1_;
	gboolean is_uri = FALSE;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gboolean _tmp5_;
	GFile* _tmp6_;
#line 227 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data2_ = _data4_->_data2_;
#line 227 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = _data2_->self;
#line 228 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = _data4_->arg;
#line 228 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = g_file_new_for_commandline_arg (_tmp0_);
#line 228 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	file = _tmp1_;
#line 229 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = _data4_->arg;
#line 229 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = g_uri_parse_scheme (_tmp2_);
#line 229 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_ = _tmp3_;
#line 229 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp5_ = _tmp4_ != NULL;
#line 229 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_free0 (_tmp4_);
#line 229 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	is_uri = _tmp5_;
#line 231 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp6_ = file;
#line 231 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (g_file_query_exists (_tmp6_, NULL)) {
#line 2314 "app.c"
		gboolean _tmp7_;
#line 232 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp7_ = is_uri;
#line 232 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (_tmp7_) {
#line 2320 "app.c"
			BoxesAppWindow* _tmp8_;
			BoxesAppWindow* _tmp9_;
			BoxesWizardWindow* _tmp10_;
			BoxesWizard* _tmp11_;
			const gchar* _tmp12_;
#line 233 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp8_ = boxes_app_get_main_window (self);
#line 233 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp9_ = _tmp8_;
#line 233 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp10_ = _tmp9_->wizard_window;
#line 233 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp11_ = _tmp10_->wizard;
#line 233 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp12_ = _data4_->arg;
#line 233 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			boxes_wizard_open_with_uri (_tmp11_, _tmp12_, TRUE);
#line 2338 "app.c"
		} else {
			BoxesAppWindow* _tmp13_;
			BoxesAppWindow* _tmp14_;
			BoxesWizardWindow* _tmp15_;
			BoxesWizard* _tmp16_;
			GFile* _tmp17_;
			gchar* _tmp18_;
			gchar* _tmp19_;
#line 235 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp13_ = boxes_app_get_main_window (self);
#line 235 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp14_ = _tmp13_;
#line 235 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp15_ = _tmp14_->wizard_window;
#line 235 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp16_ = _tmp15_->wizard;
#line 235 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp17_ = file;
#line 235 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp18_ = g_file_get_uri (_tmp17_);
#line 235 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp19_ = _tmp18_;
#line 235 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			boxes_wizard_open_with_uri (_tmp16_, _tmp19_, TRUE);
#line 235 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_g_free0 (_tmp19_);
#line 2365 "app.c"
		}
	} else {
		gboolean _tmp20_;
#line 236 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp20_ = is_uri;
#line 236 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (_tmp20_) {
#line 2373 "app.c"
			BoxesAppWindow* _tmp21_;
			BoxesAppWindow* _tmp22_;
			BoxesWizardWindow* _tmp23_;
			BoxesWizard* _tmp24_;
			const gchar* _tmp25_;
#line 237 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp21_ = boxes_app_get_main_window (self);
#line 237 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp22_ = _tmp21_;
#line 237 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp23_ = _tmp22_->wizard_window;
#line 237 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp24_ = _tmp23_->wizard;
#line 237 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp25_ = _data4_->arg;
#line 237 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			boxes_wizard_open_with_uri (_tmp24_, _tmp25_, TRUE);
#line 2391 "app.c"
		} else {
			const gchar* _tmp26_;
#line 239 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp26_ = _data4_->arg;
#line 239 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			boxes_app_open_name (self, _tmp26_);
#line 2398 "app.c"
		}
	}
#line 227 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (file);
#line 2403 "app.c"
}


static void
_____lambda276__boxes_app_call_ready_func (gpointer self)
{
#line 227 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	____lambda276_ (self);
#line 2412 "app.c"
}


static gchar*
_vala_g_strjoinv (const gchar* separator,
                  gchar** str_array,
                  int str_array_length1)
{
	gchar* result = NULL;
	gboolean _tmp0_ = FALSE;
#line 1092 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
	if (separator == NULL) {
#line 1093 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		separator = "";
#line 2427 "app.c"
	}
#line 1095 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
	if (str_array != NULL) {
#line 2431 "app.c"
		gboolean _tmp1_ = FALSE;
#line 1095 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		if (str_array_length1 > 0) {
#line 1095 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
			_tmp1_ = TRUE;
#line 2437 "app.c"
		} else {
			gboolean _tmp2_ = FALSE;
#line 1095 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
			if (str_array_length1 == -1) {
#line 2442 "app.c"
				const gchar* _tmp3_;
#line 1095 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp3_ = str_array[0];
#line 1095 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp2_ = _tmp3_ != NULL;
#line 2448 "app.c"
			} else {
#line 1095 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp2_ = FALSE;
#line 2452 "app.c"
			}
#line 1095 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
			_tmp1_ = _tmp2_;
#line 2456 "app.c"
		}
#line 1095 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = _tmp1_;
#line 2460 "app.c"
	} else {
#line 1095 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = FALSE;
#line 2464 "app.c"
	}
#line 1095 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
	if (_tmp0_) {
#line 2468 "app.c"
		gint i = 0;
		gsize len = 0UL;
		gint _tmp20_;
		gint _tmp22_;
		gint _tmp23_;
		gsize _tmp24_;
		gint _tmp25_;
		gint _tmp26_;
		gint _tmp27_;
		const gchar* res = NULL;
		gsize _tmp28_;
		void* _tmp29_;
		void* ptr = NULL;
		const gchar* _tmp30_;
		const gchar* _tmp31_;
		void* _tmp32_;
		const gchar* _tmp45_;
#line 1097 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		len = (gsize) 1;
#line 2488 "app.c"
		{
			gboolean _tmp4_ = FALSE;
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
			i = 0;
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
			_tmp4_ = TRUE;
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
			while (TRUE) {
#line 2497 "app.c"
				gboolean _tmp6_ = FALSE;
				gboolean _tmp7_ = FALSE;
				gint _tmp12_ = 0;
				gint _tmp13_;
				const gchar* _tmp14_;
				gsize _tmp19_;
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				if (!_tmp4_) {
#line 2506 "app.c"
					gint _tmp5_;
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp5_ = i;
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					i = _tmp5_ + 1;
#line 2512 "app.c"
				}
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp4_ = FALSE;
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				if (str_array_length1 != -1) {
#line 2518 "app.c"
					gint _tmp8_;
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp8_ = i;
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp7_ = _tmp8_ < str_array_length1;
#line 2524 "app.c"
				} else {
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp7_ = FALSE;
#line 2528 "app.c"
				}
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				if (_tmp7_) {
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp6_ = TRUE;
#line 2534 "app.c"
				} else {
					gboolean _tmp9_ = FALSE;
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					if (str_array_length1 == -1) {
#line 2539 "app.c"
						gint _tmp10_;
						const gchar* _tmp11_;
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
						_tmp10_ = i;
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
						_tmp11_ = str_array[_tmp10_];
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
						_tmp9_ = _tmp11_ != NULL;
#line 2548 "app.c"
					} else {
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
						_tmp9_ = FALSE;
#line 2552 "app.c"
					}
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp6_ = _tmp9_;
#line 2556 "app.c"
				}
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				if (!_tmp6_) {
#line 1098 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					break;
#line 2562 "app.c"
				}
#line 1099 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp13_ = i;
#line 1099 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp14_ = str_array[_tmp13_];
#line 1099 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				if (_tmp14_ != NULL) {
#line 2570 "app.c"
					gint _tmp15_;
					const gchar* _tmp16_;
					gint _tmp17_;
					gint _tmp18_;
#line 1099 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp15_ = i;
#line 1099 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp16_ = str_array[_tmp15_];
#line 1099 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp17_ = strlen ((const gchar*) _tmp16_);
#line 1099 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp18_ = _tmp17_;
#line 1099 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp12_ = _tmp18_;
#line 2585 "app.c"
				} else {
#line 1099 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp12_ = 0;
#line 2589 "app.c"
				}
#line 1099 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp19_ = len;
#line 1099 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				len = _tmp19_ + _tmp12_;
#line 2595 "app.c"
			}
		}
#line 1101 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp20_ = i;
#line 1101 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		if (_tmp20_ == 0) {
#line 2602 "app.c"
			gchar* _tmp21_;
#line 1102 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
			_tmp21_ = g_strdup ("");
#line 1102 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
			result = _tmp21_;
#line 1102 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
			return result;
#line 2610 "app.c"
		}
#line 1104 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp22_ = i;
#line 1104 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		str_array_length1 = _tmp22_;
#line 1104 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp23_ = str_array_length1;
#line 1105 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp24_ = len;
#line 1105 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp25_ = strlen ((const gchar*) separator);
#line 1105 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp26_ = _tmp25_;
#line 1105 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp27_ = i;
#line 1105 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		len = _tmp24_ + (_tmp26_ * (_tmp27_ - 1));
#line 1107 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp28_ = len;
#line 1107 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp29_ = g_malloc (_tmp28_);
#line 1107 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		res = _tmp29_;
#line 1108 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp30_ = res;
#line 1108 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp31_ = str_array[0];
#line 1108 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp32_ = g_stpcpy ((void*) _tmp30_, (const gchar*) _tmp31_);
#line 1108 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		ptr = _tmp32_;
#line 2642 "app.c"
		{
			gboolean _tmp33_ = FALSE;
#line 1109 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
			i = 1;
#line 1109 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
			_tmp33_ = TRUE;
#line 1109 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
			while (TRUE) {
#line 2651 "app.c"
				gint _tmp35_;
				void* _tmp36_;
				void* _tmp37_;
				const gchar* _tmp38_ = NULL;
				gint _tmp39_;
				const gchar* _tmp40_;
				void* _tmp43_;
				void* _tmp44_;
#line 1109 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				if (!_tmp33_) {
#line 2662 "app.c"
					gint _tmp34_;
#line 1109 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp34_ = i;
#line 1109 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					i = _tmp34_ + 1;
#line 2668 "app.c"
				}
#line 1109 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp33_ = FALSE;
#line 1109 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp35_ = i;
#line 1109 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				if (!(_tmp35_ < str_array_length1)) {
#line 1109 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					break;
#line 2678 "app.c"
				}
#line 1110 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp36_ = ptr;
#line 1110 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp37_ = g_stpcpy (_tmp36_, (const gchar*) separator);
#line 1110 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				ptr = _tmp37_;
#line 1111 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp39_ = i;
#line 1111 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp40_ = str_array[_tmp39_];
#line 1111 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				if (_tmp40_ != NULL) {
#line 2692 "app.c"
					gint _tmp41_;
					const gchar* _tmp42_;
#line 1111 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp41_ = i;
#line 1111 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp42_ = str_array[_tmp41_];
#line 1111 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp38_ = (const gchar*) _tmp42_;
#line 2701 "app.c"
				} else {
#line 1111 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
					_tmp38_ = "";
#line 2705 "app.c"
				}
#line 1111 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp43_ = ptr;
#line 1111 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				_tmp44_ = g_stpcpy (_tmp43_, _tmp38_);
#line 1111 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
				ptr = _tmp44_;
#line 2713 "app.c"
			}
		}
#line 1114 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp45_ = res;
#line 1114 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		res = NULL;
#line 1114 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		result = (gchar*) _tmp45_;
#line 1114 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		return result;
#line 2724 "app.c"
	} else {
		gchar* _tmp46_;
#line 1116 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp46_ = g_strdup ("");
#line 1116 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		result = _tmp46_;
#line 1116 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
		return result;
#line 2733 "app.c"
	}
}


static void
___lambda277_ (BoxesApp* self)
{
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
	BoxesSearchbar* _tmp2_;
	gchar** _tmp3_;
	gint _tmp3__length1;
	gchar* _tmp4_;
	gchar* _tmp5_;
	BoxesAppWindow* _tmp6_;
	BoxesAppWindow* _tmp7_;
	BoxesUIState _tmp8_;
	BoxesUIState _tmp9_;
#line 245 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_app_get_main_window (self);
#line 245 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 245 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = _tmp1_->searchbar;
#line 245 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = boxes_app_opt_search;
#line 245 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3__length1 = boxes_app_opt_search_length1;
#line 245 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_ = _vala_g_strjoinv (" ", _tmp3_, _tmp3__length1);
#line 245 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp5_ = _tmp4_;
#line 245 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_searchbar_set_text (_tmp2_, _tmp5_);
#line 245 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_free0 (_tmp5_);
#line 246 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp6_ = boxes_app_get_main_window (self);
#line 246 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp7_ = _tmp6_;
#line 246 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp8_ = boxes_ui_get_ui_state ((BoxesUI*) _tmp7_);
#line 246 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp9_ = _tmp8_;
#line 246 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp9_ == BOXES_UI_STATE_COLLECTION) {
#line 2780 "app.c"
		BoxesAppWindow* _tmp10_;
		BoxesAppWindow* _tmp11_;
		BoxesSearchbar* _tmp12_;
#line 247 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp10_ = boxes_app_get_main_window (self);
#line 247 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp11_ = _tmp10_;
#line 247 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp12_ = _tmp11_->searchbar;
#line 247 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_object_set ((GtkSearchBar*) _tmp12_, "search-mode-enabled", TRUE, NULL);
#line 2792 "app.c"
	}
}


static void
____lambda277__boxes_app_call_ready_func (gpointer self)
{
#line 244 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	___lambda277_ ((BoxesApp*) self);
#line 2802 "app.c"
}


static gint
boxes_app_real_command_line (GApplication* base,
                             GApplicationCommandLine* cmdline)
{
	BoxesApp * self;
	gint result = 0;
	Block2Data* _data2_;
	gchar* parameter_string = NULL;
	gchar* _tmp0_;
	GOptionContext* opt_context = NULL;
	const gchar* _tmp1_;
	GOptionContext* _tmp2_;
	GOptionContext* _tmp3_;
	GOptionContext* _tmp4_;
	GOptionGroup* _tmp5_;
	GOptionContext* _tmp6_;
	GOptionGroup* _tmp7_;
	GOptionContext* _tmp8_;
	GOptionGroup* _tmp9_;
	GOptionContext* _tmp10_;
	gboolean _tmp22_;
	gboolean _tmp26_ = FALSE;
	gchar** _tmp27_;
	gint _tmp27__length1;
	BoxesApp* _tmp34_;
	const gchar* _tmp35_;
	gchar** _tmp42_;
	gint _tmp42__length1;
	gboolean _tmp43_;
	GError * _inner_error_ = NULL;
#line 179 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = (BoxesApp*) base;
#line 179 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (cmdline != NULL, 0);
#line 179 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data2_ = g_slice_new0 (Block2Data);
#line 179 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data2_->_ref_count_ = 1;
#line 179 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data2_->self = g_object_ref (self);
#line 180 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_opt_fullscreen = FALSE;
#line 181 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_opt_help = FALSE;
#line 182 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_free0 (boxes_app_opt_open_uuid);
#line 182 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_opt_open_uuid = NULL;
#line 183 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_opt_uris = (_vala_array_free (boxes_app_opt_uris, boxes_app_opt_uris_length1, (GDestroyNotify) g_free), NULL);
#line 183 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_opt_uris = NULL;
#line 183 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_opt_uris_length1 = 0;
#line 183 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_boxes_app_opt_uris_size_ = boxes_app_opt_uris_length1;
#line 184 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_opt_search = (_vala_array_free (boxes_app_opt_search, boxes_app_opt_search_length1, (GDestroyNotify) g_free), NULL);
#line 184 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_opt_search = NULL;
#line 184 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_opt_search_length1 = 0;
#line 184 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_boxes_app_opt_search_size_ = boxes_app_opt_search_length1;
#line 186 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = g_strdup (_ ("— A simple application to access remote or virtual machines"));
#line 186 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	parameter_string = _tmp0_;
#line 187 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = parameter_string;
#line 187 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = g_option_context_new (_tmp1_);
#line 187 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	opt_context = _tmp2_;
#line 188 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = opt_context;
#line 188 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_option_context_add_main_entries (_tmp3_, BOXES_APP_options, NULL);
#line 189 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_ = opt_context;
#line 189 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp5_ = spice_get_option_group ();
#line 189 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_option_context_add_group (_tmp4_, _tmp5_);
#line 190 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp6_ = opt_context;
#line 190 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp7_ = vnc_display_get_option_group ();
#line 190 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_option_context_add_group (_tmp6_, _tmp7_);
#line 191 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp8_ = opt_context;
#line 191 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp9_ = gtk_get_option_group (TRUE);
#line 191 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_option_context_add_group (_tmp8_, _tmp9_);
#line 192 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp10_ = opt_context;
#line 192 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_option_context_set_help_enabled (_tmp10_, TRUE);
#line 2906 "app.c"
	{
		gchar** args1 = NULL;
		gint _tmp11_;
		gchar** _tmp12_;
		gint args1_length1;
		gint _args1_size_;
		gchar** args2 = NULL;
		gchar** _tmp13_;
		gint _tmp13__length1;
		gint args2_length1;
		gint _args2_size_;
		GOptionContext* _tmp14_;
#line 195 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp12_ = g_application_command_line_get_arguments (cmdline, &_tmp11_);
#line 195 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		args1 = _tmp12_;
#line 195 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		args1_length1 = _tmp11_;
#line 195 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_args1_size_ = args1_length1;
#line 196 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp13_ = args1;
#line 196 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp13__length1 = args1_length1;
#line 196 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		args2 = _tmp13_;
#line 196 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		args2_length1 = _tmp13__length1;
#line 196 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_args2_size_ = args2_length1;
#line 197 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp14_ = opt_context;
#line 197 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_option_context_parse (_tmp14_, &args2_length1, &args2, &_inner_error_);
#line 197 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2943 "app.c"
			gint _tmp15_ = 0;
#line 197 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			args1 = (_vala_array_free (args1, args1_length1, (GDestroyNotify) g_free), NULL);
#line 197 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			if (_inner_error_->domain == G_OPTION_ERROR) {
#line 2949 "app.c"
				goto __catch1_g_option_error;
			}
#line 197 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			args1 = (_vala_array_free (args1, args1_length1, (GDestroyNotify) g_free), NULL);
#line 197 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_g_option_context_free0 (opt_context);
#line 197 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_g_free0 (parameter_string);
#line 197 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			block2_data_unref (_data2_);
#line 197 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data2_ = NULL;
#line 197 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 197 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			g_clear_error (&_inner_error_);
#line 197 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			return _tmp15_;
#line 2968 "app.c"
		}
#line 194 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		args1 = (_vala_array_free (args1, args1_length1, (GDestroyNotify) g_free), NULL);
#line 2972 "app.c"
	}
	goto __finally1;
	__catch1_g_option_error:
	{
		GError* _error_ = NULL;
		GError* _tmp16_;
		const gchar* _tmp17_;
		GOptionContext* _tmp18_;
		gchar* _tmp19_;
		gchar* _tmp20_;
#line 194 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_error_ = _inner_error_;
#line 194 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_inner_error_ = NULL;
#line 199 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp16_ = _error_;
#line 199 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp17_ = _tmp16_->message;
#line 199 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_application_command_line_printerr (cmdline, "%s\n", _tmp17_);
#line 200 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp18_ = opt_context;
#line 200 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp19_ = g_option_context_get_help (_tmp18_, TRUE, NULL);
#line 200 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp20_ = _tmp19_;
#line 200 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_application_command_line_printerr (cmdline, "%s", _tmp20_);
#line 200 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (_tmp20_);
#line 201 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		result = 1;
#line 201 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_error_free0 (_error_);
#line 201 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_option_context_free0 (opt_context);
#line 201 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (parameter_string);
#line 201 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		block2_data_unref (_data2_);
#line 201 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data2_ = NULL;
#line 201 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return result;
#line 3017 "app.c"
	}
	__finally1:
#line 194 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 3022 "app.c"
		gint _tmp21_ = 0;
#line 194 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_option_context_free0 (opt_context);
#line 194 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (parameter_string);
#line 194 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		block2_data_unref (_data2_);
#line 194 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data2_ = NULL;
#line 194 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 194 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_clear_error (&_inner_error_);
#line 194 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return _tmp21_;
#line 3038 "app.c"
	}
#line 204 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp22_ = boxes_app_opt_help;
#line 204 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp22_) {
#line 3044 "app.c"
		GOptionContext* _tmp23_;
		gchar* _tmp24_;
		gchar* _tmp25_;
#line 205 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp23_ = opt_context;
#line 205 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp24_ = g_option_context_get_help (_tmp23_, TRUE, NULL);
#line 205 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp25_ = _tmp24_;
#line 205 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_application_command_line_printerr (cmdline, "%s", _tmp25_);
#line 205 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (_tmp25_);
#line 206 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		result = 1;
#line 206 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_option_context_free0 (opt_context);
#line 206 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (parameter_string);
#line 206 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		block2_data_unref (_data2_);
#line 206 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data2_ = NULL;
#line 206 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return result;
#line 3070 "app.c"
	}
#line 209 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp27_ = boxes_app_opt_uris;
#line 209 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp27__length1 = boxes_app_opt_uris_length1;
#line 209 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp27__length1 > 1) {
#line 209 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp26_ = TRUE;
#line 3080 "app.c"
	} else {
		gboolean _tmp28_ = FALSE;
		const gchar* _tmp29_;
#line 210 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp29_ = boxes_app_opt_open_uuid;
#line 210 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (_tmp29_ != NULL) {
#line 3088 "app.c"
			gchar** _tmp30_;
			gint _tmp30__length1;
#line 210 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp30_ = boxes_app_opt_uris;
#line 210 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp30__length1 = boxes_app_opt_uris_length1;
#line 210 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp28_ = _tmp30_ != NULL;
#line 3097 "app.c"
		} else {
#line 210 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp28_ = FALSE;
#line 3101 "app.c"
		}
#line 210 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp26_ = _tmp28_;
#line 3105 "app.c"
	}
#line 209 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp26_) {
#line 3109 "app.c"
		GOptionContext* _tmp31_;
		gchar* _tmp32_;
		gchar* _tmp33_;
#line 211 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_application_command_line_printerr (cmdline, "%s", _ ("Too many command line arguments specified.\n"));
#line 212 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp31_ = opt_context;
#line 212 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp32_ = g_option_context_get_help (_tmp31_, TRUE, NULL);
#line 212 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp33_ = _tmp32_;
#line 212 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_application_command_line_printerr (cmdline, "%s", _tmp33_);
#line 212 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (_tmp33_);
#line 213 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		result = 1;
#line 213 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_option_context_free0 (opt_context);
#line 213 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (parameter_string);
#line 213 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		block2_data_unref (_data2_);
#line 213 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data2_ = NULL;
#line 213 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return result;
#line 3137 "app.c"
	}
#line 216 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_application_activate ((GApplication*) self);
#line 218 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp34_ = _g_object_ref0 (self);
#line 218 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data2_->app = _tmp34_;
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp35_ = boxes_app_opt_open_uuid;
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp35_ != NULL) {
#line 3149 "app.c"
		Block3Data* _data3_;
		const gchar* _tmp36_;
		gchar* _tmp37_;
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data3_ = g_slice_new0 (Block3Data);
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data3_->_ref_count_ = 1;
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data3_->_data2_ = block2_data_ref (_data2_);
#line 220 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp36_ = boxes_app_opt_open_uuid;
#line 220 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp37_ = g_strdup (_tmp36_);
#line 220 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data3_->uuid = _tmp37_;
#line 221 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		boxes_app_call_when_ready (self, ____lambda275__boxes_app_call_ready_func, block3_data_ref (_data3_), block3_data_unref);
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		block3_data_unref (_data3_);
#line 219 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data3_ = NULL;
#line 3171 "app.c"
	} else {
		gchar** _tmp38_;
		gint _tmp38__length1;
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp38_ = boxes_app_opt_uris;
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp38__length1 = boxes_app_opt_uris_length1;
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (_tmp38_ != NULL) {
#line 3181 "app.c"
			Block4Data* _data4_;
			gchar** _tmp39_;
			gint _tmp39__length1;
			const gchar* _tmp40_;
			gchar* _tmp41_;
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data4_ = g_slice_new0 (Block4Data);
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data4_->_ref_count_ = 1;
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data4_->_data2_ = block2_data_ref (_data2_);
#line 225 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp39_ = boxes_app_opt_uris;
#line 225 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp39__length1 = boxes_app_opt_uris_length1;
#line 225 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp40_ = _tmp39_[0];
#line 225 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp41_ = g_strdup (_tmp40_);
#line 225 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data4_->arg = _tmp41_;
#line 227 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			boxes_app_call_when_ready (self, _____lambda276__boxes_app_call_ready_func, block4_data_ref (_data4_), block4_data_unref);
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			block4_data_unref (_data4_);
#line 224 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data4_ = NULL;
#line 3209 "app.c"
		}
	}
#line 243 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp42_ = boxes_app_opt_search;
#line 243 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp42__length1 = boxes_app_opt_search_length1;
#line 243 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp42_ != NULL) {
#line 244 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		boxes_app_call_when_ready (self, ____lambda277__boxes_app_call_ready_func, g_object_ref (self), g_object_unref);
#line 3220 "app.c"
	}
#line 251 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp43_ = boxes_app_opt_fullscreen;
#line 251 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp43_) {
#line 3226 "app.c"
		BoxesAppWindow* _tmp44_;
		BoxesAppWindow* _tmp45_;
#line 252 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp44_ = boxes_app_get_main_window (self);
#line 252 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp45_ = _tmp44_;
#line 252 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		boxes_app_window_set_fullscreened (_tmp45_, TRUE);
#line 3235 "app.c"
	}
#line 254 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	result = 0;
#line 254 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_option_context_free0 (opt_context);
#line 254 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_free0 (parameter_string);
#line 254 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	block2_data_unref (_data2_);
#line 254 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data2_ = NULL;
#line 254 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 3249 "app.c"
}


static gboolean
__lambda55_ (BoxesApp* self)
{
	gboolean result = FALSE;
#line 265 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_application_quit ((GApplication*) self);
#line 267 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	result = FALSE;
#line 267 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 3263 "app.c"
}


static gboolean
___lambda55__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda55_ ((BoxesApp*) self);
#line 264 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 3274 "app.c"
}


gboolean
boxes_app_quit_app (BoxesApp* self)
{
	gboolean result = FALSE;
	GList* _tmp0_;
	GdkDisplay* display = NULL;
	GdkDisplay* _tmp3_;
	GdkDisplay* _tmp4_;
#line 257 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 258 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = self->priv->windows;
#line 3290 "app.c"
	{
		GList* window_collection = NULL;
		GList* window_it = NULL;
#line 258 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		window_collection = _tmp0_;
#line 258 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		for (window_it = window_collection; window_it != NULL; window_it = window_it->next) {
#line 3298 "app.c"
			BoxesAppWindow* _tmp1_;
			BoxesAppWindow* window = NULL;
#line 258 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp1_ = _g_object_ref0 ((BoxesAppWindow*) window_it->data);
#line 258 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			window = _tmp1_;
#line 3305 "app.c"
			{
				BoxesAppWindow* _tmp2_;
#line 259 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp2_ = window;
#line 259 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				gtk_widget_hide ((GtkWidget*) _tmp2_);
#line 258 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_object_unref0 (window);
#line 3314 "app.c"
			}
		}
	}
#line 261 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = gdk_display_get_default ();
#line 261 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 261 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	display = _tmp4_;
#line 262 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	gdk_display_flush (display);
#line 264 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, ___lambda55__gsource_func, g_object_ref (self), g_object_unref);
#line 270 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	result = TRUE;
#line 270 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (display);
#line 270 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 3334 "app.c"
}


static void
boxes_app_real_shutdown (GApplication* base)
{
	BoxesApp * self;
	GList* _tmp0_;
	BoxesAsyncLauncher* _tmp8_;
	GList* _tmp9_;
#line 273 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = (BoxesApp*) base;
#line 274 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	G_APPLICATION_CLASS (boxes_app_parent_class)->shutdown ((GApplication*) G_TYPE_CHECK_INSTANCE_CAST (self, gtk_application_get_type (), GtkApplication));
#line 276 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = self->priv->windows;
#line 3351 "app.c"
	{
		GList* window_collection = NULL;
		GList* window_it = NULL;
#line 276 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		window_collection = _tmp0_;
#line 276 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		for (window_it = window_collection; window_it != NULL; window_it = window_it->next) {
#line 3359 "app.c"
			BoxesAppWindow* _tmp1_;
			BoxesAppWindow* window = NULL;
#line 276 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp1_ = _g_object_ref0 ((BoxesAppWindow*) window_it->data);
#line 276 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			window = _tmp1_;
#line 3366 "app.c"
			{
				BoxesAppWindow* _tmp2_;
				BoxesNotificationbar* _tmp3_;
				BoxesNotificationbar* _tmp4_;
				BoxesAppWindow* _tmp5_;
				BoxesWizardWindow* _tmp6_;
				BoxesWizard* _tmp7_;
#line 277 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp2_ = window;
#line 277 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp3_ = boxes_app_window_get_notificationbar (_tmp2_);
#line 277 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp4_ = _tmp3_;
#line 277 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				boxes_notificationbar_dismiss_all (_tmp4_);
#line 278 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp5_ = window;
#line 278 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp6_ = _tmp5_->wizard_window;
#line 278 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp7_ = _tmp6_->wizard;
#line 278 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				boxes_wizard_cleanup (_tmp7_);
#line 276 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_object_unref0 (window);
#line 3392 "app.c"
			}
		}
	}
#line 280 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp8_ = self->async_launcher;
#line 280 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_async_launcher_await_all (_tmp8_);
#line 281 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_suspend_machines (self);
#line 284 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp9_ = self->priv->system_notifications;
#line 3404 "app.c"
	{
		GList* notification_collection = NULL;
		GList* notification_it = NULL;
#line 284 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		notification_collection = _tmp9_;
#line 284 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		for (notification_it = notification_collection; notification_it != NULL; notification_it = notification_it->next) {
#line 3412 "app.c"
			gchar* _tmp10_;
			gchar* notification = NULL;
#line 284 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp10_ = g_strdup ((const gchar*) notification_it->data);
#line 284 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			notification = _tmp10_;
#line 3419 "app.c"
			{
				const gchar* _tmp11_;
#line 285 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp11_ = notification;
#line 285 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				g_application_withdraw_notification ((GApplication*) self, _tmp11_);
#line 284 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_free0 (notification);
#line 3428 "app.c"
			}
		}
	}
}


void
boxes_app_open_name (BoxesApp* self,
                     const gchar* name)
{
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
#line 288 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (self != NULL);
#line 288 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (name != NULL);
#line 289 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_app_get_main_window (self);
#line 289 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 289 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_ui_set_state ((BoxesUI*) _tmp1_, BOXES_UI_STATE_COLLECTION);
#line 3451 "app.c"
	{
		gint i = 0;
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		i = 0;
#line 3456 "app.c"
		{
			gboolean _tmp2_ = FALSE;
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp2_ = TRUE;
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			while (TRUE) {
#line 3463 "app.c"
				gint _tmp4_;
				BoxesCollection* _tmp5_;
				guint _tmp6_;
				guint _tmp7_;
				BoxesCollectionItem* item = NULL;
				BoxesCollection* _tmp8_;
				gint _tmp9_;
				BoxesCollectionItem* _tmp10_;
				BoxesCollectionItem* _tmp11_;
				const gchar* _tmp12_;
				const gchar* _tmp13_;
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (!_tmp2_) {
#line 3477 "app.c"
					gint _tmp3_;
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_tmp3_ = i;
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					i = _tmp3_ + 1;
#line 3483 "app.c"
				}
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp2_ = FALSE;
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp4_ = i;
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp5_ = self->collection;
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp6_ = boxes_collection_get_length (_tmp5_);
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp7_ = _tmp6_;
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (!(((guint) _tmp4_) < _tmp7_)) {
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					break;
#line 3499 "app.c"
				}
#line 293 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp8_ = self->collection;
#line 293 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp9_ = i;
#line 293 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp10_ = boxes_collection_get_item (_tmp8_, _tmp9_);
#line 293 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				item = _tmp10_;
#line 295 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp11_ = item;
#line 295 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp12_ = boxes_collection_item_get_name (_tmp11_);
#line 295 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp13_ = _tmp12_;
#line 295 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (g_strcmp0 (_tmp13_, name) == 0) {
#line 3517 "app.c"
					BoxesAppWindow* _tmp14_;
					BoxesAppWindow* _tmp15_;
					BoxesCollectionItem* _tmp16_;
#line 296 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_tmp14_ = boxes_app_get_main_window (self);
#line 296 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_tmp15_ = _tmp14_;
#line 296 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_tmp16_ = item;
#line 296 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					boxes_app_window_select_item (_tmp15_, _tmp16_);
#line 298 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_object_unref0 (item);
#line 298 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					break;
#line 3533 "app.c"
				}
#line 292 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_object_unref0 (item);
#line 3537 "app.c"
			}
		}
	}
}


gboolean
boxes_app_open_uuid (BoxesApp* self,
                     const gchar* uuid)
{
	gboolean result = FALSE;
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
#line 303 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 303 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (uuid != NULL, FALSE);
#line 304 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_app_get_main_window (self);
#line 304 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 304 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_ui_set_state ((BoxesUI*) _tmp1_, BOXES_UI_STATE_COLLECTION);
#line 3561 "app.c"
	{
		gint i = 0;
#line 307 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		i = 0;
#line 3566 "app.c"
		{
			gboolean _tmp2_ = FALSE;
#line 307 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp2_ = TRUE;
#line 307 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			while (TRUE) {
#line 3573 "app.c"
				gint _tmp4_;
				BoxesCollection* _tmp5_;
				guint _tmp6_;
				guint _tmp7_;
				BoxesCollectionItem* item = NULL;
				BoxesCollection* _tmp8_;
				gint _tmp9_;
				BoxesCollectionItem* _tmp10_;
				BoxesCollectionItem* _tmp11_;
				BoxesMachine* machine = NULL;
				BoxesCollectionItem* _tmp12_;
				BoxesMachine* _tmp13_;
				BoxesMachine* _tmp14_;
				BoxesBoxConfig* _tmp15_;
				gchar* _tmp16_;
				gchar* _tmp17_;
				gchar* _tmp18_;
				gboolean _tmp19_;
				BoxesAppWindow* _tmp20_;
				BoxesAppWindow* _tmp21_;
				BoxesCollectionItem* _tmp22_;
#line 307 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (!_tmp2_) {
#line 3597 "app.c"
					gint _tmp3_;
#line 307 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_tmp3_ = i;
#line 307 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					i = _tmp3_ + 1;
#line 3603 "app.c"
				}
#line 307 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp2_ = FALSE;
#line 307 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp4_ = i;
#line 307 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp5_ = self->collection;
#line 307 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp6_ = boxes_collection_get_length (_tmp5_);
#line 307 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp7_ = _tmp6_;
#line 307 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (!(((guint) _tmp4_) < _tmp7_)) {
#line 307 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					break;
#line 3619 "app.c"
				}
#line 308 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp8_ = self->collection;
#line 308 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp9_ = i;
#line 308 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp10_ = boxes_collection_get_item (_tmp8_, _tmp9_);
#line 308 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				item = _tmp10_;
#line 310 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp11_ = item;
#line 310 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, BOXES_TYPE_MACHINE)) {
#line 311 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_object_unref0 (item);
#line 311 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					continue;
#line 3637 "app.c"
				}
#line 312 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp12_ = item;
#line 312 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp13_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp12_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp12_) : NULL);
#line 312 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				machine = _tmp13_;
#line 314 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp14_ = machine;
#line 314 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp15_ = _tmp14_->config;
#line 314 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp16_ = boxes_box_config_get_uuid (_tmp15_);
#line 314 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp17_ = _tmp16_;
#line 314 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp18_ = _tmp17_;
#line 314 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp19_ = g_strcmp0 (_tmp18_, uuid) != 0;
#line 314 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_free0 (_tmp18_);
#line 314 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (_tmp19_) {
#line 315 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_object_unref0 (machine);
#line 315 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_object_unref0 (item);
#line 315 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					continue;
#line 3667 "app.c"
				}
#line 317 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp20_ = boxes_app_get_main_window (self);
#line 317 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp21_ = _tmp20_;
#line 317 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp22_ = item;
#line 317 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				boxes_app_window_select_item (_tmp21_, _tmp22_);
#line 318 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				result = TRUE;
#line 318 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_object_unref0 (machine);
#line 318 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_object_unref0 (item);
#line 318 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				return result;
#line 3685 "app.c"
			}
		}
	}
#line 321 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	result = FALSE;
#line 321 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 3693 "app.c"
}


void
boxes_app_open_selected_items_in_new_window (BoxesApp* self)
{
	GList* selected_items = NULL;
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
	BoxesICollectionView* _tmp2_;
	BoxesICollectionView* _tmp3_;
	GList* _tmp4_;
	BoxesAppWindow* _tmp5_;
	BoxesAppWindow* _tmp6_;
	GList* _tmp7_;
#line 324 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (self != NULL);
#line 325 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_app_get_main_window (self);
#line 325 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 325 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = boxes_app_window_get_view (_tmp1_);
#line 325 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = _tmp2_;
#line 325 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_ = boxes_icollection_view_get_selected_items (_tmp3_);
#line 325 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	selected_items = _tmp4_;
#line 327 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp5_ = boxes_app_get_main_window (self);
#line 327 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp6_ = _tmp5_;
#line 327 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_window_set_selection_mode (_tmp6_, FALSE);
#line 329 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp7_ = selected_items;
#line 3731 "app.c"
	{
		GList* item_collection = NULL;
		GList* item_it = NULL;
#line 329 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		item_collection = _tmp7_;
#line 329 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		for (item_it = item_collection; item_it != NULL; item_it = item_it->next) {
#line 3739 "app.c"
			BoxesCollectionItem* _tmp8_;
			BoxesCollectionItem* item = NULL;
#line 329 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp8_ = _g_object_ref0 ((BoxesCollectionItem*) item_it->data);
#line 329 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			item = _tmp8_;
#line 3746 "app.c"
			{
				BoxesCollectionItem* _tmp9_;
#line 330 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp9_ = item;
#line 330 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, BOXES_TYPE_MACHINE)) {
#line 3753 "app.c"
					BoxesCollectionItem* _tmp10_;
#line 331 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_tmp10_ = item;
#line 331 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					boxes_app_open_in_new_window (self, G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp10_) : NULL);
#line 3759 "app.c"
				}
#line 329 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_object_unref0 (item);
#line 3763 "app.c"
			}
		}
	}
#line 324 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__g_list_free__g_object_unref0_0 (selected_items);
#line 3769 "app.c"
}


void
boxes_app_open_in_new_window (BoxesApp* self,
                              BoxesMachine* machine)
{
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
	BoxesAppWindow* _tmp2_;
	BoxesAppWindow* _tmp3_;
	BoxesUIState _tmp6_;
	BoxesUIState _tmp7_;
	BoxesAppWindow* window = NULL;
	BoxesAppWindow* _tmp10_;
	BoxesAppWindow* _tmp11_;
#line 335 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (self != NULL);
#line 335 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (machine != NULL);
#line 336 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_machine_get_window (machine);
#line 336 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 336 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = boxes_app_get_main_window (self);
#line 336 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = _tmp2_;
#line 336 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp1_ != _tmp3_) {
#line 3800 "app.c"
		BoxesAppWindow* _tmp4_;
		BoxesAppWindow* _tmp5_;
#line 337 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp4_ = boxes_machine_get_window (machine);
#line 337 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp5_ = _tmp4_;
#line 337 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		gtk_window_present ((GtkWindow*) _tmp5_);
#line 339 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return;
#line 3811 "app.c"
	}
#line 343 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp6_ = boxes_ui_get_ui_state ((BoxesUI*) machine);
#line 343 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp7_ = _tmp6_;
#line 343 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp7_ == BOXES_UI_STATE_DISPLAY) {
#line 3819 "app.c"
		BoxesAppWindow* _tmp8_;
		BoxesAppWindow* _tmp9_;
#line 344 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp8_ = boxes_machine_get_window (machine);
#line 344 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp9_ = _tmp8_;
#line 344 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		boxes_ui_set_state ((BoxesUI*) _tmp9_, BOXES_UI_STATE_COLLECTION);
#line 3828 "app.c"
	}
#line 346 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp10_ = boxes_app_add_new_window (self);
#line 346 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	window = _tmp10_;
#line 347 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp11_ = window;
#line 347 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_window_connect_to (_tmp11_, machine);
#line 335 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (window);
#line 3840 "app.c"
}


void
boxes_app_delete_machine (BoxesApp* self,
                          BoxesMachine* machine,
                          gboolean by_user)
{
	BoxesCollection* _tmp0_;
#line 350 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (self != NULL);
#line 350 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (machine != NULL);
#line 351 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_machine_delete (machine, by_user);
#line 352 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = self->collection;
#line 352 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_collection_remove_item (_tmp0_, (BoxesCollectionItem*) machine);
#line 3860 "app.c"
}


static void
boxes_app_add_collection_source_data_free (gpointer _data)
{
	BoxesAppAddCollectionSourceData* _data_;
	_data_ = _data;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (_data_->source);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (_data_->self);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_slice_free (BoxesAppAddCollectionSourceData, _data_);
#line 3875 "app.c"
}


void
boxes_app_add_collection_source (BoxesApp* self,
                                 BoxesCollectionSource* source,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_)
{
	BoxesAppAddCollectionSourceData* _data_;
	BoxesApp* _tmp0_;
	BoxesCollectionSource* _tmp1_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = g_slice_new0 (BoxesAppAddCollectionSourceData);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_app_add_collection_source_data_free);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->self = _tmp0_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _g_object_ref0 (source);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (_data_->source);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->source = _tmp1_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_add_collection_source_co (_data_);
#line 3906 "app.c"
}


void
boxes_app_add_collection_source_finish (BoxesApp* self,
                                        GAsyncResult* _res_,
                                        GError** error)
{
	BoxesAppAddCollectionSourceData* _data_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (NULL == _data_) {
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return;
#line 3922 "app.c"
	}
}


static void
boxes_app_add_collection_source_ready (GObject* source_object,
                                       GAsyncResult* _res_,
                                       gpointer _user_data_)
{
	BoxesAppAddCollectionSourceData* _data_;
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = _user_data_;
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_source_object_ = source_object;
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_res_ = _res_;
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_add_collection_source_co (_data_);
#line 3941 "app.c"
}


static gboolean
boxes_app_add_collection_source_co (BoxesAppAddCollectionSourceData* _data_)
{
#line 364 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	static GQuark _tmp14_label0 = 0;
#line 364 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	static GQuark _tmp14_label1 = 0;
#line 355 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	switch (_data_->_state_) {
#line 355 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case 0:
#line 3956 "app.c"
		goto _state_0;
#line 355 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case 1:
#line 3960 "app.c"
		goto _state_1;
		default:
#line 355 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_assert_not_reached ();
#line 3965 "app.c"
	}
	_state_0:
#line 356 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp0_ = boxes_collection_source_get_enabled (_data_->source);
#line 356 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 356 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (!_data_->_tmp1_) {
#line 357 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 357 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (_data_->_state_ != 0) {
#line 357 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			while (g_task_get_completed (_data_->_async_result) != TRUE) {
#line 357 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 3982 "app.c"
			}
		}
#line 357 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_object_unref (_data_->_async_result);
#line 357 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return FALSE;
#line 3989 "app.c"
	}
#line 359 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp2_ = _data_->self->priv->sources;
#line 359 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp3_ = boxes_collection_source_get_name (_data_->source);
#line 359 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp4_ = _data_->_tmp3_;
#line 359 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp5_ = _data_->_tmp4_;
#line 359 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp6_ = g_hash_table_lookup (_data_->_tmp2_, _data_->_tmp5_);
#line 359 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp7_ = ((BoxesCollectionSource*) _data_->_tmp6_) != NULL;
#line 359 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_free0 (_data_->_tmp5_);
#line 359 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_data_->_tmp7_) {
#line 360 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp8_ = boxes_collection_source_get_name (_data_->source);
#line 360 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp9_ = _data_->_tmp8_;
#line 360 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp10_ = _data_->_tmp9_;
#line 360 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_warning ("app.vala:360: Attempt to add duplicate collection source '%s', ignorin" \
"g..", _data_->_tmp10_);
#line 360 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (_data_->_tmp10_);
#line 361 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 361 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (_data_->_state_ != 0) {
#line 361 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			while (g_task_get_completed (_data_->_async_result) != TRUE) {
#line 361 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 4025 "app.c"
			}
		}
#line 361 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_object_unref (_data_->_async_result);
#line 361 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return FALSE;
#line 4032 "app.c"
	}
#line 364 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp11_ = boxes_collection_source_get_source_type (_data_->source);
#line 364 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp12_ = _data_->_tmp11_;
#line 364 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp15_ = 0U;
#line 364 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp13_ = _data_->_tmp12_;
#line 364 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp15_ = (NULL == _data_->_tmp13_) ? 0 : g_quark_from_string (_data_->_tmp13_);
#line 364 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_free (_data_->_tmp13_);
#line 364 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if ((_data_->_tmp15_ == ((0 != _tmp14_label0) ? _tmp14_label0 : (_tmp14_label0 = g_quark_from_static_string ("vnc")))) || (_data_->_tmp15_ == ((0 != _tmp14_label1) ? _tmp14_label1 : (_tmp14_label1 = g_quark_from_static_string ("spice"))))) {
#line 364 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		switch (0) {
#line 4050 "app.c"
			default:
			{
				{
#line 368 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp16_ = boxes_remote_machine_new (_data_->source, &_data_->_inner_error_);
#line 368 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->machine = _data_->_tmp16_;
#line 368 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 368 "/home/fborges/checkout/gnome-boxes/src/app.vala"
						if (_data_->_inner_error_->domain == BOXES_ERROR) {
#line 4062 "app.c"
							goto __catch2_boxes_error;
						}
#line 368 "/home/fborges/checkout/gnome-boxes/src/app.vala"
						g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 368 "/home/fborges/checkout/gnome-boxes/src/app.vala"
						g_clear_error (&_data_->_inner_error_);
#line 368 "/home/fborges/checkout/gnome-boxes/src/app.vala"
						g_object_unref (_data_->_async_result);
#line 368 "/home/fborges/checkout/gnome-boxes/src/app.vala"
						return FALSE;
#line 4073 "app.c"
					}
#line 369 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp17_ = _data_->self->collection;
#line 369 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp18_ = _data_->machine;
#line 369 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					boxes_collection_add_item (_data_->_tmp17_, (BoxesCollectionItem*) _data_->_tmp18_);
#line 367 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_object_unref0 (_data_->machine);
#line 4083 "app.c"
				}
				goto __finally2;
				__catch2_boxes_error:
				{
#line 367 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_error_ = _data_->_inner_error_;
#line 367 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_inner_error_ = NULL;
#line 371 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp19_ = _data_->_error_;
#line 371 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp20_ = _data_->_tmp19_->message;
#line 371 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					g_warning ("app.vala:371: %s", _data_->_tmp20_);
#line 367 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_error_free0 (_data_->_error_);
#line 4100 "app.c"
				}
				__finally2:
#line 367 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 367 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					g_task_return_error (_data_->_async_result, _data_->_inner_error_);
#line 367 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					g_object_unref (_data_->_async_result);
#line 367 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					return FALSE;
#line 4111 "app.c"
				}
#line 373 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				break;
#line 4115 "app.c"
			}
		}
	} else {
#line 364 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		switch (0) {
#line 4121 "app.c"
			default:
			{
#line 376 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp21_ = _data_->self->priv->brokers;
#line 376 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp22_ = boxes_collection_source_get_source_type (_data_->source);
#line 376 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp23_ = _data_->_tmp22_;
#line 376 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp24_ = _data_->_tmp23_;
#line 376 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp25_ = g_hash_table_lookup (_data_->_tmp21_, _data_->_tmp24_);
#line 376 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp26_ = _g_object_ref0 ((BoxesBroker*) _data_->_tmp25_);
#line 376 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp27_ = _data_->_tmp26_;
#line 376 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_free0 (_data_->_tmp24_);
#line 376 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->broker = _data_->_tmp27_;
#line 377 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_data_->_tmp28_ = _data_->broker;
#line 377 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (_data_->_tmp28_ != NULL) {
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp29_ = _data_->broker;
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_state_ = 1;
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					boxes_broker_add_source (_data_->_tmp29_, _data_->source, boxes_app_add_collection_source_ready, _data_);
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					return FALSE;
#line 4154 "app.c"
					_state_1:
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					boxes_broker_add_source_finish (_data_->_tmp29_, _data_->_res_, &_data_->_inner_error_);
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
						g_task_return_error (_data_->_async_result, _data_->_inner_error_);
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
						_g_object_unref0 (_data_->broker);
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
						g_object_unref (_data_->_async_result);
#line 378 "/home/fborges/checkout/gnome-boxes/src/app.vala"
						return FALSE;
#line 4168 "app.c"
					}
#line 379 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp30_ = _data_->self->priv->sources;
#line 379 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp31_ = boxes_collection_source_get_name (_data_->source);
#line 379 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp32_ = _data_->_tmp31_;
#line 379 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp33_ = _g_object_ref0 (_data_->source);
#line 379 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					g_hash_table_insert (_data_->_tmp30_, _data_->_tmp32_, _data_->_tmp33_);
#line 380 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp34_ = boxes_collection_source_get_name (_data_->source);
#line 380 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp35_ = _data_->_tmp34_;
#line 380 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp36_ = _data_->_tmp35_;
#line 380 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp37_ = g_strcmp0 (_data_->_tmp36_, BOXES_APP_DEFAULT_SOURCE_NAME) == 0;
#line 380 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_free0 (_data_->_tmp36_);
#line 380 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					if (_data_->_tmp37_) {
#line 381 "/home/fborges/checkout/gnome-boxes/src/app.vala"
						g_object_notify ((GObject*) _data_->self, "default-connection");
#line 382 "/home/fborges/checkout/gnome-boxes/src/app.vala"
						g_object_notify ((GObject*) _data_->self, "default-source");
#line 4196 "app.c"
					}
				} else {
#line 385 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp38_ = boxes_collection_source_get_source_type (_data_->source);
#line 385 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp39_ = _data_->_tmp38_;
#line 385 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp40_ = _data_->_tmp39_;
#line 385 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					g_warning ("app.vala:385: Unsupported source type %s", _data_->_tmp40_);
#line 385 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_free0 (_data_->_tmp40_);
#line 4209 "app.c"
				}
#line 387 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_object_unref0 (_data_->broker);
#line 387 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				break;
#line 4215 "app.c"
			}
		}
	}
#line 355 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 355 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_data_->_state_ != 0) {
#line 355 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		while (g_task_get_completed (_data_->_async_result) != TRUE) {
#line 355 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 4227 "app.c"
		}
	}
#line 355 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_unref (_data_->_async_result);
#line 355 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return FALSE;
#line 4234 "app.c"
}


static void
boxes_app_activate_async_data_free (gpointer _data)
{
	BoxesAppActivateAsyncData* _data_;
	_data_ = _data;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (_data_->self);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_slice_free (BoxesAppActivateAsyncData, _data_);
#line 4247 "app.c"
}


static void
boxes_app_activate_async (BoxesApp* self,
                          GAsyncReadyCallback _callback_,
                          gpointer _user_data_)
{
	BoxesAppActivateAsyncData* _data_;
	BoxesApp* _tmp0_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = g_slice_new0 (BoxesAppActivateAsyncData);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_app_activate_async_data_free);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->self = _tmp0_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_activate_async_co (_data_);
#line 4270 "app.c"
}


static void
boxes_app_activate_finish (BoxesApp* self,
                           GAsyncResult* _res_)
{
	BoxesAppActivateAsyncData* _data_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
#line 4281 "app.c"
}


static void
boxes_app_activate_async_ready (GObject* source_object,
                                GAsyncResult* _res_,
                                gpointer _user_data_)
{
	BoxesAppActivateAsyncData* _data_;
#line 392 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = _user_data_;
#line 392 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_source_object_ = source_object;
#line 392 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_res_ = _res_;
#line 392 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_activate_async_co (_data_);
#line 4299 "app.c"
}


static gboolean
boxes_app_activate_async_co (BoxesAppActivateAsyncData* _data_)
{
#line 391 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	switch (_data_->_state_) {
#line 391 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case 0:
#line 4310 "app.c"
		goto _state_0;
#line 391 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case 1:
#line 4314 "app.c"
		goto _state_1;
#line 391 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case 2:
#line 4318 "app.c"
		goto _state_2;
		default:
#line 391 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_assert_not_reached ();
#line 4323 "app.c"
	}
	_state_0:
#line 392 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_state_ = 1;
#line 392 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_move_configs_from_cache (boxes_app_activate_async_ready, _data_);
#line 392 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return FALSE;
#line 4332 "app.c"
	_state_1:
#line 392 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_move_configs_from_cache_finish (_data_->_res_);
#line 394 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_state_ = 2;
#line 394 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_setup_default_source (_data_->self, boxes_app_activate_async_ready, _data_);
#line 394 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return FALSE;
#line 4342 "app.c"
	_state_2:
#line 394 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_setup_default_source_finish (_data_->self, _data_->_res_);
#line 396 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->self->priv->is_ready = TRUE;
#line 397 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_signal_emit (_data_->self, boxes_app_signals[BOXES_APP_READY_SIGNAL], 0);
#line 399 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_setup_sources (_data_->self, NULL, NULL);
#line 391 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 391 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_data_->_state_ != 0) {
#line 391 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		while (g_task_get_completed (_data_->_async_result) != TRUE) {
#line 391 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 4360 "app.c"
		}
	}
#line 391 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_unref (_data_->_async_result);
#line 391 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return FALSE;
#line 4367 "app.c"
}


static void
boxes_app_setup_default_source_data_free (gpointer _data)
{
	BoxesAppSetupDefaultSourceData* _data_;
	_data_ = _data;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (_data_->self);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_slice_free (BoxesAppSetupDefaultSourceData, _data_);
#line 4380 "app.c"
}


static void
boxes_app_setup_default_source (BoxesApp* self,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_)
{
	BoxesAppSetupDefaultSourceData* _data_;
	BoxesApp* _tmp0_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = g_slice_new0 (BoxesAppSetupDefaultSourceData);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_app_setup_default_source_data_free);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->self = _tmp0_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_setup_default_source_co (_data_);
#line 4403 "app.c"
}


static void
boxes_app_setup_default_source_finish (BoxesApp* self,
                                       GAsyncResult* _res_)
{
	BoxesAppSetupDefaultSourceData* _data_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
#line 4414 "app.c"
}


static void
boxes_app_setup_default_source_ready (GObject* source_object,
                                      GAsyncResult* _res_,
                                      gpointer _user_data_)
{
	BoxesAppSetupDefaultSourceData* _data_;
#line 407 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = _user_data_;
#line 407 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_source_object_ = source_object;
#line 407 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_res_ = _res_;
#line 407 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_setup_default_source_co (_data_);
#line 4432 "app.c"
}


static gboolean
boxes_app_setup_default_source_co (BoxesAppSetupDefaultSourceData* _data_)
{
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	switch (_data_->_state_) {
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case 0:
#line 4443 "app.c"
		goto _state_0;
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case 1:
#line 4447 "app.c"
		goto _state_1;
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case 2:
#line 4451 "app.c"
		goto _state_2;
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case 3:
#line 4455 "app.c"
		goto _state_3;
		default:
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_assert_not_reached ();
#line 4460 "app.c"
	}
	_state_0:
#line 403 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp0_ = boxes_get_user_pkgconfig_source (BOXES_APP_DEFAULT_SOURCE_NAME);
#line 403 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->path = _data_->_tmp0_;
#line 404 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->create_session_source = TRUE;
#line 4469 "app.c"
	{
#line 406 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp1_ = _data_->path;
#line 406 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp2_ = g_file_new_for_path (_data_->_tmp1_);
#line 406 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->file = _data_->_tmp2_;
#line 407 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp3_ = _data_->file;
#line 407 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_state_ = 1;
#line 407 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_file_query_info_async (_data_->_tmp3_, G_FILE_ATTRIBUTE_STANDARD_SIZE, G_FILE_QUERY_INFO_NONE, G_PRIORITY_DEFAULT, NULL, boxes_app_setup_default_source_ready, _data_);
#line 407 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return FALSE;
#line 4485 "app.c"
		_state_1:
#line 407 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp4_ = g_file_query_info_finish (_data_->_tmp3_, _data_->_res_, &_data_->_inner_error_);
#line 407 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->info = _data_->_tmp4_;
#line 407 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 407 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_g_object_unref0 (_data_->file);
#line 4495 "app.c"
			goto __catch3_g_error;
		}
#line 411 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp5_ = _data_->info;
#line 411 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->create_session_source = g_file_info_get_attribute_uint64 (_data_->_tmp5_, G_FILE_ATTRIBUTE_STANDARD_SIZE) <= ((guint64) 0);
#line 405 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_object_unref0 (_data_->info);
#line 405 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_object_unref0 (_data_->file);
#line 4506 "app.c"
	}
	goto __finally3;
	__catch3_g_error:
	{
#line 405 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_error_ = _data_->_inner_error_;
#line 405 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_inner_error_ = NULL;
#line 413 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp6_ = _data_->path;
#line 413 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp7_ = _data_->_error_;
#line 413 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp8_ = _data_->_tmp7_->message;
#line 413 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_debug ("app.vala:413: Failed to query '%s': %s. Assuming it doesn't exist.", _data_->_tmp6_, _data_->_tmp8_);
#line 405 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_error_free0 (_data_->_error_);
#line 4525 "app.c"
	}
	__finally3:
#line 405 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 405 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (_data_->path);
#line 405 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 405 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_clear_error (&_data_->_inner_error_);
#line 405 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_object_unref (_data_->_async_result);
#line 405 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return FALSE;
#line 4540 "app.c"
	}
#line 416 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp9_ = _data_->create_session_source;
#line 416 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_data_->_tmp9_) {
#line 417 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp10_ = boxes_get_pkgdata_source ("QEMU_Session");
#line 417 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp11_ = _data_->_tmp10_;
#line 417 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp12_ = g_file_new_for_path (_data_->_tmp11_);
#line 417 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp13_ = _data_->_tmp12_;
#line 417 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (_data_->_tmp11_);
#line 417 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->src = _data_->_tmp13_;
#line 418 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp14_ = _data_->path;
#line 418 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp15_ = g_file_new_for_path (_data_->_tmp14_);
#line 418 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->dst = _data_->_tmp15_;
#line 4564 "app.c"
		{
#line 420 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data_->_tmp16_ = _data_->src;
#line 420 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data_->_tmp17_ = _data_->dst;
#line 420 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data_->_state_ = 2;
#line 420 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			g_file_copy_async (_data_->_tmp16_, _data_->_tmp17_, G_FILE_COPY_OVERWRITE, G_PRIORITY_DEFAULT, NULL, NULL, NULL, boxes_app_setup_default_source_ready, _data_);
#line 420 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			return FALSE;
#line 4576 "app.c"
			_state_2:
#line 420 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			g_file_copy_finish (_data_->_tmp16_, _data_->_res_, &_data_->_inner_error_);
#line 420 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 4582 "app.c"
				goto __catch4_g_error;
			}
		}
		goto __finally4;
		__catch4_g_error:
		{
#line 419 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data_->_vala1__error_ = _data_->_inner_error_;
#line 419 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data_->_inner_error_ = NULL;
#line 422 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data_->_tmp18_ = _data_->_vala1__error_;
#line 422 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data_->_tmp19_ = _data_->_tmp18_->message;
#line 422 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			g_critical ("app.vala:422: Can't setup default sources: %s", _data_->_tmp19_);
#line 419 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_g_error_free0 (_data_->_vala1__error_);
#line 4601 "app.c"
		}
		__finally4:
#line 419 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 419 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_g_object_unref0 (_data_->dst);
#line 419 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_g_object_unref0 (_data_->src);
#line 419 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_g_free0 (_data_->path);
#line 419 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 419 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			g_clear_error (&_data_->_inner_error_);
#line 419 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			g_object_unref (_data_->_async_result);
#line 419 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			return FALSE;
#line 4620 "app.c"
		}
#line 416 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_object_unref0 (_data_->dst);
#line 416 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_object_unref0 (_data_->src);
#line 4626 "app.c"
	}
	{
#line 427 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp20_ = boxes_collection_source_new_with_file (BOXES_APP_DEFAULT_SOURCE_NAME, &_data_->_inner_error_);
#line 427 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->source = _data_->_tmp20_;
#line 427 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 4635 "app.c"
			goto __catch5_g_error;
		}
#line 428 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp21_ = _data_->source;
#line 428 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_state_ = 3;
#line 428 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		boxes_app_add_collection_source (_data_->self, _data_->_tmp21_, boxes_app_setup_default_source_ready, _data_);
#line 428 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return FALSE;
#line 4646 "app.c"
		_state_3:
#line 428 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		boxes_app_add_collection_source_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 428 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 428 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_g_object_unref0 (_data_->source);
#line 4654 "app.c"
			goto __catch5_g_error;
		}
#line 426 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_object_unref0 (_data_->source);
#line 4659 "app.c"
	}
	goto __finally5;
	__catch5_g_error:
	{
#line 426 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_vala2__error_ = _data_->_inner_error_;
#line 426 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_inner_error_ = NULL;
#line 430 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp22_ = _data_->_vala2__error_;
#line 430 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp23_ = _data_->_tmp22_->message;
#line 430 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_printerr ("Error setting up default broker: %s\n", _data_->_tmp23_);
#line 432 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp24_ = boxes_app_get_main_window (_data_->self);
#line 432 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp25_ = _data_->_tmp24_;
#line 432 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		boxes_ui_set_state ((BoxesUI*) _data_->_tmp25_, BOXES_UI_STATE_TROUBLESHOOT);
#line 434 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_error_free0 (_data_->_vala2__error_);
#line 434 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (_data_->path);
#line 434 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp26_ = boxes_app_get_default_connection (_data_->self);
#line 434 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp27_ = _data_->_tmp26_;
#line 434 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->_tmp28_ = _data_->_tmp27_;
#line 434 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_vala_warn_if_fail (_data_->_tmp28_ != NULL, "default_connection != null");
#line 434 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 434 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (_data_->_state_ != 0) {
#line 434 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			while (g_task_get_completed (_data_->_async_result) != TRUE) {
#line 434 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 4700 "app.c"
			}
		}
#line 434 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_object_unref (_data_->_async_result);
#line 434 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return FALSE;
#line 4707 "app.c"
	}
	__finally5:
#line 426 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 426 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (_data_->path);
#line 426 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 426 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_clear_error (&_data_->_inner_error_);
#line 426 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_object_unref (_data_->_async_result);
#line 426 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return FALSE;
#line 4722 "app.c"
	}
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_free0 (_data_->path);
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp29_ = boxes_app_get_default_connection (_data_->self);
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp30_ = _data_->_tmp29_;
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp31_ = _data_->_tmp30_;
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_vala_warn_if_fail (_data_->_tmp31_ != NULL, "default_connection != null");
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_data_->_state_ != 0) {
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		while (g_task_get_completed (_data_->_async_result) != TRUE) {
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 4742 "app.c"
		}
	}
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_unref (_data_->_async_result);
#line 402 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return FALSE;
#line 4749 "app.c"
}


static void
boxes_app_send_notification (BoxesApp* self,
                             const gchar* notification_id,
                             GNotification* notification)
{
	gchar* _tmp0_;
#line 438 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (self != NULL);
#line 438 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (notification_id != NULL);
#line 438 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (notification != NULL);
#line 439 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_application_send_notification ((GApplication*) G_TYPE_CHECK_INSTANCE_CAST (self, gtk_application_get_type (), GtkApplication), notification_id, notification);
#line 441 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = g_strdup (notification_id);
#line 441 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self->priv->system_notifications = g_list_append (self->priv->system_notifications, _tmp0_);
#line 4771 "app.c"
}


void
boxes_app_notify_machine_installed (BoxesApp* self,
                                    BoxesMachine* machine)
{
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	gchar* msg = NULL;
	const gchar* _tmp4_;
	const gchar* _tmp5_;
	gchar* _tmp6_;
	GNotification* notification = NULL;
	const gchar* _tmp7_;
	GNotification* _tmp8_;
	GNotification* _tmp9_;
	const gchar* _tmp10_;
	const gchar* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	gchar* _tmp16_;
	gchar* _tmp17_;
	GNotification* _tmp18_;
#line 444 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (self != NULL);
#line 444 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (machine != NULL);
#line 445 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_machine_get_window (machine);
#line 445 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 445 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_get ((GtkWindow*) _tmp1_, "is-active", &_tmp2_, NULL);
#line 445 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = _tmp2_;
#line 445 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp3_) {
#line 446 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_debug ("app.vala:446: Window is focused, no need for system notification");
#line 448 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return;
#line 4818 "app.c"
	}
#line 451 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_ = boxes_collection_item_get_name ((BoxesCollectionItem*) machine);
#line 451 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp5_ = _tmp4_;
#line 451 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp6_ = g_strdup_printf (_ ("Box “%s” installed and ready to use"), _tmp5_);
#line 451 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	msg = _tmp6_;
#line 452 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp7_ = msg;
#line 452 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp8_ = g_notification_new (_tmp7_);
#line 452 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	notification = _tmp8_;
#line 453 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp9_ = notification;
#line 453 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp10_ = boxes_collection_item_get_name ((BoxesCollectionItem*) machine);
#line 453 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp11_ = _tmp10_;
#line 453 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp12_ = g_strconcat ("app.launch-box::", _tmp11_, NULL);
#line 453 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp13_ = _tmp12_;
#line 453 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_notification_add_button (_tmp9_, "Launch", _tmp13_);
#line 453 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_free0 (_tmp13_);
#line 455 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp14_ = boxes_collection_item_get_name ((BoxesCollectionItem*) machine);
#line 455 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp15_ = _tmp14_;
#line 455 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp16_ = g_strconcat ("installed-", _tmp15_, NULL);
#line 455 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp17_ = _tmp16_;
#line 455 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp18_ = notification;
#line 455 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_send_notification (self, _tmp17_, _tmp18_);
#line 455 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_free0 (_tmp17_);
#line 444 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (notification);
#line 444 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_free0 (msg);
#line 4866 "app.c"
}


static void
boxes_app_setup_sources_data_free (gpointer _data)
{
	BoxesAppSetupSourcesData* _data_;
	_data_ = _data;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (_data_->self);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_slice_free (BoxesAppSetupSourcesData, _data_);
#line 4879 "app.c"
}


static void
boxes_app_setup_sources (BoxesApp* self,
                         GAsyncReadyCallback _callback_,
                         gpointer _user_data_)
{
	BoxesAppSetupSourcesData* _data_;
	BoxesApp* _tmp0_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = g_slice_new0 (BoxesAppSetupSourcesData);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_app_setup_sources_data_free);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->self = _tmp0_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_setup_sources_co (_data_);
#line 4902 "app.c"
}


static void
boxes_app_setup_sources_finish (BoxesApp* self,
                                GAsyncResult* _res_)
{
	BoxesAppSetupSourcesData* _data_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
#line 4913 "app.c"
}


static Block5Data*
block5_data_ref (Block5Data* _data5_)
{
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_atomic_int_inc (&_data5_->_ref_count_);
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return _data5_;
#line 4924 "app.c"
}


static void
block5_data_unref (void * _userdata_)
{
	Block5Data* _data5_;
	_data5_ = (Block5Data*) _userdata_;
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (g_atomic_int_dec_and_test (&_data5_->_ref_count_)) {
#line 4935 "app.c"
		BoxesApp* self;
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		self = _data5_->self;
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		__g_list_free__g_object_unref0_0 (_data5_->new_sources);
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_object_unref0 (self);
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_slice_free (Block5Data, _data5_);
#line 4945 "app.c"
	}
}


static gboolean
__lambda274_ (Block5Data* _data5_,
              const gchar* filename,
              GError** error)
{
	BoxesApp* self;
	gboolean result = FALSE;
	BoxesCollectionSource* source = NULL;
	BoxesCollectionSource* _tmp0_;
	BoxesCollectionSource* _tmp2_;
	BoxesCollectionSource* _tmp3_;
	GError * _inner_error_ = NULL;
#line 461 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = _data5_->self;
#line 461 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (filename != NULL, FALSE);
#line 462 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (g_strcmp0 (filename, BOXES_APP_DEFAULT_SOURCE_NAME) == 0) {
#line 463 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		result = FALSE;
#line 463 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return result;
#line 4972 "app.c"
	}
#line 465 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_collection_source_new_with_file (filename, &_inner_error_);
#line 465 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	source = _tmp0_;
#line 465 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 4980 "app.c"
		gboolean _tmp1_ = FALSE;
#line 465 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_propagate_error (error, _inner_error_);
#line 465 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return _tmp1_;
#line 4986 "app.c"
	}
#line 466 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = source;
#line 466 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 466 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data5_->new_sources = g_list_append (_data5_->new_sources, _tmp3_);
#line 467 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	result = FALSE;
#line 467 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (source);
#line 467 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 5000 "app.c"
}


static gboolean
___lambda274__boxes_foreach_filename_from_dir_func (const gchar* filename,
                                                    gpointer self,
                                                    GError** error)
{
	gboolean result;
	result = __lambda274_ (self, filename, error);
#line 461 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 5013 "app.c"
}


static void
boxes_app_setup_sources_ready (GObject* source_object,
                               GAsyncResult* _res_,
                               gpointer _user_data_)
{
	BoxesAppSetupSourcesData* _data_;
#line 461 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_ = _user_data_;
#line 461 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_source_object_ = source_object;
#line 461 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_res_ = _res_;
#line 461 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_setup_sources_co (_data_);
#line 5031 "app.c"
}


static gboolean
boxes_app_setup_sources_co (BoxesAppSetupSourcesData* _data_)
{
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	switch (_data_->_state_) {
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case 0:
#line 5042 "app.c"
		goto _state_0;
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case 1:
#line 5046 "app.c"
		goto _state_1;
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case 2:
#line 5050 "app.c"
		goto _state_2;
		default:
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_assert_not_reached ();
#line 5055 "app.c"
	}
	_state_0:
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_data5_ = g_slice_new0 (Block5Data);
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_data5_->_ref_count_ = 1;
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_data5_->self = g_object_ref (_data_->self);
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_data5_->_async_data_ = _data_;
#line 459 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp0_ = boxes_get_user_pkgconfig_source (NULL);
#line 459 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 459 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp2_ = g_file_new_for_path (_data_->_tmp1_);
#line 459 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp3_ = _data_->_tmp2_;
#line 459 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_free0 (_data_->_tmp1_);
#line 459 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->dir = _data_->_tmp3_;
#line 460 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_data5_->new_sources = NULL;
#line 461 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp4_ = _data_->dir;
#line 461 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_state_ = 1;
#line 461 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_foreach_filename_from_dir (_data_->_tmp4_, ___lambda274__boxes_foreach_filename_from_dir_func, _data_->_data5_, boxes_app_setup_sources_ready, _data_);
#line 461 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return FALSE;
#line 5088 "app.c"
	_state_1:
#line 461 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_foreach_filename_from_dir_finish (_data_->_res_);
#line 470 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_tmp5_ = _data_->_data5_->new_sources;
#line 5094 "app.c"
	{
#line 470 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data_->source_collection = _data_->_tmp5_;
#line 470 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		for (_data_->source_it = _data_->source_collection; _data_->source_it != NULL; _data_->source_it = _data_->source_it->next) {
#line 470 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data_->_tmp6_ = _g_object_ref0 ((BoxesCollectionSource*) _data_->source_it->data);
#line 470 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data_->source = _data_->_tmp6_;
#line 5104 "app.c"
			{
				{
#line 472 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp7_ = _data_->source;
#line 472 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_state_ = 2;
#line 472 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					boxes_app_add_collection_source (_data_->self, _data_->_tmp7_, boxes_app_setup_sources_ready, _data_);
#line 472 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					return FALSE;
#line 5115 "app.c"
					_state_2:
#line 472 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					boxes_app_add_collection_source_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 472 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 5121 "app.c"
						goto __catch6_g_error;
					}
				}
				goto __finally6;
				__catch6_g_error:
				{
#line 471 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_error_ = _data_->_inner_error_;
#line 471 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_inner_error_ = NULL;
#line 474 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp8_ = _data_->source;
#line 474 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp9_ = boxes_collection_source_get_name (_data_->_tmp8_);
#line 474 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp10_ = _data_->_tmp9_;
#line 474 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp11_ = _data_->_tmp10_;
#line 474 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp12_ = _data_->_error_;
#line 474 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_tmp13_ = _data_->_tmp12_->message;
#line 474 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					g_warning ("app.vala:474: Failed to add '%s': %s", _data_->_tmp11_, _data_->_tmp13_);
#line 474 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_free0 (_data_->_tmp11_);
#line 471 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_error_free0 (_data_->_error_);
#line 5150 "app.c"
				}
				__finally6:
#line 471 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 471 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_object_unref0 (_data_->source);
#line 471 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_object_unref0 (_data_->dir);
#line 471 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					block5_data_unref (_data_->_data5_);
#line 471 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_data_->_data5_ = NULL;
#line 471 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 471 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					g_clear_error (&_data_->_inner_error_);
#line 471 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					g_object_unref (_data_->_async_result);
#line 471 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					return FALSE;
#line 5171 "app.c"
				}
#line 470 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_object_unref0 (_data_->source);
#line 5175 "app.c"
			}
		}
	}
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (_data_->dir);
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	block5_data_unref (_data_->_data5_);
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data_->_data5_ = NULL;
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_data_->_state_ != 0) {
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		while (g_task_get_completed (_data_->_async_result) != TRUE) {
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 5193 "app.c"
		}
	}
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_unref (_data_->_async_result);
#line 458 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return FALSE;
#line 5200 "app.c"
}


static Block6Data*
block6_data_ref (Block6Data* _data6_)
{
#line 479 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_atomic_int_inc (&_data6_->_ref_count_);
#line 479 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return _data6_;
#line 5211 "app.c"
}


static void
block6_data_unref (void * _userdata_)
{
	Block6Data* _data6_;
	_data6_ = (Block6Data*) _userdata_;
#line 479 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (g_atomic_int_dec_and_test (&_data6_->_ref_count_)) {
#line 5222 "app.c"
		BoxesApp* self;
#line 479 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		self = _data6_->self;
#line 479 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_object_unref0 (self);
#line 479 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_slice_free (Block6Data, _data6_);
#line 5230 "app.c"
	}
}


static Block7Data*
block7_data_ref (Block7Data* _data7_)
{
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_atomic_int_inc (&_data7_->_ref_count_);
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return _data7_;
#line 5242 "app.c"
}


static void
block7_data_unref (void * _userdata_)
{
	Block7Data* _data7_;
	_data7_ = (Block7Data*) _userdata_;
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (g_atomic_int_dec_and_test (&_data7_->_ref_count_)) {
#line 5253 "app.c"
		BoxesApp* self;
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		self = _data7_->_data6_->self;
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_object_unref0 (_data7_->machine);
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		block6_data_unref (_data7_->_data6_);
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data7_->_data6_ = NULL;
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_slice_free (Block7Data, _data7_);
#line 5265 "app.c"
	}
}


static void
____lambda279_ (Block7Data* _data7_)
{
	Block6Data* _data6_;
	BoxesApp* self;
	BoxesLibvirtMachine* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	gint _tmp3_;
#line 500 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data6_ = _data7_->_data6_;
#line 500 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = _data6_->self;
#line 501 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = _data7_->machine;
#line 501 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _tmp0_);
#line 501 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = _tmp1_;
#line 501 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_debug ("app.vala:501: %s suspended", _tmp2_);
#line 502 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = _data6_->waiting_counter;
#line 502 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data6_->waiting_counter = _tmp3_ - 1;
#line 5295 "app.c"
}


static void
_____lambda279__gasync_ready_callback (GObject* source_object,
                                       GAsyncResult* res,
                                       gpointer self)
{
#line 500 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	____lambda279_ (self);
#line 500 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	block7_data_unref (self);
#line 5308 "app.c"
}


static void
__lambda278_ (Block6Data* _data6_,
              BoxesCollectionItem* item)
{
	BoxesApp* self;
#line 494 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = _data6_->self;
#line 494 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (item != NULL);
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (item, BOXES_TYPE_LIBVIRT_MACHINE)) {
#line 5323 "app.c"
		Block7Data* _data7_;
		BoxesLibvirtMachine* _tmp0_;
		BoxesLibvirtMachine* _tmp1_;
		gboolean _tmp2_;
		gboolean _tmp3_;
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data7_ = g_slice_new0 (Block7Data);
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data7_->_ref_count_ = 1;
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data7_->_data6_ = block6_data_ref (_data6_);
#line 496 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (item, BOXES_TYPE_LIBVIRT_MACHINE) ? ((BoxesLibvirtMachine*) item) : NULL);
#line 496 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data7_->machine = _tmp0_;
#line 498 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp1_ = _data7_->machine;
#line 498 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp2_ = boxes_machine_get_suspend_at_exit ((BoxesMachine*) _tmp1_);
#line 498 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp3_ = _tmp2_;
#line 498 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (_tmp3_) {
#line 5347 "app.c"
			gint _tmp4_;
			BoxesLibvirtMachine* _tmp5_;
#line 499 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp4_ = _data6_->waiting_counter;
#line 499 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_data6_->waiting_counter = _tmp4_ + 1;
#line 500 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp5_ = _data7_->machine;
#line 500 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			boxes_libvirt_machine_suspend (_tmp5_, _____lambda279__gasync_ready_callback, block7_data_ref (_data7_));
#line 5358 "app.c"
		}
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		block7_data_unref (_data7_);
#line 495 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data7_ = NULL;
#line 5364 "app.c"
	}
}


static void
___lambda278__boxes_collection_collection_foreach_func (BoxesCollectionItem* item,
                                                        gpointer self)
{
#line 494 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__lambda278_ (self, item);
#line 5375 "app.c"
}


static void
boxes_app_suspend_machines (BoxesApp* self)
{
	Block6Data* _data6_;
	BoxesCollection* _tmp0_;
	GMainContext* context = NULL;
	GMainContext* _tmp1_;
	GMainContext* _tmp2_;
	BoxesCollection* _tmp3_;
	GMainContext* _tmp4_;
#line 479 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (self != NULL);
#line 479 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data6_ = g_slice_new0 (Block6Data);
#line 479 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data6_->_ref_count_ = 1;
#line 479 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data6_->self = g_object_ref (self);
#line 482 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = self->collection;
#line 482 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp0_ == NULL) {
#line 483 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		block6_data_unref (_data6_);
#line 483 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data6_ = NULL;
#line 483 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return;
#line 5407 "app.c"
	}
#line 485 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_debug ("app.vala:485: Suspending running boxes");
#line 487 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data6_->waiting_counter = 0;
#line 491 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = g_main_context_new ();
#line 491 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	context = _tmp1_;
#line 493 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = context;
#line 493 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_main_context_push_thread_default (_tmp2_);
#line 494 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = self->collection;
#line 494 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_collection_foreach_item (_tmp3_, ___lambda278__boxes_collection_collection_foreach_func, _data6_);
#line 507 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_ = context;
#line 507 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_main_context_pop_thread_default (_tmp4_);
#line 510 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	while (TRUE) {
#line 5431 "app.c"
		gint _tmp5_;
		GMainContext* _tmp6_;
#line 510 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp5_ = _data6_->waiting_counter;
#line 510 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (!(_tmp5_ > 0)) {
#line 510 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			break;
#line 5440 "app.c"
		}
#line 511 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp6_ = context;
#line 511 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_main_context_iteration (_tmp6_, TRUE);
#line 5446 "app.c"
	}
#line 513 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_debug ("app.vala:513: Running boxes suspended");
#line 479 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_main_context_unref0 (context);
#line 479 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	block6_data_unref (_data6_);
#line 479 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data6_ = NULL;
#line 5456 "app.c"
}


/**
     * Deletes specified items, while allowing user to undo it.
     *
     * @param items the list of machines
     * @param message optional message to be shown together with the undo button. If not provided, an appropriate
     *                messsage is created.
     * @param callback optional function that, if provided, is called after the undo operation
     *
     * @attention the ownership for items is required since GLib.List is a compact class.
     */
static Block8Data*
block8_data_ref (Block8Data* _data8_)
{
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_atomic_int_inc (&_data8_->_ref_count_);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return _data8_;
#line 5477 "app.c"
}


static void
block8_data_unref (void * _userdata_)
{
	Block8Data* _data8_;
	_data8_ = (Block8Data*) _userdata_;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (g_atomic_int_dec_and_test (&_data8_->_ref_count_)) {
#line 5488 "app.c"
		BoxesApp* self;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		self = _data8_->self;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		__g_list_free__g_object_unref0_0 (_data8_->items);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		(_data8_->undo_notify_callback_target_destroy_notify == NULL) ? NULL : (_data8_->undo_notify_callback_target_destroy_notify (_data8_->undo_notify_callback_target), NULL);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data8_->undo_notify_callback = NULL;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data8_->undo_notify_callback_target = NULL;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data8_->undo_notify_callback_target_destroy_notify = NULL;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_object_unref0 (self);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_slice_free (Block8Data, _data8_);
#line 5506 "app.c"
	}
}


static void
__lambda58_ (Block8Data* _data8_)
{
	BoxesApp* self;
#line 546 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = _data8_->self;
#line 547 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_debug ("app.vala:547: Box deletion cancelled by user. Re-adding to view");
#line 5519 "app.c"
	{
		GList* item_collection = NULL;
		GList* item_it = NULL;
#line 548 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		item_collection = _data8_->items;
#line 548 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		for (item_it = item_collection; item_it != NULL; item_it = item_it->next) {
#line 5527 "app.c"
			BoxesCollectionItem* _tmp0_;
			BoxesCollectionItem* item = NULL;
#line 548 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp0_ = _g_object_ref0 ((BoxesCollectionItem*) item_it->data);
#line 548 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			item = _tmp0_;
#line 5534 "app.c"
			{
				BoxesMachine* machine = NULL;
				BoxesCollectionItem* _tmp1_;
				BoxesMachine* _tmp2_;
				BoxesCollection* _tmp3_;
				BoxesMachine* _tmp4_;
#line 549 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp1_ = item;
#line 549 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp1_) : NULL);
#line 549 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				machine = _tmp2_;
#line 550 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp3_ = self->collection;
#line 550 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp4_ = machine;
#line 550 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				boxes_collection_add_item (_tmp3_, (BoxesCollectionItem*) _tmp4_);
#line 548 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_object_unref0 (machine);
#line 548 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_object_unref0 (item);
#line 5557 "app.c"
			}
		}
	}
#line 552 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_data8_->undo_notify_callback != NULL) {
#line 553 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data8_->undo_notify_callback (_data8_->undo_notify_callback_target);
#line 5565 "app.c"
	}
}


static void
___lambda58__boxes_notification_ok_func (gpointer self)
{
#line 546 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__lambda58_ (self);
#line 5575 "app.c"
}


static void
__lambda59_ (Block8Data* _data8_)
{
	BoxesApp* self;
#line 556 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = _data8_->self;
#line 557 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_debug ("app.vala:557: User did not cancel deletion. Deleting now...");
#line 5587 "app.c"
	{
		GList* item_collection = NULL;
		GList* item_it = NULL;
#line 558 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		item_collection = _data8_->items;
#line 558 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		for (item_it = item_collection; item_it != NULL; item_it = item_it->next) {
#line 5595 "app.c"
			BoxesCollectionItem* _tmp0_;
			BoxesCollectionItem* item = NULL;
#line 558 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp0_ = _g_object_ref0 ((BoxesCollectionItem*) item_it->data);
#line 558 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			item = _tmp0_;
#line 5602 "app.c"
			{
				BoxesCollectionItem* _tmp1_;
				BoxesCollectionItem* _tmp2_;
#line 559 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp1_ = item;
#line 559 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, BOXES_TYPE_MACHINE)) {
#line 560 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					_g_object_unref0 (item);
#line 560 "/home/fborges/checkout/gnome-boxes/src/app.vala"
					continue;
#line 5614 "app.c"
				}
#line 563 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp2_ = item;
#line 563 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				boxes_machine_delete (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp2_) : NULL, TRUE);
#line 558 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_object_unref0 (item);
#line 5622 "app.c"
			}
		}
	}
}


static void
___lambda59__boxes_notification_dismiss_func (gpointer self)
{
#line 556 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__lambda59_ (self);
#line 5634 "app.c"
}


void
boxes_app_delete_machines_undoable (BoxesApp* self,
                                    GList* items,
                                    const gchar* message,
                                    BoxesAppUndoNotifyCallback undo_notify_callback,
                                    void* undo_notify_callback_target,
                                    GDestroyNotify undo_notify_callback_target_destroy_notify)
{
	Block8Data* _data8_;
	guint num_items = 0U;
	guint _tmp0_;
	gchar* msg = NULL;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	BoxesNotificationOKFunc undo = NULL;
	void* undo_target;
	GDestroyNotify undo_target_destroy_notify;
	BoxesNotificationDismissFunc really_remove = NULL;
	void* really_remove_target;
	GDestroyNotify really_remove_target_destroy_notify;
	BoxesAppWindow* _tmp16_;
	BoxesAppWindow* _tmp17_;
	BoxesNotificationbar* _tmp18_;
	BoxesNotificationbar* _tmp19_;
	const gchar* _tmp20_;
	BoxesNotificationOKFunc _tmp21_;
	void* _tmp21__target;
	GDestroyNotify _tmp21__target_destroy_notify;
	BoxesNotificationDismissFunc _tmp22_;
	void* _tmp22__target;
	GDestroyNotify _tmp22__target_destroy_notify;
	BoxesNotification* _tmp23_;
	BoxesNotification* _tmp24_;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (self != NULL);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data8_ = g_slice_new0 (Block8Data);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data8_->_ref_count_ = 1;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data8_->self = g_object_ref (self);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__g_list_free__g_object_unref0_0 (_data8_->items);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data8_->items = items;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	(_data8_->undo_notify_callback_target_destroy_notify == NULL) ? NULL : (_data8_->undo_notify_callback_target_destroy_notify (_data8_->undo_notify_callback_target), NULL);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data8_->undo_notify_callback = NULL;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data8_->undo_notify_callback_target = NULL;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data8_->undo_notify_callback_target_destroy_notify = NULL;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data8_->undo_notify_callback = undo_notify_callback;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data8_->undo_notify_callback_target = undo_notify_callback_target;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data8_->undo_notify_callback_target_destroy_notify = undo_notify_callback_target_destroy_notify;
#line 533 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	num_items = g_list_length (_data8_->items);
#line 534 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = num_items;
#line 534 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp0_ == ((guint) 0)) {
#line 535 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		block8_data_unref (_data8_);
#line 535 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_data8_ = NULL;
#line 535 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return;
#line 5709 "app.c"
	}
#line 537 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = g_strdup (message);
#line 537 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	msg = _tmp1_;
#line 538 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = msg;
#line 538 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp2_ == NULL) {
#line 5719 "app.c"
		gchar* _tmp3_ = NULL;
		guint _tmp4_;
		gchar* _tmp12_;
#line 539 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp4_ = num_items;
#line 539 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		if (_tmp4_ == ((guint) 1)) {
#line 5727 "app.c"
			gconstpointer _tmp5_;
			const gchar* _tmp6_;
			const gchar* _tmp7_;
			gchar* _tmp8_;
#line 539 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp5_ = _data8_->items->data;
#line 539 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp6_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _tmp5_);
#line 539 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp7_ = _tmp6_;
#line 539 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp8_ = g_strdup_printf (_ ("Box “%s” has been deleted"), _tmp7_);
#line 539 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_g_free0 (_tmp3_);
#line 539 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp3_ = _tmp8_;
#line 5744 "app.c"
		} else {
			guint _tmp9_;
			guint _tmp10_;
			gchar* _tmp11_;
#line 540 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp9_ = num_items;
#line 540 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp10_ = num_items;
#line 540 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp11_ = g_strdup_printf (ngettext ("%u box has been deleted", "%u boxes have been deleted", (gulong) _tmp9_), _tmp10_);
#line 540 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_g_free0 (_tmp3_);
#line 540 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp3_ = _tmp11_;
#line 5759 "app.c"
		}
#line 539 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp12_ = g_strdup (_tmp3_);
#line 539 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (msg);
#line 539 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		msg = _tmp12_;
#line 538 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (_tmp3_);
#line 5769 "app.c"
	}
	{
		GList* item_collection = NULL;
		GList* item_it = NULL;
#line 543 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		item_collection = _data8_->items;
#line 543 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		for (item_it = item_collection; item_it != NULL; item_it = item_it->next) {
#line 5778 "app.c"
			BoxesCollectionItem* _tmp13_;
			BoxesCollectionItem* item = NULL;
#line 543 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			_tmp13_ = _g_object_ref0 ((BoxesCollectionItem*) item_it->data);
#line 543 "/home/fborges/checkout/gnome-boxes/src/app.vala"
			item = _tmp13_;
#line 5785 "app.c"
			{
				BoxesCollection* _tmp14_;
				BoxesCollectionItem* _tmp15_;
#line 544 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp14_ = self->collection;
#line 544 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_tmp15_ = item;
#line 544 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				boxes_collection_remove_item (_tmp14_, _tmp15_);
#line 543 "/home/fborges/checkout/gnome-boxes/src/app.vala"
				_g_object_unref0 (item);
#line 5797 "app.c"
			}
		}
	}
#line 546 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	undo = ___lambda58__boxes_notification_ok_func;
#line 546 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	undo_target = block8_data_ref (_data8_);
#line 546 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	undo_target_destroy_notify = block8_data_unref;
#line 556 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	really_remove = ___lambda59__boxes_notification_dismiss_func;
#line 556 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	really_remove_target = block8_data_ref (_data8_);
#line 556 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	really_remove_target_destroy_notify = block8_data_unref;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp16_ = boxes_app_get_main_window (self);
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp17_ = _tmp16_;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp18_ = boxes_app_window_get_notificationbar (_tmp17_);
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp19_ = _tmp18_;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp20_ = msg;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp21_ = undo;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp21__target = undo_target;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp21__target_destroy_notify = undo_target_destroy_notify;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	undo = NULL;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	undo_target = NULL;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	undo_target_destroy_notify = NULL;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp22_ = really_remove;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp22__target = really_remove_target;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp22__target_destroy_notify = really_remove_target_destroy_notify;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	really_remove = NULL;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	really_remove_target = NULL;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	really_remove_target_destroy_notify = NULL;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp23_ = boxes_notificationbar_display_for_action (_tmp19_, _tmp20_, _ ("_Undo"), _tmp21_, _tmp21__target, _tmp21__target_destroy_notify, _tmp22_, _tmp22__target, _tmp22__target_destroy_notify, BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT);
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp24_ = _tmp23_;
#line 567 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (_tmp24_);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	(really_remove_target_destroy_notify == NULL) ? NULL : (really_remove_target_destroy_notify (really_remove_target), NULL);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	really_remove = NULL;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	really_remove_target = NULL;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	really_remove_target_destroy_notify = NULL;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	(undo_target_destroy_notify == NULL) ? NULL : (undo_target_destroy_notify (undo_target), NULL);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	undo = NULL;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	undo_target = NULL;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	undo_target_destroy_notify = NULL;
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_free0 (msg);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	block8_data_unref (_data8_);
#line 530 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_data8_ = NULL;
#line 5875 "app.c"
}


void
boxes_app_remove_selected_items (BoxesApp* self)
{
	GList* selected_items = NULL;
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
	BoxesICollectionView* _tmp2_;
	BoxesICollectionView* _tmp3_;
	GList* _tmp4_;
	BoxesAppWindow* _tmp5_;
	BoxesAppWindow* _tmp6_;
	GList* _tmp7_;
#line 570 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (self != NULL);
#line 571 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_app_get_main_window (self);
#line 571 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 571 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = boxes_app_window_get_view (_tmp1_);
#line 571 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = _tmp2_;
#line 571 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_ = boxes_icollection_view_get_selected_items (_tmp3_);
#line 571 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	selected_items = _tmp4_;
#line 573 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp5_ = boxes_app_get_main_window (self);
#line 573 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp6_ = _tmp5_;
#line 573 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_window_set_selection_mode (_tmp6_, FALSE);
#line 575 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp7_ = selected_items;
#line 575 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	selected_items = NULL;
#line 575 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_delete_machines_undoable (self, _tmp7_, NULL, NULL, NULL, NULL);
#line 570 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__g_list_free__g_object_unref0_0 (selected_items);
#line 5919 "app.c"
}


BoxesAppWindow*
boxes_app_add_new_window (BoxesApp* self)
{
	BoxesAppWindow* result = NULL;
	BoxesAppWindow* window = NULL;
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
#line 578 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 579 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_app_window_new ((GtkApplication*) self);
#line 579 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_ref_sink (_tmp0_);
#line 579 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	window = _tmp0_;
#line 581 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _g_object_ref0 (window);
#line 581 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self->priv->windows = g_list_append (self->priv->windows, _tmp1_);
#line 582 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_window_setup_ui (window);
#line 583 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	gtk_window_present ((GtkWindow*) window);
#line 585 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_notify ((GObject*) self, "main-window");
#line 587 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	result = window;
#line 587 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 5952 "app.c"
}


gboolean
boxes_app_remove_window (BoxesApp* self,
                         BoxesAppWindow* window)
{
	gboolean result = FALSE;
	GList* _tmp0_;
	guint initial_windows_count = 0U;
	GList* _tmp1_;
	BoxesCollectionItem* _tmp2_;
	BoxesCollectionItem* _tmp3_;
	guint _tmp6_;
	GList* _tmp7_;
#line 590 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 590 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (window != NULL, FALSE);
#line 591 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = self->priv->windows;
#line 591 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (g_list_length (_tmp0_) == ((guint) 1)) {
#line 592 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		result = boxes_app_quit_app (self);
#line 592 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		return result;
#line 5980 "app.c"
	}
#line 594 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = self->priv->windows;
#line 594 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	initial_windows_count = g_list_length (_tmp1_);
#line 596 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = boxes_app_window_get_current_item (window);
#line 596 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = _tmp2_;
#line 596 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (_tmp3_ != NULL) {
#line 5992 "app.c"
		BoxesCollectionItem* _tmp4_;
		BoxesCollectionItem* _tmp5_;
#line 597 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp4_ = boxes_app_window_get_current_item (window);
#line 597 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp5_ = _tmp4_;
#line 597 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		boxes_machine_set_window (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp5_) : NULL, NULL);
#line 6001 "app.c"
	}
#line 599 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	gtk_widget_hide ((GtkWidget*) window);
#line 601 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self->priv->windows = g_list_remove (self->priv->windows, window);
#line 602 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	gtk_application_remove_window (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_application_get_type (), GtkApplication), (GtkWindow*) window);
#line 604 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_notify ((GObject*) self, "main-window");
#line 606 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp6_ = initial_windows_count;
#line 606 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp7_ = self->priv->windows;
#line 606 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	result = _tmp6_ != g_list_length (_tmp7_);
#line 606 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 6019 "app.c"
}


BoxesAppWindow*
boxes_app_get_main_window (BoxesApp* self)
{
	BoxesAppWindow* result;
	BoxesAppWindow* _tmp0_ = NULL;
	GList* _tmp1_;
#line 29 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 29 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = self->priv->windows;
#line 29 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (g_list_length (_tmp1_) > ((guint) 0)) {
#line 6035 "app.c"
		GList* _tmp2_;
		gconstpointer _tmp3_;
#line 29 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp2_ = self->priv->windows;
#line 29 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp3_ = _tmp2_->data;
#line 29 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp0_ = (BoxesAppWindow*) _tmp3_;
#line 6044 "app.c"
	} else {
#line 29 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp0_ = NULL;
#line 6048 "app.c"
	}
#line 29 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	result = _tmp0_;
#line 29 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 6054 "app.c"
}


const gchar*
boxes_app_get_uri (BoxesApp* self)
{
	const gchar* result;
	const gchar* _tmp0_;
#line 32 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 32 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = self->priv->_uri;
#line 32 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	result = _tmp0_;
#line 32 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 6071 "app.c"
}


void
boxes_app_set_uri (BoxesApp* self,
                   const gchar* value)
{
#line 32 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_if_fail (self != NULL);
#line 32 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	if (g_strcmp0 (value, boxes_app_get_uri (self)) != 0) {
#line 6083 "app.c"
		gchar* _tmp0_;
#line 32 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_tmp0_ = g_strdup (value);
#line 32 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		_g_free0 (self->priv->_uri);
#line 32 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		self->priv->_uri = _tmp0_;
#line 32 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_app_properties[BOXES_APP_URI_PROPERTY]);
#line 6093 "app.c"
	}
}


GVirConnection*
boxes_app_get_default_connection (BoxesApp* self)
{
	GVirConnection* result;
	BoxesLibvirtBroker* _tmp0_;
	BoxesLibvirtBroker* _tmp1_;
	GVirConnection* _tmp2_;
	GVirConnection* _tmp3_;
#line 43 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 43 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_libvirt_broker_get_default ();
#line 43 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 43 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = boxes_libvirt_broker_get_connection (_tmp1_, "QEMU Session");
#line 43 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = _tmp2_;
#line 43 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (_tmp1_);
#line 43 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	result = _tmp3_;
#line 43 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 6122 "app.c"
}


BoxesCollectionSource*
boxes_app_get_default_source (BoxesApp* self)
{
	BoxesCollectionSource* result;
	GHashTable* _tmp0_;
	gconstpointer _tmp1_;
#line 44 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 44 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = self->priv->sources;
#line 44 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = g_hash_table_lookup (_tmp0_, BOXES_APP_DEFAULT_SOURCE_NAME);
#line 44 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	result = (BoxesCollectionSource*) _tmp1_;
#line 44 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 6142 "app.c"
}


GList*
boxes_app_get_selected_items (BoxesApp* self)
{
	GList* result;
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
	BoxesICollectionView* _tmp2_;
	BoxesICollectionView* _tmp3_;
	GList* _tmp4_;
#line 517 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 517 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp0_ = boxes_app_get_main_window (self);
#line 517 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp1_ = _tmp0_;
#line 517 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp2_ = boxes_app_window_get_view (_tmp1_);
#line 517 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp3_ = _tmp2_;
#line 517 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_tmp4_ = boxes_icollection_view_get_selected_items (_tmp3_);
#line 517 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	result = _tmp4_;
#line 517 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return result;
#line 6171 "app.c"
}


static void
boxes_app_class_init (BoxesAppClass * klass)
{
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_parent_class = g_type_class_peek_parent (klass);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_type_class_add_private (klass, sizeof (BoxesAppPrivate));
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	((GApplicationClass *) klass)->startup = (void (*) (GApplication *)) boxes_app_real_startup;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	((GApplicationClass *) klass)->activate = (void (*) (GApplication *)) boxes_app_real_activate;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	((GApplicationClass *) klass)->command_line = (gint (*) (GApplication *, GApplicationCommandLine*)) boxes_app_real_command_line;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	((GApplicationClass *) klass)->shutdown = (void (*) (GApplication *)) boxes_app_real_shutdown;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_app_get_property;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_boxes_app_set_property;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_app_finalize;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_APP_MAIN_WINDOW_PROPERTY, boxes_app_properties[BOXES_APP_MAIN_WINDOW_PROPERTY] = g_param_spec_object ("main-window", "main-window", "main-window", BOXES_TYPE_APP_WINDOW, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_APP_URI_PROPERTY, boxes_app_properties[BOXES_APP_URI_PROPERTY] = g_param_spec_string ("uri", "uri", "uri", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_APP_DEFAULT_CONNECTION_PROPERTY, boxes_app_properties[BOXES_APP_DEFAULT_CONNECTION_PROPERTY] = g_param_spec_object ("default-connection", "default-connection", "default-connection", gvir_connection_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_APP_DEFAULT_SOURCE_PROPERTY, boxes_app_properties[BOXES_APP_DEFAULT_SOURCE_PROPERTY] = g_param_spec_object ("default-source", "default-source", "default-source", BOXES_TYPE_COLLECTION_SOURCE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_APP_SELECTED_ITEMS_PROPERTY, boxes_app_properties[BOXES_APP_SELECTED_ITEMS_PROPERTY] = g_param_spec_pointer ("selected-items", "selected-items", "selected-items", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_app_signals[BOXES_APP_READY_SIGNAL] = g_signal_new ("ready", BOXES_TYPE_APP, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 6208 "app.c"
}


static void
boxes_app_instance_init (BoxesApp * self)
{
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self->priv = BOXES_APP_GET_PRIVATE (self);
#line 6217 "app.c"
}


static void
boxes_app_finalize (GObject * obj)
{
	BoxesApp * self;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_APP, BoxesApp);
#line 25 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__g_list_free__g_object_unref0_0 (self->priv->windows);
#line 26 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	__g_list_free__g_free0_0 (self->priv->system_notifications);
#line 32 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_free0 (self->priv->_uri);
#line 33 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_object_unref0 (self->collection);
#line 41 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_hash_table_unref0 (self->priv->brokers);
#line 42 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_g_hash_table_unref0 (self->priv->sources);
#line 45 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	_boxes_async_launcher_unref0 (self->async_launcher);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	G_OBJECT_CLASS (boxes_app_parent_class)->finalize (obj);
#line 6243 "app.c"
}


GType
boxes_app_get_type (void)
{
	static volatile gsize boxes_app_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_app_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesAppClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_app_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesApp), 0, (GInstanceInitFunc) boxes_app_instance_init, NULL };
		GType boxes_app_type_id;
		boxes_app_type_id = g_type_register_static (gtk_application_get_type (), "BoxesApp", &g_define_type_info, 0);
		g_once_init_leave (&boxes_app_type_id__volatile, boxes_app_type_id);
	}
	return boxes_app_type_id__volatile;
}


static void
_vala_boxes_app_get_property (GObject * object,
                              guint property_id,
                              GValue * value,
                              GParamSpec * pspec)
{
	BoxesApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_APP, BoxesApp);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	switch (property_id) {
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case BOXES_APP_MAIN_WINDOW_PROPERTY:
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_value_set_object (value, boxes_app_get_main_window (self));
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		break;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case BOXES_APP_URI_PROPERTY:
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_value_set_string (value, boxes_app_get_uri (self));
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		break;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case BOXES_APP_DEFAULT_CONNECTION_PROPERTY:
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_value_take_object (value, boxes_app_get_default_connection (self));
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		break;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case BOXES_APP_DEFAULT_SOURCE_PROPERTY:
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_value_set_object (value, boxes_app_get_default_source (self));
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		break;
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case BOXES_APP_SELECTED_ITEMS_PROPERTY:
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		g_value_set_pointer (value, boxes_app_get_selected_items (self));
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		break;
#line 6301 "app.c"
		default:
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		break;
#line 6307 "app.c"
	}
}


static void
_vala_boxes_app_set_property (GObject * object,
                              guint property_id,
                              const GValue * value,
                              GParamSpec * pspec)
{
	BoxesApp * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_APP, BoxesApp);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	switch (property_id) {
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		case BOXES_APP_URI_PROPERTY:
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		boxes_app_set_uri (self, g_value_get_string (value));
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		break;
#line 6328 "app.c"
		default:
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 20 "/home/fborges/checkout/gnome-boxes/src/app.vala"
		break;
#line 6334 "app.c"
	}
}


BoxesKbdShortcutsWindow*
boxes_kbd_shortcuts_window_construct (GType object_type)
{
	BoxesKbdShortcutsWindow * self = NULL;
#line 611 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	self = (BoxesKbdShortcutsWindow*) g_object_new (object_type, NULL);
#line 611 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return self;
#line 6347 "app.c"
}


BoxesKbdShortcutsWindow*
boxes_kbd_shortcuts_window_new (void)
{
#line 611 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	return boxes_kbd_shortcuts_window_construct (BOXES_TYPE_KBD_SHORTCUTS_WINDOW);
#line 6356 "app.c"
}


static void
boxes_kbd_shortcuts_window_class_init (BoxesKbdShortcutsWindowClass * klass)
{
#line 611 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	boxes_kbd_shortcuts_window_parent_class = g_type_class_peek_parent (klass);
#line 611 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Boxes/ui/kbd-shortcuts-window.ui");
#line 6367 "app.c"
}


static void
boxes_kbd_shortcuts_window_instance_init (BoxesKbdShortcutsWindow * self)
{
#line 611 "/home/fborges/checkout/gnome-boxes/src/app.vala"
	gtk_widget_init_template (GTK_WIDGET (self));
#line 6376 "app.c"
}


GType
boxes_kbd_shortcuts_window_get_type (void)
{
	static volatile gsize boxes_kbd_shortcuts_window_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_kbd_shortcuts_window_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesKbdShortcutsWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_kbd_shortcuts_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesKbdShortcutsWindow), 0, (GInstanceInitFunc) boxes_kbd_shortcuts_window_instance_init, NULL };
		GType boxes_kbd_shortcuts_window_type_id;
		boxes_kbd_shortcuts_window_type_id = g_type_register_static (gtk_shortcuts_window_get_type (), "BoxesKbdShortcutsWindow", &g_define_type_info, 0);
		g_once_init_leave (&boxes_kbd_shortcuts_window_type_id__volatile, boxes_kbd_shortcuts_window_type_id);
	}
	return boxes_kbd_shortcuts_window_type_id__volatile;
}


static void
_vala_array_destroy (gpointer array,
                     gint array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void
_vala_array_free (gpointer array,
                  gint array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}



