/* wizard-window.c generated by valac 0.37.1.4-3591e, the Vala compiler
 * generated from wizard-window.vala, do not modify */

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

#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <libcommon.h>
#include <float.h>
#include <math.h>
#include <gdk/gdk.h>


#define BOXES_TYPE_WIZARD_WINDOW_PAGE (boxes_wizard_window_page_get_type ())

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

typedef struct _BoxesUI BoxesUI;
typedef struct _BoxesUIIface BoxesUIIface;

#define BOXES_TYPE_UI_STATE (boxes_ui_state_get_type ())

#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;
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_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;
enum  {
	BOXES_WIZARD_WINDOW_DUMMY_PROPERTY,
	BOXES_WIZARD_WINDOW_PREVIOUS_UI_STATE,
	BOXES_WIZARD_WINDOW_UI_STATE,
	BOXES_WIZARD_WINDOW_PAGE,
	BOXES_WIZARD_WINDOW_LAST_PROPERTY
};
static GParamSpec* boxes_wizard_window_properties[BOXES_WIZARD_WINDOW_LAST_PROPERTY];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))

#define BOXES_TYPE_APP_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;
#define _g_free0(var) (var = (g_free (var), NULL))

#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_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 _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 ())
typedef struct _BoxesMachinePrivate BoxesMachinePrivate;

#define BOXES_MACHINE_TYPE_CONNECT_FLAGS (boxes_machine_connect_flags_get_type ())
typedef struct _BoxesLibvirtMachinePrivate BoxesLibvirtMachinePrivate;

#define BOXES_TYPE_LIBVIRT_MACHINE_PROPERTIES (boxes_libvirt_machine_properties_get_type ())
#define BOXES_LIBVIRT_MACHINE_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_LIBVIRT_MACHINE_PROPERTIES, BoxesLibvirtMachineProperties))
#define BOXES_LIBVIRT_MACHINE_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_LIBVIRT_MACHINE_PROPERTIES, BoxesLibvirtMachinePropertiesClass))
#define BOXES_IS_LIBVIRT_MACHINE_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_LIBVIRT_MACHINE_PROPERTIES))
#define BOXES_IS_LIBVIRT_MACHINE_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_LIBVIRT_MACHINE_PROPERTIES))
#define BOXES_LIBVIRT_MACHINE_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_LIBVIRT_MACHINE_PROPERTIES, BoxesLibvirtMachinePropertiesClass))

typedef struct _BoxesLibvirtMachineProperties BoxesLibvirtMachineProperties;
typedef struct _BoxesLibvirtMachinePropertiesClass BoxesLibvirtMachinePropertiesClass;
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
typedef struct _Block94Data Block94Data;
typedef struct _BoxesWizardToolbarPrivate BoxesWizardToolbarPrivate;

typedef enum  {
	BOXES_WIZARD_WINDOW_PAGE_MAIN,
	BOXES_WIZARD_WINDOW_PAGE_CUSTOMIZATION,
	BOXES_WIZARD_WINDOW_PAGE_FILE_CHOOSER
} BoxesWizardWindowPage;

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
} 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 _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 _BoxesWizardWindowPrivate {
	BoxesUIState _previous_ui_state;
	BoxesUIState _ui_state;
	BoxesWizardWindowPage _page;
	GList* resource_properties;
};

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 _BoxesLibvirtMachine {
	BoxesMachine parent_instance;
	BoxesLibvirtMachinePrivate * priv;
	BoxesLibvirtMachineProperties* properties;
	gdouble* cpu_stats;
	gint cpu_stats_length1;
	gint _cpu_stats_size_;
	gdouble* io_stats;
	gint io_stats_length1;
	gint _io_stats_size_;
	gdouble* net_stats;
	gint net_stats_length1;
	gint _net_stats_size_;
};

struct _BoxesLibvirtMachineClass {
	BoxesMachineClass parent_class;
};

typedef void (*BoxesWizardWindowFileChosenFunc) (const gchar* uri, void* user_data);
struct _Block94Data {
	int _ref_count_;
	BoxesWizardWindow* self;
	gulong activated_id;
	BoxesWizardWindowFileChosenFunc file_chosen_func;
	gpointer file_chosen_func_target;
	GDestroyNotify file_chosen_func_target_destroy_notify;
};

struct _BoxesWizardToolbar {
	GtkStack parent_instance;
	BoxesWizardToolbarPrivate * priv;
	GtkButton* cancel_btn;
	GtkButton* back_btn;
	GtkButton* continue_btn;
	GtkButton* create_btn;
};

struct _BoxesWizardToolbarClass {
	GtkStackClass parent_class;
};


static gpointer boxes_wizard_window_parent_class = NULL;
static BoxesUIIface * boxes_wizard_window_boxes_ui_parent_iface = NULL;

GType boxes_wizard_window_page_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_wizard_window_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;
GType boxes_property_get_type (void) G_GNUC_CONST;
#define BOXES_WIZARD_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_WIZARD_WINDOW, BoxesWizardWindowPrivate))
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
GType boxes_app_window_get_type (void) G_GNUC_CONST;
BoxesWizardWindow* boxes_wizard_window_new (BoxesAppWindow* app_window);
BoxesWizardWindow* boxes_wizard_window_construct (GType object_type, BoxesAppWindow* app_window);
void boxes_wizard_setup_ui (BoxesWizard* self, BoxesAppWindow* window, BoxesWizardWindow* wizard_window);
void boxes_wizard_toolbar_setup_ui (BoxesWizardToolbar* self, BoxesWizardWindow* wizard_window);
static void boxes_wizard_window_ui_state_changed (BoxesWizardWindow* self);
static void _boxes_wizard_window_ui_state_changed_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
GType boxes_collection_item_get_type (void) G_GNUC_CONST;
GType boxes_machine_get_type (void) G_GNUC_CONST;
GType boxes_libvirt_machine_get_type (void) G_GNUC_CONST;
void boxes_wizard_window_show_customization_page (BoxesWizardWindow* self, BoxesLibvirtMachine* machine);
GType boxes_properties_page_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;
GType boxes_libvirt_machine_properties_get_type (void) G_GNUC_CONST;
void boxes_libvirt_machine_properties_get_resources_properties (BoxesLibvirtMachineProperties* self, GList* * list);
GtkWidget* boxes_property_get_widget (BoxesProperty* self);
GtkWidget* boxes_property_get_extra_widget (BoxesProperty* self);
void boxes_wizard_window_set_page (BoxesWizardWindow* self, BoxesWizardWindowPage value);
void boxes_wizard_window_show_file_chooser (BoxesWizardWindow* self, BoxesWizardWindowFileChosenFunc file_chosen_func, void* file_chosen_func_target, GDestroyNotify file_chosen_func_target_destroy_notify);
static Block94Data* block94_data_ref (Block94Data* _data94_);
static void block94_data_unref (void * _userdata_);
static void __lambda71_ (Block94Data* _data94_);
static void ___lambda71__gtk_file_chooser_file_activated (GtkFileChooser* _sender, gpointer self);
void boxes_ui_set_state (BoxesUI* self, BoxesUIState new_state);
BoxesUIState boxes_ui_get_ui_state (BoxesUI* self);
static gboolean boxes_wizard_window_on_key_pressed (BoxesWizardWindow* self, GtkWidget* widget, GdkEventKey* event);
void boxes_wizard_toolbar_click_back_button (BoxesWizardToolbar* self);
void boxes_wizard_toolbar_click_forward_button (BoxesWizardToolbar* self);
BoxesWizardWindowPage boxes_wizard_window_get_page (BoxesWizardWindow* self);
static gboolean _boxes_wizard_window_on_key_pressed_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self);
static gboolean boxes_wizard_window_on_delete_event (BoxesWizardWindow* self);
void boxes_wizard_cancel (BoxesWizard* self);
static gboolean _boxes_wizard_window_on_delete_event_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self);
void boxes_property_flush (BoxesProperty* self);
void boxes_wizard_review (BoxesWizard* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
gboolean boxes_wizard_review_finish (BoxesWizard* self, GAsyncResult* _res_);
void boxes_wizard_toolbar_set_page (BoxesWizardToolbar* self, BoxesWizardWindowPage value);
static void boxes_wizard_window_finalize (GObject * obj);
BoxesUIState boxes_ui_get_previous_ui_state (BoxesUI* self);
static void _vala_boxes_wizard_window_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
void boxes_ui_set_previous_ui_state (BoxesUI* self, BoxesUIState value);
void boxes_ui_set_ui_state (BoxesUI* self, BoxesUIState value);
static void _vala_boxes_wizard_window_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);

const gchar* BOXES_WIZARD_WINDOW_page_names[3] = {"main", "customization", "file_chooser"};
extern const gchar* BOXES_INSTALLED_MEDIA_supported_extensions[16];

GType boxes_wizard_window_page_get_type (void) {
	static volatile gsize boxes_wizard_window_page_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_wizard_window_page_type_id__volatile)) {
		static const GEnumValue values[] = {{BOXES_WIZARD_WINDOW_PAGE_MAIN, "BOXES_WIZARD_WINDOW_PAGE_MAIN", "main"}, {BOXES_WIZARD_WINDOW_PAGE_CUSTOMIZATION, "BOXES_WIZARD_WINDOW_PAGE_CUSTOMIZATION", "customization"}, {BOXES_WIZARD_WINDOW_PAGE_FILE_CHOOSER, "BOXES_WIZARD_WINDOW_PAGE_FILE_CHOOSER", "file-chooser"}, {0, NULL, NULL}};
		GType boxes_wizard_window_page_type_id;
		boxes_wizard_window_page_type_id = g_enum_register_static ("BoxesWizardWindowPage", values);
		g_once_init_leave (&boxes_wizard_window_page_type_id__volatile, boxes_wizard_window_page_type_id);
	}
	return boxes_wizard_window_page_type_id__volatile;
}


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


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


static void _boxes_wizard_window_ui_state_changed_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 66 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	boxes_wizard_window_ui_state_changed ((BoxesWizardWindow*) self);
#line 400 "wizard-window.c"
}


BoxesWizardWindow* boxes_wizard_window_construct (GType object_type, BoxesAppWindow* app_window) {
	BoxesWizardWindow * self = NULL;
	BoxesWizard* _tmp0_;
	BoxesAppWindow* _tmp1_;
	BoxesWizardToolbar* _tmp2_;
	GtkFileChooserWidget* _tmp3_;
	GtkFileFilter* _tmp4_;
	GtkFileFilter* _tmp5_;
	GtkFileChooserWidget* _tmp6_;
	GtkFileFilter* _tmp7_;
	GtkFileFilter* _tmp8_;
	BoxesAppWindow* _tmp15_;
#line 54 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_return_val_if_fail (app_window != NULL, NULL);
#line 54 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	self = (BoxesWizardWindow*) g_object_new (object_type, NULL);
#line 55 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp0_ = self->wizard;
#line 55 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp1_ = app_window;
#line 55 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	boxes_wizard_setup_ui (_tmp0_, _tmp1_, self);
#line 56 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp2_ = self->topbar;
#line 56 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	boxes_wizard_toolbar_setup_ui (_tmp2_, self);
#line 59 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp3_ = self->file_chooser;
#line 59 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp4_ = gtk_file_filter_new ();
#line 59 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_object_ref_sink (_tmp4_);
#line 59 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp5_ = _tmp4_;
#line 59 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_file_chooser_set_filter ((GtkFileChooser*) _tmp3_, _tmp5_);
#line 59 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_g_object_unref0 (_tmp5_);
#line 60 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp6_ = self->file_chooser;
#line 60 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp7_ = gtk_file_chooser_get_filter ((GtkFileChooser*) _tmp6_);
#line 60 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp8_ = _tmp7_;
#line 60 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_file_filter_add_mime_type (_tmp8_, "application/x-cd-image");
#line 450 "wizard-window.c"
	{
		const gchar** extension_collection = NULL;
		gint extension_collection_length1 = 0;
		gint _extension_collection_size_ = 0;
		gint extension_it = 0;
#line 61 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		extension_collection = BOXES_INSTALLED_MEDIA_supported_extensions;
#line 61 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		extension_collection_length1 = G_N_ELEMENTS (BOXES_INSTALLED_MEDIA_supported_extensions);
#line 61 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		for (extension_it = 0; extension_it < G_N_ELEMENTS (BOXES_INSTALLED_MEDIA_supported_extensions); extension_it = extension_it + 1) {
#line 462 "wizard-window.c"
			const gchar* extension = NULL;
#line 61 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			extension = extension_collection[extension_it];
#line 466 "wizard-window.c"
			{
				GtkFileChooserWidget* _tmp9_;
				GtkFileFilter* _tmp10_;
				GtkFileFilter* _tmp11_;
				const gchar* _tmp12_;
				gchar* _tmp13_;
				gchar* _tmp14_;
#line 62 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp9_ = self->file_chooser;
#line 62 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp10_ = gtk_file_chooser_get_filter ((GtkFileChooser*) _tmp9_);
#line 62 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp11_ = _tmp10_;
#line 62 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp12_ = extension;
#line 62 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp13_ = g_strconcat ("*", _tmp12_, NULL);
#line 62 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp14_ = _tmp13_;
#line 62 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				gtk_file_filter_add_pattern (_tmp11_, _tmp14_);
#line 62 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_g_free0 (_tmp14_);
#line 490 "wizard-window.c"
			}
		}
	}
#line 64 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp15_ = app_window;
#line 64 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_window_set_transient_for ((GtkWindow*) self, (GtkWindow*) _tmp15_);
#line 66 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_signal_connect_object ((GObject*) self, "notify::ui-state", (GCallback) _boxes_wizard_window_ui_state_changed_g_object_notify, self, 0);
#line 54 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	return self;
#line 502 "wizard-window.c"
}


BoxesWizardWindow* boxes_wizard_window_new (BoxesAppWindow* app_window) {
#line 54 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	return boxes_wizard_window_construct (BOXES_TYPE_WIZARD_WINDOW, app_window);
#line 509 "wizard-window.c"
}


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


void boxes_wizard_window_show_customization_page (BoxesWizardWindow* self, BoxesLibvirtMachine* machine) {
	BoxesLibvirtMachine* _tmp0_;
	BoxesLibvirtMachineProperties* _tmp1_;
	GList* _tmp2_;
	guint _tmp3_;
	GtkGrid* _tmp4_;
	GList* _tmp5_;
	gint current_row = 0;
	GList* _tmp8_;
	GtkGrid* _tmp34_;
#line 69 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_return_if_fail (self != NULL);
#line 69 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_return_if_fail (machine != NULL);
#line 70 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	__g_list_free__g_object_unref0_0 (self->priv->resource_properties);
#line 70 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	self->priv->resource_properties = NULL;
#line 71 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp0_ = machine;
#line 71 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp1_ = _tmp0_->properties;
#line 71 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	boxes_libvirt_machine_properties_get_resources_properties (_tmp1_, &self->priv->resource_properties);
#line 73 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp2_ = self->priv->resource_properties;
#line 73 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp3_ = g_list_length (_tmp2_);
#line 73 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_return_if_fail (_tmp3_ > ((guint) 0));
#line 75 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp4_ = self->customization_grid;
#line 75 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp5_ = gtk_container_get_children ((GtkContainer*) _tmp4_);
#line 554 "wizard-window.c"
	{
		GList* child_collection = NULL;
		GList* child_it = NULL;
#line 75 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		child_collection = _tmp5_;
#line 75 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		for (child_it = child_collection; child_it != NULL; child_it = child_it->next) {
#line 562 "wizard-window.c"
			GtkWidget* child = NULL;
#line 75 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			child = (GtkWidget*) child_it->data;
#line 566 "wizard-window.c"
			{
				GtkGrid* _tmp6_;
				GtkWidget* _tmp7_;
#line 76 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp6_ = self->customization_grid;
#line 76 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp7_ = child;
#line 76 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				gtk_container_remove ((GtkContainer*) _tmp6_, _tmp7_);
#line 576 "wizard-window.c"
			}
		}
#line 75 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_g_list_free0 (child_collection);
#line 581 "wizard-window.c"
	}
#line 78 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	current_row = 0;
#line 79 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp8_ = self->priv->resource_properties;
#line 587 "wizard-window.c"
	{
		GList* property_collection = NULL;
		GList* property_it = NULL;
#line 79 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		property_collection = _tmp8_;
#line 79 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		for (property_it = property_collection; property_it != NULL; property_it = property_it->next) {
#line 595 "wizard-window.c"
			BoxesProperty* _tmp9_;
			BoxesProperty* property = NULL;
#line 79 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp9_ = _g_object_ref0 ((BoxesProperty*) property_it->data);
#line 79 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			property = _tmp9_;
#line 602 "wizard-window.c"
			{
				gboolean _tmp10_ = FALSE;
				BoxesProperty* _tmp11_;
				GtkWidget* _tmp12_;
				GtkWidget* _tmp13_;
				BoxesProperty* _tmp17_;
				GtkWidget* _tmp18_;
				GtkWidget* _tmp19_;
				GtkGrid* _tmp20_;
				BoxesProperty* _tmp21_;
				GtkWidget* _tmp22_;
				GtkWidget* _tmp23_;
				gint _tmp24_;
				BoxesProperty* _tmp25_;
				GtkWidget* _tmp26_;
				GtkWidget* _tmp27_;
				GtkGrid* _tmp28_;
				BoxesProperty* _tmp29_;
				GtkWidget* _tmp30_;
				GtkWidget* _tmp31_;
				gint _tmp32_;
				gint _tmp33_;
#line 80 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp11_ = property;
#line 80 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp12_ = boxes_property_get_widget (_tmp11_);
#line 80 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp13_ = _tmp12_;
#line 80 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				if (_tmp13_ == NULL) {
#line 80 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					_tmp10_ = TRUE;
#line 635 "wizard-window.c"
				} else {
					BoxesProperty* _tmp14_;
					GtkWidget* _tmp15_;
					GtkWidget* _tmp16_;
#line 80 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					_tmp14_ = property;
#line 80 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					_tmp15_ = boxes_property_get_extra_widget (_tmp14_);
#line 80 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					_tmp16_ = _tmp15_;
#line 80 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					_tmp10_ = _tmp16_ == NULL;
#line 648 "wizard-window.c"
				}
#line 80 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				if (_tmp10_) {
#line 81 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					g_warn_if_reached ();
#line 83 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					_g_object_unref0 (property);
#line 83 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					continue;
#line 658 "wizard-window.c"
				}
#line 86 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp17_ = property;
#line 86 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp18_ = boxes_property_get_widget (_tmp17_);
#line 86 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp19_ = _tmp18_;
#line 86 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				gtk_widget_set_hexpand (_tmp19_, TRUE);
#line 87 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp20_ = self->customization_grid;
#line 87 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp21_ = property;
#line 87 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp22_ = boxes_property_get_widget (_tmp21_);
#line 87 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp23_ = _tmp22_;
#line 87 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp24_ = current_row;
#line 87 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				gtk_grid_attach (_tmp20_, _tmp23_, 0, _tmp24_, 1, 1);
#line 89 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp25_ = property;
#line 89 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp26_ = boxes_property_get_extra_widget (_tmp25_);
#line 89 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp27_ = _tmp26_;
#line 89 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				gtk_widget_set_hexpand (_tmp27_, TRUE);
#line 90 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp28_ = self->customization_grid;
#line 90 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp29_ = property;
#line 90 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp30_ = boxes_property_get_extra_widget (_tmp29_);
#line 90 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp31_ = _tmp30_;
#line 90 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp32_ = current_row;
#line 90 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				gtk_grid_attach (_tmp28_, _tmp31_, 0, _tmp32_ + 1, 1, 1);
#line 92 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp33_ = current_row;
#line 92 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				current_row = _tmp33_ + 2;
#line 79 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_g_object_unref0 (property);
#line 706 "wizard-window.c"
			}
		}
	}
#line 94 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp34_ = self->customization_grid;
#line 94 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_widget_show_all ((GtkWidget*) _tmp34_);
#line 96 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	boxes_wizard_window_set_page (self, BOXES_WIZARD_WINDOW_PAGE_CUSTOMIZATION);
#line 716 "wizard-window.c"
}


static Block94Data* block94_data_ref (Block94Data* _data94_) {
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_atomic_int_inc (&_data94_->_ref_count_);
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	return _data94_;
#line 725 "wizard-window.c"
}


static void block94_data_unref (void * _userdata_) {
	Block94Data* _data94_;
	_data94_ = (Block94Data*) _userdata_;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	if (g_atomic_int_dec_and_test (&_data94_->_ref_count_)) {
#line 734 "wizard-window.c"
		BoxesWizardWindow* self;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		self = _data94_->self;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		(_data94_->file_chosen_func_target_destroy_notify == NULL) ? NULL : (_data94_->file_chosen_func_target_destroy_notify (_data94_->file_chosen_func_target), NULL);
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_data94_->file_chosen_func = NULL;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_data94_->file_chosen_func_target = NULL;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_data94_->file_chosen_func_target_destroy_notify = NULL;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_g_object_unref0 (self);
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		g_slice_free (Block94Data, _data94_);
#line 750 "wizard-window.c"
	}
}


static void __lambda71_ (Block94Data* _data94_) {
	BoxesWizardWindow* self;
	gchar* uri = NULL;
	GtkFileChooserWidget* _tmp0_;
	gchar* _tmp1_;
	BoxesWizardWindowFileChosenFunc _tmp2_;
	void* _tmp2__target;
	GtkFileChooserWidget* _tmp3_;
	gulong _tmp4_;
#line 101 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	self = _data94_->self;
#line 102 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp0_ = self->file_chooser;
#line 102 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp1_ = gtk_file_chooser_get_uri ((GtkFileChooser*) _tmp0_);
#line 102 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	uri = _tmp1_;
#line 103 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp2_ = _data94_->file_chosen_func;
#line 103 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp2__target = _data94_->file_chosen_func_target;
#line 103 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp2_ (uri, _tmp2__target);
#line 104 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp3_ = self->file_chooser;
#line 104 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp4_ = _data94_->activated_id;
#line 104 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_signal_handler_disconnect ((GObject*) _tmp3_, _tmp4_);
#line 106 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	boxes_wizard_window_set_page (self, BOXES_WIZARD_WINDOW_PAGE_MAIN);
#line 101 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_g_free0 (uri);
#line 788 "wizard-window.c"
}


static void ___lambda71__gtk_file_chooser_file_activated (GtkFileChooser* _sender, gpointer self) {
#line 101 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	__lambda71_ (self);
#line 795 "wizard-window.c"
}


void boxes_wizard_window_show_file_chooser (BoxesWizardWindow* self, BoxesWizardWindowFileChosenFunc file_chosen_func, void* file_chosen_func_target, GDestroyNotify file_chosen_func_target_destroy_notify) {
	Block94Data* _data94_;
	BoxesWizardWindowFileChosenFunc _tmp0_;
	void* _tmp0__target;
	GtkFileChooserWidget* _tmp1_;
	gulong _tmp2_;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_return_if_fail (self != NULL);
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_data94_ = g_slice_new0 (Block94Data);
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_data94_->_ref_count_ = 1;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_data94_->self = g_object_ref (self);
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp0_ = file_chosen_func;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp0__target = file_chosen_func_target;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	(_data94_->file_chosen_func_target_destroy_notify == NULL) ? NULL : (_data94_->file_chosen_func_target_destroy_notify (_data94_->file_chosen_func_target), NULL);
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_data94_->file_chosen_func = NULL;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_data94_->file_chosen_func_target = NULL;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_data94_->file_chosen_func_target_destroy_notify = NULL;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_data94_->file_chosen_func = _tmp0_;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_data94_->file_chosen_func_target = _tmp0__target;
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_data94_->file_chosen_func_target_destroy_notify = file_chosen_func_target_destroy_notify;
#line 100 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_data94_->activated_id = (gulong) 0;
#line 101 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp1_ = self->file_chooser;
#line 101 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp2_ = g_signal_connect_data ((GtkFileChooser*) _tmp1_, "file-activated", (GCallback) ___lambda71__gtk_file_chooser_file_activated, block94_data_ref (_data94_), (GClosureNotify) block94_data_unref, 0);
#line 101 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_data94_->activated_id = _tmp2_;
#line 108 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	boxes_wizard_window_set_page (self, BOXES_WIZARD_WINDOW_PAGE_FILE_CHOOSER);
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	block94_data_unref (_data94_);
#line 99 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_data94_ = NULL;
#line 845 "wizard-window.c"
}


static void boxes_wizard_window_ui_state_changed (BoxesWizardWindow* self) {
	BoxesWizard* _tmp0_;
	BoxesUIState _tmp1_;
	BoxesUIState _tmp2_;
	BoxesUIState _tmp3_;
	BoxesUIState _tmp4_;
#line 111 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_return_if_fail (self != NULL);
#line 112 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp0_ = self->wizard;
#line 112 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp1_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 112 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp2_ = _tmp1_;
#line 112 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	boxes_ui_set_state ((BoxesUI*) _tmp0_, _tmp2_);
#line 114 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp3_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 114 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp4_ = _tmp3_;
#line 114 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_widget_set_visible ((GtkWidget*) self, _tmp4_ == BOXES_UI_STATE_WIZARD);
#line 871 "wizard-window.c"
}


static gboolean boxes_wizard_window_on_key_pressed (BoxesWizardWindow* self, GtkWidget* widget, GdkEventKey* event) {
	gboolean result = FALSE;
	GdkModifierType default_modifiers = 0;
	GdkModifierType _tmp0_;
	GtkTextDirection direction = 0;
	GtkTextDirection _tmp1_;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_ = FALSE;
	gboolean _tmp4_ = FALSE;
	GtkTextDirection _tmp5_;
#line 118 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 118 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_return_val_if_fail (widget != NULL, FALSE);
#line 118 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 119 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp0_ = gtk_accelerator_get_default_mod_mask ();
#line 119 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	default_modifiers = _tmp0_;
#line 120 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp1_ = gtk_widget_get_direction ((GtkWidget*) self);
#line 120 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	direction = _tmp1_;
#line 122 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp5_ = direction;
#line 122 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	if (_tmp5_ == GTK_TEXT_DIR_LTR) {
#line 903 "wizard-window.c"
		GdkEventKey* _tmp6_;
		guint _tmp7_;
#line 123 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp6_ = event;
#line 123 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp7_ = _tmp6_->keyval;
#line 123 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp4_ = _tmp7_ == ((guint) GDK_KEY_Left);
#line 912 "wizard-window.c"
	} else {
#line 122 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp4_ = FALSE;
#line 916 "wizard-window.c"
	}
#line 122 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	if (_tmp4_) {
#line 122 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp3_ = TRUE;
#line 922 "wizard-window.c"
	} else {
		gboolean _tmp8_ = FALSE;
		GtkTextDirection _tmp9_;
#line 124 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp9_ = direction;
#line 124 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		if (_tmp9_ == GTK_TEXT_DIR_RTL) {
#line 930 "wizard-window.c"
			GdkEventKey* _tmp10_;
			guint _tmp11_;
#line 125 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp10_ = event;
#line 125 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp11_ = _tmp10_->keyval;
#line 125 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp8_ = _tmp11_ == ((guint) GDK_KEY_Right);
#line 939 "wizard-window.c"
		} else {
#line 124 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp8_ = FALSE;
#line 943 "wizard-window.c"
		}
#line 124 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp3_ = _tmp8_;
#line 947 "wizard-window.c"
	}
#line 122 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	if (_tmp3_) {
#line 951 "wizard-window.c"
		GdkEventKey* _tmp12_;
		GdkModifierType _tmp13_;
		GdkModifierType _tmp14_;
#line 126 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp12_ = event;
#line 126 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp13_ = _tmp12_->state;
#line 126 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp14_ = default_modifiers;
#line 126 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp2_ = (_tmp13_ & _tmp14_) == GDK_MOD1_MASK;
#line 963 "wizard-window.c"
	} else {
#line 122 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp2_ = FALSE;
#line 967 "wizard-window.c"
	}
#line 122 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	if (_tmp2_) {
#line 971 "wizard-window.c"
		BoxesWizardToolbar* _tmp15_;
#line 127 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp15_ = self->topbar;
#line 127 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		boxes_wizard_toolbar_click_back_button (_tmp15_);
#line 128 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		result = TRUE;
#line 128 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		return result;
#line 981 "wizard-window.c"
	} else {
		gboolean _tmp16_ = FALSE;
		gboolean _tmp17_ = FALSE;
		gboolean _tmp18_ = FALSE;
		GtkTextDirection _tmp19_;
#line 129 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp19_ = direction;
#line 129 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		if (_tmp19_ == GTK_TEXT_DIR_LTR) {
#line 991 "wizard-window.c"
			GdkEventKey* _tmp20_;
			guint _tmp21_;
#line 130 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp20_ = event;
#line 130 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp21_ = _tmp20_->keyval;
#line 130 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp18_ = _tmp21_ == ((guint) GDK_KEY_Right);
#line 1000 "wizard-window.c"
		} else {
#line 129 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp18_ = FALSE;
#line 1004 "wizard-window.c"
		}
#line 129 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		if (_tmp18_) {
#line 129 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp17_ = TRUE;
#line 1010 "wizard-window.c"
		} else {
			gboolean _tmp22_ = FALSE;
			GtkTextDirection _tmp23_;
#line 131 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp23_ = direction;
#line 131 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			if (_tmp23_ == GTK_TEXT_DIR_RTL) {
#line 1018 "wizard-window.c"
				GdkEventKey* _tmp24_;
				guint _tmp25_;
#line 132 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp24_ = event;
#line 132 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp25_ = _tmp24_->keyval;
#line 132 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp22_ = _tmp25_ == ((guint) GDK_KEY_Left);
#line 1027 "wizard-window.c"
			} else {
#line 131 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp22_ = FALSE;
#line 1031 "wizard-window.c"
			}
#line 131 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp17_ = _tmp22_;
#line 1035 "wizard-window.c"
		}
#line 129 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		if (_tmp17_) {
#line 1039 "wizard-window.c"
			GdkEventKey* _tmp26_;
			GdkModifierType _tmp27_;
			GdkModifierType _tmp28_;
#line 133 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp26_ = event;
#line 133 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp27_ = _tmp26_->state;
#line 133 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp28_ = default_modifiers;
#line 133 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp16_ = (_tmp27_ & _tmp28_) == GDK_MOD1_MASK;
#line 1051 "wizard-window.c"
		} else {
#line 129 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp16_ = FALSE;
#line 1055 "wizard-window.c"
		}
#line 129 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		if (_tmp16_) {
#line 1059 "wizard-window.c"
			BoxesWizardToolbar* _tmp29_;
#line 134 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp29_ = self->topbar;
#line 134 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			boxes_wizard_toolbar_click_forward_button (_tmp29_);
#line 135 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			result = TRUE;
#line 135 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			return result;
#line 1069 "wizard-window.c"
		} else {
			GdkEventKey* _tmp30_;
			guint _tmp31_;
#line 136 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp30_ = event;
#line 136 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			_tmp31_ = _tmp30_->keyval;
#line 136 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			if (_tmp31_ == ((guint) GDK_KEY_Escape)) {
#line 1079 "wizard-window.c"
				BoxesWizardWindowPage _tmp32_;
				BoxesWizardWindowPage _tmp33_;
#line 137 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp32_ = boxes_wizard_window_get_page (self);
#line 137 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp33_ = _tmp32_;
#line 137 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				if (_tmp33_ == BOXES_WIZARD_WINDOW_PAGE_MAIN) {
#line 1088 "wizard-window.c"
					BoxesWizardToolbar* _tmp34_;
					GtkButton* _tmp35_;
#line 138 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					_tmp34_ = self->topbar;
#line 138 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					_tmp35_ = _tmp34_->cancel_btn;
#line 138 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					gtk_button_clicked (_tmp35_);
#line 1097 "wizard-window.c"
				} else {
#line 140 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					boxes_wizard_window_set_page (self, BOXES_WIZARD_WINDOW_PAGE_MAIN);
#line 1101 "wizard-window.c"
				}
			}
		}
	}
#line 144 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	result = FALSE;
#line 144 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	return result;
#line 1110 "wizard-window.c"
}


static gboolean _boxes_wizard_window_on_key_pressed_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self) {
	gboolean result;
	result = boxes_wizard_window_on_key_pressed ((BoxesWizardWindow*) self, _sender, event);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	return result;
#line 1119 "wizard-window.c"
}


static gboolean boxes_wizard_window_on_delete_event (BoxesWizardWindow* self) {
	gboolean result = FALSE;
	BoxesWizard* _tmp0_;
#line 148 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 149 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp0_ = self->wizard;
#line 149 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	boxes_wizard_cancel (_tmp0_);
#line 151 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	result = TRUE;
#line 151 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	return result;
#line 1136 "wizard-window.c"
}


static gboolean _boxes_wizard_window_on_delete_event_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self) {
	gboolean result;
	result = boxes_wizard_window_on_delete_event ((BoxesWizardWindow*) self);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	return result;
#line 1145 "wizard-window.c"
}


static BoxesUIState boxes_wizard_window_real_get_previous_ui_state (BoxesUI* base) {
	BoxesUIState result;
	BoxesWizardWindow* self;
	BoxesUIState _tmp0_;
#line 16 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	self = (BoxesWizardWindow*) base;
#line 16 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp0_ = self->priv->_previous_ui_state;
#line 16 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	result = _tmp0_;
#line 16 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	return result;
#line 1161 "wizard-window.c"
}


static void boxes_wizard_window_real_set_previous_ui_state (BoxesUI* base, BoxesUIState value) {
	BoxesWizardWindow* self;
#line 16 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	self = (BoxesWizardWindow*) base;
#line 16 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	if (boxes_wizard_window_real_get_previous_ui_state (base) != value) {
#line 1171 "wizard-window.c"
		BoxesUIState _tmp0_;
#line 16 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp0_ = value;
#line 16 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		self->priv->_previous_ui_state = _tmp0_;
#line 16 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_wizard_window_properties[BOXES_WIZARD_WINDOW_PREVIOUS_UI_STATE]);
#line 1179 "wizard-window.c"
	}
}


static BoxesUIState boxes_wizard_window_real_get_ui_state (BoxesUI* base) {
	BoxesUIState result;
	BoxesWizardWindow* self;
	BoxesUIState _tmp0_;
#line 17 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	self = (BoxesWizardWindow*) base;
#line 17 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp0_ = self->priv->_ui_state;
#line 17 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	result = _tmp0_;
#line 17 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	return result;
#line 1196 "wizard-window.c"
}


static void boxes_wizard_window_real_set_ui_state (BoxesUI* base, BoxesUIState value) {
	BoxesWizardWindow* self;
#line 17 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	self = (BoxesWizardWindow*) base;
#line 17 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	if (boxes_wizard_window_real_get_ui_state (base) != value) {
#line 1206 "wizard-window.c"
		BoxesUIState _tmp0_;
#line 17 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp0_ = value;
#line 17 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		self->priv->_ui_state = _tmp0_;
#line 17 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_wizard_window_properties[BOXES_WIZARD_WINDOW_UI_STATE]);
#line 1214 "wizard-window.c"
	}
}


BoxesWizardWindowPage boxes_wizard_window_get_page (BoxesWizardWindow* self) {
	BoxesWizardWindowPage result;
	BoxesWizardWindowPage _tmp0_;
#line 21 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 21 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp0_ = self->priv->_page;
#line 21 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	result = _tmp0_;
#line 21 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	return result;
#line 1230 "wizard-window.c"
}


void boxes_wizard_window_set_page (BoxesWizardWindow* self, BoxesWizardWindowPage value) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	BoxesWizardWindowPage _tmp3_;
	BoxesWizardWindowPage _tmp12_;
	GtkStack* _tmp13_;
	BoxesWizardWindowPage _tmp14_;
	const gchar* _tmp15_;
	BoxesWizardToolbar* _tmp16_;
	BoxesWizardWindowPage _tmp17_;
#line 22 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_return_if_fail (self != NULL);
#line 23 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp3_ = self->priv->_page;
#line 23 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	if (_tmp3_ == BOXES_WIZARD_WINDOW_PAGE_CUSTOMIZATION) {
#line 1251 "wizard-window.c"
		BoxesWizardWindowPage _tmp4_;
#line 23 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp4_ = value;
#line 23 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp2_ = _tmp4_ != BOXES_WIZARD_WINDOW_PAGE_CUSTOMIZATION;
#line 1257 "wizard-window.c"
	} else {
#line 23 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp2_ = FALSE;
#line 1261 "wizard-window.c"
	}
#line 23 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	if (_tmp2_) {
#line 1265 "wizard-window.c"
		GList* _tmp5_;
#line 24 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp5_ = self->priv->resource_properties;
#line 24 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp1_ = _tmp5_ != NULL;
#line 1271 "wizard-window.c"
	} else {
#line 23 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp1_ = FALSE;
#line 1275 "wizard-window.c"
	}
#line 23 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	if (_tmp1_) {
#line 1279 "wizard-window.c"
		GList* _tmp6_;
		guint _tmp7_;
#line 24 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp6_ = self->priv->resource_properties;
#line 24 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp7_ = g_list_length (_tmp6_);
#line 24 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp0_ = _tmp7_ > ((guint) 0);
#line 1288 "wizard-window.c"
	} else {
#line 23 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp0_ = FALSE;
#line 1292 "wizard-window.c"
	}
#line 23 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	if (_tmp0_) {
#line 1296 "wizard-window.c"
		GList* _tmp8_;
		BoxesWizard* _tmp11_;
#line 25 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp8_ = self->priv->resource_properties;
#line 1301 "wizard-window.c"
		{
			GList* property_collection = NULL;
			GList* property_it = NULL;
#line 25 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			property_collection = _tmp8_;
#line 25 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
			for (property_it = property_collection; property_it != NULL; property_it = property_it->next) {
#line 1309 "wizard-window.c"
				BoxesProperty* _tmp9_;
				BoxesProperty* property = NULL;
#line 25 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				_tmp9_ = _g_object_ref0 ((BoxesProperty*) property_it->data);
#line 25 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
				property = _tmp9_;
#line 1316 "wizard-window.c"
				{
					BoxesProperty* _tmp10_;
#line 26 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					_tmp10_ = property;
#line 26 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					boxes_property_flush (_tmp10_);
#line 25 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
					_g_object_unref0 (property);
#line 1325 "wizard-window.c"
				}
			}
		}
#line 27 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		__g_list_free__g_object_unref0_0 (self->priv->resource_properties);
#line 27 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		self->priv->resource_properties = NULL;
#line 29 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		_tmp11_ = self->wizard;
#line 29 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		boxes_wizard_review (_tmp11_, NULL, NULL);
#line 1337 "wizard-window.c"
	}
#line 32 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp12_ = value;
#line 32 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	self->priv->_page = _tmp12_;
#line 34 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp13_ = self->view;
#line 34 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp14_ = value;
#line 34 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp15_ = BOXES_WIZARD_WINDOW_page_names[_tmp14_];
#line 34 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_stack_set_visible_child_name (_tmp13_, _tmp15_);
#line 35 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp16_ = self->topbar;
#line 35 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_tmp17_ = value;
#line 35 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	boxes_wizard_toolbar_set_page (_tmp16_, _tmp17_);
#line 22 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_object_notify_by_pspec ((GObject *) self, boxes_wizard_window_properties[BOXES_WIZARD_WINDOW_PAGE]);
#line 1359 "wizard-window.c"
}


static void boxes_wizard_window_class_init (BoxesWizardWindowClass * klass) {
	gint BoxesWizardWindow_private_offset;
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	boxes_wizard_window_parent_class = g_type_class_peek_parent (klass);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_type_class_add_private (klass, sizeof (BoxesWizardWindowPrivate));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_wizard_window_get_property;
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_boxes_wizard_window_set_property;
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_wizard_window_finalize;
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_WIZARD_WINDOW_PREVIOUS_UI_STATE, boxes_wizard_window_properties[BOXES_WIZARD_WINDOW_PREVIOUS_UI_STATE] = g_param_spec_enum ("previous-ui-state", "previous-ui-state", "previous-ui-state", BOXES_TYPE_UI_STATE, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_WIZARD_WINDOW_UI_STATE, boxes_wizard_window_properties[BOXES_WIZARD_WINDOW_UI_STATE] = g_param_spec_enum ("ui-state", "ui-state", "ui-state", BOXES_TYPE_UI_STATE, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_WIZARD_WINDOW_PAGE, boxes_wizard_window_properties[BOXES_WIZARD_WINDOW_PAGE] = g_param_spec_enum ("page", "page", "page", BOXES_TYPE_WIZARD_WINDOW_PAGE, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	BoxesWizardWindow_private_offset = g_type_class_get_instance_private_offset (klass);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Boxes/ui/wizard-window.ui");
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "view", FALSE, G_STRUCT_OFFSET (BoxesWizardWindow, view));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "wizard", FALSE, G_STRUCT_OFFSET (BoxesWizardWindow, wizard));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "customization_grid", FALSE, G_STRUCT_OFFSET (BoxesWizardWindow, customization_grid));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "file_chooser", FALSE, G_STRUCT_OFFSET (BoxesWizardWindow, file_chooser));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "topbar", FALSE, G_STRUCT_OFFSET (BoxesWizardWindow, topbar));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "notificationbar", FALSE, G_STRUCT_OFFSET (BoxesWizardWindow, notificationbar));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_key_pressed", G_CALLBACK(_boxes_wizard_window_on_key_pressed_gtk_widget_key_press_event));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_delete_event", G_CALLBACK(_boxes_wizard_window_on_delete_event_gtk_widget_delete_event));
#line 1401 "wizard-window.c"
}


static void boxes_wizard_window_boxes_ui_interface_init (BoxesUIIface * iface) {
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	boxes_wizard_window_boxes_ui_parent_iface = g_type_interface_peek_parent (iface);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	iface->get_previous_ui_state = boxes_wizard_window_real_get_previous_ui_state;
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	iface->set_previous_ui_state = boxes_wizard_window_real_set_previous_ui_state;
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	iface->get_ui_state = boxes_wizard_window_real_get_ui_state;
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	iface->set_ui_state = boxes_wizard_window_real_set_ui_state;
#line 1416 "wizard-window.c"
}


static void boxes_wizard_window_instance_init (BoxesWizardWindow * self) {
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	self->priv = BOXES_WIZARD_WINDOW_GET_PRIVATE (self);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_type_ensure (BOXES_TYPE_WIZARD);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_type_ensure (BOXES_TYPE_WIZARD_TOOLBAR);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	g_type_ensure (BOXES_TYPE_NOTIFICATIONBAR);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	gtk_widget_init_template (GTK_WIDGET (self));
#line 1431 "wizard-window.c"
}


static void boxes_wizard_window_finalize (GObject * obj) {
	BoxesWizardWindow * self;
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_WIZARD_WINDOW, BoxesWizardWindow);
#line 40 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_g_object_unref0 (self->view);
#line 42 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_g_object_unref0 (self->wizard);
#line 44 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_g_object_unref0 (self->customization_grid);
#line 46 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_g_object_unref0 (self->file_chooser);
#line 48 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_g_object_unref0 (self->topbar);
#line 50 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	_g_object_unref0 (self->notificationbar);
#line 52 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	__g_list_free__g_object_unref0_0 (self->priv->resource_properties);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	G_OBJECT_CLASS (boxes_wizard_window_parent_class)->finalize (obj);
#line 1455 "wizard-window.c"
}


GType boxes_wizard_window_get_type (void) {
	static volatile gsize boxes_wizard_window_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_wizard_window_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesWizardWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_wizard_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesWizardWindow), 0, (GInstanceInitFunc) boxes_wizard_window_instance_init, NULL };
		static const GInterfaceInfo boxes_ui_info = { (GInterfaceInitFunc) boxes_wizard_window_boxes_ui_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType boxes_wizard_window_type_id;
		boxes_wizard_window_type_id = g_type_register_static (gtk_window_get_type (), "BoxesWizardWindow", &g_define_type_info, 0);
		g_type_add_interface_static (boxes_wizard_window_type_id, BOXES_TYPE_UI, &boxes_ui_info);
		g_once_init_leave (&boxes_wizard_window_type_id__volatile, boxes_wizard_window_type_id);
	}
	return boxes_wizard_window_type_id__volatile;
}


static void _vala_boxes_wizard_window_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	BoxesWizardWindow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_WIZARD_WINDOW, BoxesWizardWindow);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	switch (property_id) {
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		case BOXES_WIZARD_WINDOW_PREVIOUS_UI_STATE:
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		g_value_set_enum (value, boxes_ui_get_previous_ui_state ((BoxesUI*) self));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		break;
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		case BOXES_WIZARD_WINDOW_UI_STATE:
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		g_value_set_enum (value, boxes_ui_get_ui_state ((BoxesUI*) self));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		break;
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		case BOXES_WIZARD_WINDOW_PAGE:
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		g_value_set_enum (value, boxes_wizard_window_get_page (self));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		break;
#line 1496 "wizard-window.c"
		default:
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		break;
#line 1502 "wizard-window.c"
	}
}


static void _vala_boxes_wizard_window_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	BoxesWizardWindow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_WIZARD_WINDOW, BoxesWizardWindow);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
	switch (property_id) {
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		case BOXES_WIZARD_WINDOW_PREVIOUS_UI_STATE:
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		boxes_ui_set_previous_ui_state ((BoxesUI*) self, g_value_get_enum (value));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		break;
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		case BOXES_WIZARD_WINDOW_UI_STATE:
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		boxes_ui_set_ui_state ((BoxesUI*) self, g_value_get_enum (value));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		break;
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		case BOXES_WIZARD_WINDOW_PAGE:
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		boxes_wizard_window_set_page (self, g_value_get_enum (value));
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		break;
#line 1530 "wizard-window.c"
		default:
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 11 "/home/fborges/checkout/gnome-boxes/src/wizard-window.vala"
		break;
#line 1536 "wizard-window.c"
	}
}



