/* machine.c generated by valac 0.36.1.38-6532, the Vala compiler
 * generated from machine.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 <gdk-pixbuf/gdk-pixbuf.h>
#include <libcommon.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#include <cairo.h>
#include <gdk/gdk.h>
#include <glib/gi18n-lib.h>
#include <float.h>
#include <math.h>
#include <glib/gstdio.h>


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

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

#define BOXES_MACHINE_TYPE_CONNECT_FLAGS (boxes_machine_connect_flags_get_type ())

#define BOXES_TYPE_MACHINE_THUMBNAILER (boxes_machine_thumbnailer_get_type ())
#define BOXES_MACHINE_THUMBNAILER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_MACHINE_THUMBNAILER, BoxesMachineThumbnailer))
#define BOXES_MACHINE_THUMBNAILER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_MACHINE_THUMBNAILER, BoxesMachineThumbnailerClass))
#define BOXES_IS_MACHINE_THUMBNAILER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_MACHINE_THUMBNAILER))
#define BOXES_IS_MACHINE_THUMBNAILER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_MACHINE_THUMBNAILER))
#define BOXES_MACHINE_THUMBNAILER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_MACHINE_THUMBNAILER, BoxesMachineThumbnailerClass))

typedef struct _BoxesMachineThumbnailer BoxesMachineThumbnailer;
typedef struct _BoxesMachineThumbnailerClass BoxesMachineThumbnailerClass;

#define BOXES_MACHINE_TYPE_MACHINE_STATE (boxes_machine_machine_state_get_type ())

#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 BOXES_TYPE_DISPLAY (boxes_display_get_type ())
#define BOXES_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_DISPLAY, BoxesDisplay))
#define BOXES_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_DISPLAY, BoxesDisplayClass))
#define BOXES_IS_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_DISPLAY))
#define BOXES_IS_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_DISPLAY))
#define BOXES_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_DISPLAY, BoxesDisplayClass))

typedef struct _BoxesDisplay BoxesDisplay;
typedef struct _BoxesDisplayClass BoxesDisplayClass;

#define BOXES_TYPE_AUTH_NOTIFICATION (boxes_auth_notification_get_type ())
#define BOXES_AUTH_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_AUTH_NOTIFICATION, BoxesAuthNotification))
#define BOXES_AUTH_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_AUTH_NOTIFICATION, BoxesAuthNotificationClass))
#define BOXES_IS_AUTH_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_AUTH_NOTIFICATION))
#define BOXES_IS_AUTH_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_AUTH_NOTIFICATION))
#define BOXES_AUTH_NOTIFICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_AUTH_NOTIFICATION, BoxesAuthNotificationClass))

typedef struct _BoxesAuthNotification BoxesAuthNotification;
typedef struct _BoxesAuthNotificationClass BoxesAuthNotificationClass;
enum  {
	BOXES_MACHINE_DUMMY_PROPERTY,
	BOXES_MACHINE_PIXBUF,
	BOXES_MACHINE_THUMBNAILER,
	BOXES_MACHINE_INFO,
	BOXES_MACHINE_STATUS,
	BOXES_MACHINE_SUSPEND_AT_EXIT,
	BOXES_MACHINE_CAN_SAVE,
	BOXES_MACHINE_CAN_RESTART,
	BOXES_MACHINE_CAN_CLONE,
	BOXES_MACHINE_CAN_DELETE,
	BOXES_MACHINE_UNDER_CONSTRUCTION,
	BOXES_MACHINE_SHOULD_AUTOSAVE,
	BOXES_MACHINE_IS_CONNECTED,
	BOXES_MACHINE_IS_RUNNING,
	BOXES_MACHINE_IS_ON,
	BOXES_MACHINE_IS_STOPPED,
	BOXES_MACHINE_IS_LOCAL,
	BOXES_MACHINE_CONNECTING_CANCELLABLE,
	BOXES_MACHINE_STATE,
	BOXES_MACHINE_WINDOW,
	BOXES_MACHINE_DELETED,
	BOXES_MACHINE_DISPLAY,
	BOXES_MACHINE_LAST_PROPERTY
};
static GParamSpec* boxes_machine_properties[BOXES_MACHINE_LAST_PROPERTY];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
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_APP (boxes_app_get_type ())
#define BOXES_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_APP, BoxesApp))
#define BOXES_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_APP, BoxesAppClass))
#define BOXES_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_APP))
#define BOXES_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_APP))
#define BOXES_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_APP, BoxesAppClass))

typedef struct _BoxesApp BoxesApp;
typedef struct _BoxesAppClass BoxesAppClass;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _BoxesMachineSaveData BoxesMachineSaveData;
typedef struct _BoxesMachineSaveRealData BoxesMachineSaveRealData;
typedef struct _BoxesMachineTakeScreenshotData BoxesMachineTakeScreenshotData;
typedef struct _BoxesMachineUpdateScreenshotData BoxesMachineUpdateScreenshotData;
#define _cairo_pattern_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_pattern_destroy (var), NULL)))
#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL)))
#define _cairo_surface_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_surface_destroy (var), NULL)))
typedef struct _Block64Data Block64Data;

#define BOXES_TYPE_NOTIFICATION (boxes_notification_get_type ())
#define BOXES_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_NOTIFICATION, BoxesNotification))
#define BOXES_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_NOTIFICATION, BoxesNotificationClass))
#define BOXES_IS_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_NOTIFICATION))
#define BOXES_IS_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_NOTIFICATION))
#define BOXES_NOTIFICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_NOTIFICATION, BoxesNotificationClass))

typedef struct _BoxesNotification BoxesNotification;
typedef struct _BoxesNotificationClass BoxesNotificationClass;

#define BOXES_TYPE_NOTIFICATIONBAR (boxes_notificationbar_get_type ())
#define BOXES_NOTIFICATIONBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbar))
#define BOXES_NOTIFICATIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbarClass))
#define BOXES_IS_NOTIFICATIONBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_NOTIFICATIONBAR))
#define BOXES_IS_NOTIFICATIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_NOTIFICATIONBAR))
#define BOXES_NOTIFICATIONBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbarClass))

typedef struct _BoxesNotificationbar BoxesNotificationbar;
typedef struct _BoxesNotificationbarClass BoxesNotificationbarClass;
typedef struct _BoxesMachineTryConnectDisplayData BoxesMachineTryConnectDisplayData;
typedef struct _BoxesMachineTrySaveData BoxesMachineTrySaveData;
typedef struct _BoxesDisplayPrivate BoxesDisplayPrivate;
enum  {
	BOXES_MACHINE_GOT_ERROR_SIGNAL,
	BOXES_MACHINE_LAST_SIGNAL
};
static guint boxes_machine_signals[BOXES_MACHINE_LAST_SIGNAL] = {0};
#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);

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 _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);
};

typedef enum  {
	BOXES_MACHINE_MACHINE_STATE_UNKNOWN,
	BOXES_MACHINE_MACHINE_STATE_STOPPED,
	BOXES_MACHINE_MACHINE_STATE_FORCE_STOPPED,
	BOXES_MACHINE_MACHINE_STATE_RUNNING,
	BOXES_MACHINE_MACHINE_STATE_PAUSED,
	BOXES_MACHINE_MACHINE_STATE_SAVED,
	BOXES_MACHINE_MACHINE_STATE_SLEEPING
} BoxesMachineMachineState;

struct _BoxesMachinePrivate {
	GdkPixbuf* _pixbuf;
	BoxesMachineThumbnailer* _thumbnailer;
	gchar* _info;
	gchar* _status;
	gboolean _can_delete;
	gboolean _under_construction;
	gulong show_id;
	gulong hide_id;
	gulong disconnected_id;
	gulong need_password_id;
	gulong need_username_id;
	gulong ui_state_id;
	gulong got_error_id;
	guint screenshot_id;
	gboolean updating_screenshot;
	gchar* username;
	gchar* password;
	guint autosave_timeout_id;
	GCancellable* _connecting_cancellable;
	GdkPixbuf* orig_pixbuf;
	BoxesMachineMachineState _state;
	BoxesAppWindow* _window;
	gboolean _deleted;
	BoxesDisplay* _display;
	gboolean saving;
	gint screenshot_counter;
	GBinding* name_status_bind;
	BoxesAuthNotification* auth_notification;
};

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;
	GtkStack* below_bin;
	GSettings* settings;
};

struct _BoxesAppWindowClass {
	GtkApplicationWindowClass parent_class;
};

struct _BoxesMachineSaveData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	gboolean _task_complete_;
	BoxesMachine* self;
	BoxesMachineMachineState _tmp0_;
	BoxesMachineMachineState _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	GError * _inner_error_;
};

struct _BoxesMachineSaveRealData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	gboolean _task_complete_;
	BoxesMachine* self;
};

struct _BoxesMachineTakeScreenshotData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	gboolean _task_complete_;
	BoxesMachine* self;
	GdkPixbuf* result;
	BoxesDisplay* _tmp0_;
	BoxesDisplay* _tmp1_;
	GdkPixbuf* _tmp2_;
	BoxesDisplay* _tmp3_;
	BoxesDisplay* _tmp4_;
	GdkPixbuf* _tmp5_;
	GdkPixbuf* _tmp6_;
	GError * _inner_error_;
};

struct _BoxesMachineUpdateScreenshotData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	gboolean _task_complete_;
	BoxesMachine* self;
	gboolean force_save;
	gboolean first_check;
	gboolean _tmp0_;
	GdkPixbuf* large_screenshot;
	GdkPixbuf* _tmp1_;
	GdkPixbuf* _tmp2_;
	GdkPixbuf* _tmp3_;
	gboolean _tmp4_;
	GdkPixbuf* _tmp5_;
	GdkPixbuf* _tmp6_;
	GdkPixbuf* _tmp7_;
	GError* _error_;
	GdkPixbuf* _tmp8_;
	gboolean _tmp9_;
	gboolean _tmp10_;
	gint _tmp11_;
	GdkPixbuf* _tmp12_;
	GError * _inner_error_;
};

struct _Block64Data {
	int _ref_count_;
	BoxesMachine* self;
	BoxesMachineConnectFlags flags;
	gpointer _async_data_;
};

typedef void (*BoxesNotificationOKFunc) (void* user_data);
typedef void (*BoxesNotificationDismissFunc) (void* user_data);
struct _BoxesMachineTryConnectDisplayData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	gboolean _task_complete_;
	BoxesMachine* self;
	BoxesMachineConnectFlags flags;
	Block64Data* _data64_;
	BoxesMachineConnectFlags _tmp0_;
	BoxesMachineConnectFlags _tmp1_;
	GError* e;
	gchar* message;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	BoxesNotification* notification;
	BoxesAppWindow* _tmp5_;
	BoxesAppWindow* _tmp6_;
	BoxesNotificationbar* _tmp7_;
	BoxesNotificationbar* _tmp8_;
	const gchar* _tmp9_;
	BoxesNotification* _tmp10_;
	BoxesNotification* _tmp11_;
	GError* _vala1_e;
	const gchar* _tmp12_;
	const gchar* _tmp13_;
	GError* _tmp14_;
	const gchar* _tmp15_;
	BoxesAppWindow* _tmp16_;
	BoxesAppWindow* _tmp17_;
	BoxesAppWindow* _tmp18_;
	BoxesAppWindow* _tmp19_;
	BoxesNotificationbar* _tmp20_;
	BoxesNotificationbar* _tmp21_;
	const gchar* _tmp22_;
	const gchar* _tmp23_;
	gchar* _tmp24_;
	gchar* _tmp25_;
	BoxesNotification* _tmp26_;
	BoxesNotification* _tmp27_;
	GError* _vala2_e;
	const gchar* _tmp28_;
	const gchar* _tmp29_;
	GError* _tmp30_;
	const gchar* _tmp31_;
	BoxesAppWindow* _tmp32_;
	BoxesAppWindow* _tmp33_;
	BoxesAppWindow* _tmp34_;
	BoxesAppWindow* _tmp35_;
	BoxesNotificationbar* _tmp36_;
	BoxesNotificationbar* _tmp37_;
	const gchar* _tmp38_;
	const gchar* _tmp39_;
	gchar* _tmp40_;
	gchar* _tmp41_;
	BoxesNotification* _tmp42_;
	BoxesNotification* _tmp43_;
	GError * _inner_error_;
};

typedef void (*BoxesAuthNotificationAuthFunc) (const gchar* username, const gchar* password, void* user_data);
struct _BoxesMachineTrySaveData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	gboolean _task_complete_;
	BoxesMachine* self;
	GError* _error_;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	GError* _tmp2_;
	const gchar* _tmp3_;
	GError * _inner_error_;
};

typedef gint (*BoxesDisplayOpenFDFunc) (void* user_data);
struct _BoxesDisplay {
	GObject parent_instance;
	BoxesDisplayPrivate * priv;
	gboolean connected;
	GHashTable* displays;
};

struct _BoxesDisplayClass {
	GObjectClass parent_class;
	GtkWidget* (*get_display) (BoxesDisplay* self, gint n);
	GdkPixbuf* (*get_pixbuf) (BoxesDisplay* self, gint n, GError** error);
	void (*set_enable_audio) (BoxesDisplay* self, gboolean enable);
	gboolean (*should_keep_alive) (BoxesDisplay* self);
	void (*connect_it) (BoxesDisplay* self, BoxesDisplayOpenFDFunc open_fd, void* open_fd_target, GDestroyNotify open_fd_target_destroy_notify, GError** error);
	void (*disconnect_it) (BoxesDisplay* self);
	void (*collect_logs) (BoxesDisplay* self, GString* builder);
	void (*send_keys) (BoxesDisplay* self, guint* keyvals, int keyvals_length1);
	GList* (*get_properties) (BoxesDisplay* self, BoxesPropertiesPage page);
	const gchar* (*get_protocol) (BoxesDisplay* self);
	gchar* (*get_uri) (BoxesDisplay* self);
};


static gpointer boxes_machine_parent_class = NULL;
static cairo_surface_t* boxes_machine_grid_surface;
static cairo_surface_t* boxes_machine_grid_surface = NULL;
extern BoxesApp* boxes_app_app;
static BoxesIPropertiesProviderIface * boxes_machine_boxes_iproperties_provider_parent_iface = NULL;

GType boxes_ui_state_get_type (void) G_GNUC_CONST;
GType boxes_ui_get_type (void) G_GNUC_CONST;
GType boxes_collection_item_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_get_type (void) G_GNUC_CONST;
GType boxes_machine_connect_flags_get_type (void) G_GNUC_CONST;
GType boxes_machine_thumbnailer_get_type (void) G_GNUC_CONST;
GType boxes_machine_machine_state_get_type (void) G_GNUC_CONST;
GType boxes_app_window_get_type (void) G_GNUC_CONST;
GType boxes_display_get_type (void) G_GNUC_CONST;
GType boxes_auth_notification_get_type (void) G_GNUC_CONST;
#define BOXES_MACHINE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_MACHINE, BoxesMachinePrivate))
#define BOXES_MACHINE_AUTOSAVE_TIMEOUT ((guint) 60)
#define BOXES_MACHINE_SCREENSHOT_WIDTH 180
#define BOXES_MACHINE_SCREENSHOT_HEIGHT 134
#define BOXES_MACHINE_CENTERED_EMBLEM_SIZE 32
#define BOXES_MACHINE_EMBLEM_SIZE 16
void boxes_machine_show_display (BoxesMachine* self);
BoxesAppWindow* boxes_machine_get_window (BoxesMachine* self);
BoxesUIState boxes_ui_get_ui_state (BoxesUI* self);
void boxes_ui_set_state (BoxesUI* self, BoxesUIState new_state);
BoxesDisplay* boxes_machine_get_display (BoxesMachine* self);
GtkWidget* boxes_display_get_display (BoxesDisplay* self, gint n);
void boxes_widget_remove (GtkWidget* widget);
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;
void boxes_display_page_show_display (BoxesDisplayPage* self, BoxesDisplay* display, GtkWidget* widget);
void boxes_display_page_replace_display (BoxesDisplayPage* self, BoxesDisplay* display, GtkWidget* widget);
BoxesMachine* boxes_machine_construct (GType object_type, BoxesCollectionSource* source, const gchar* name, const gchar* uuid);
BoxesCollectionItem* boxes_collection_item_construct (GType object_type);
void boxes_collection_item_set_name (BoxesCollectionItem* self, const gchar* value);
void boxes_machine_set_connecting_cancellable (BoxesMachine* self, GCancellable* value);
static void boxes_machine_ui_state_changed (BoxesMachine* self);
static void _boxes_machine_ui_state_changed_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
GType boxes_app_get_type (void) G_GNUC_CONST;
BoxesAppWindow* boxes_app_get_main_window (BoxesApp* self);
static void __lambda234_ (BoxesMachine* self);
void boxes_machine_set_screenshot_enable (BoxesMachine* self, gboolean enable);
static void ___lambda234__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
static void boxes_machine_create_display_config (BoxesMachine* self, const gchar* uuid);
BoxesMachineThumbnailer* boxes_machine_thumbnailer_new (BoxesMachine* machine, gint width, gint height, gint centred_emblem_size, gint emblem_size, GdkRGBA* border_color, GdkRGBA* background_color);
BoxesMachineThumbnailer* boxes_machine_thumbnailer_construct (GType object_type, BoxesMachine* machine, gint width, gint height, gint centred_emblem_size, gint emblem_size, GdkRGBA* border_color, GdkRGBA* background_color);
static void boxes_machine_set_thumbnailer (BoxesMachine* self, BoxesMachineThumbnailer* value);
void boxes_machine_load_screenshot (BoxesMachine* self);
BoxesMachineMachineState boxes_machine_get_state (BoxesMachine* self);
static gchar* boxes_machine_get_screenshot_filename (BoxesMachine* self, GError** error);
static void boxes_machine_set_screenshot (BoxesMachine* self, GdkPixbuf* large_screenshot, gboolean save);
static void boxes_machine_update_screenshot (BoxesMachine* self, gboolean force_save, gboolean first_check, GAsyncReadyCallback _callback_, gpointer _user_data_);
static void boxes_machine_update_screenshot_finish (BoxesMachine* self, GAsyncResult* _res_);
static gboolean ___lambda22_ (BoxesMachine* self);
static gboolean ____lambda22__gsource_func (gpointer self);
static void boxes_machine_save_data_free (gpointer _data);
void boxes_machine_save (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_machine_save_finish (BoxesMachine* self, GAsyncResult* _res_, GError** error);
static gboolean boxes_machine_save_co (BoxesMachineSaveData* _data_);
const gchar* boxes_collection_item_get_name (BoxesCollectionItem* self);
void boxes_machine_update_status (BoxesMachine* self);
void boxes_machine_save_real (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_machine_save_real_finish (BoxesMachine* self, GAsyncResult* _res_, GError** error);
static void boxes_machine_save_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
void boxes_machine_schedule_autosave (BoxesMachine* self);
gboolean boxes_machine_get_should_autosave (BoxesMachine* self);
static gboolean __lambda50_ (BoxesMachine* self);
static void boxes_machine_try_save (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
static void boxes_machine_try_save_finish (BoxesMachine* self, GAsyncResult* _res_);
static gboolean ___lambda50__gsource_func (gpointer self);
void boxes_machine_unschedule_autosave (BoxesMachine* self);
static void boxes_machine_real_save_real_data_free (gpointer _data);
static void boxes_machine_real_save_real (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean boxes_machine_real_save_real_co (BoxesMachineSaveRealData* _data_);
static void boxes_machine_real_take_screenshot_data_free (gpointer _data);
static void boxes_machine_real_take_screenshot (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_machine_take_screenshot (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
GdkPixbuf* boxes_machine_take_screenshot_finish (BoxesMachine* self, GAsyncResult* _res_, GError** error);
static gboolean boxes_machine_real_take_screenshot_co (BoxesMachineTakeScreenshotData* _data_);
GdkPixbuf* boxes_display_get_pixbuf (BoxesDisplay* self, gint n, GError** error);
GList* boxes_machine_get_properties (BoxesMachine* self, BoxesPropertiesPage page);
static GList* boxes_machine_real_get_properties (BoxesMachine* self, BoxesPropertiesPage page);
void boxes_machine_connect_display (BoxesMachine* self, BoxesMachineConnectFlags flags, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_machine_connect_display_finish (BoxesMachine* self, GAsyncResult* _res_, GError** error);
void boxes_machine_restart (BoxesMachine* self);
static void boxes_machine_real_restart (BoxesMachine* self);
void boxes_machine_clone (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_machine_clone_finish (BoxesMachine* self, GAsyncResult* _res_);
void boxes_machine_disconnect_display (BoxesMachine* self);
static void boxes_machine_real_disconnect_display (BoxesMachine* self);
GtkWidget* boxes_display_page_remove_display (BoxesDisplayPage* self);
gboolean boxes_display_should_keep_alive (BoxesDisplay* self);
void boxes_display_disconnect_it (BoxesDisplay* self);
void boxes_machine_set_display (BoxesMachine* self, BoxesDisplay* value);
void boxes_display_set_enable_audio (BoxesDisplay* self, gboolean enable);
void boxes_machine_set_window (BoxesMachine* self, BoxesAppWindow* value);
gchar* boxes_uuid_generate (void);
static void boxes_machine_real_update_status (BoxesMachine* self);
void boxes_machine_set_status (BoxesMachine* self, const gchar* value);
static void boxes_machine_save_pixbuf_as_screenshot (BoxesMachine* self, GdkPixbuf* pixbuf);
static gint boxes_machine_pixbuf_energy (BoxesMachine* self, GdkPixbuf* pixbuf);
static GdkPixbuf* boxes_machine_draw_vm (BoxesMachine* self, GdkPixbuf* pixbuf, gint width, gint height);
void boxes_machine_set_pixbuf (BoxesMachine* self, GdkPixbuf* value);
static GdkPixbuf* boxes_machine_draw_stopped_vm (gint width, gint height);
static void boxes_machine_update_screenshot_data_free (gpointer _data);
static gboolean boxes_machine_update_screenshot_co (BoxesMachineUpdateScreenshotData* _data_);
static void boxes_machine_update_screenshot_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
gboolean boxes_machine_get_is_running (BoxesMachine* self);
void boxes_machine_delete (BoxesMachine* self, gboolean by_user);
static void boxes_machine_real_delete (BoxesMachine* self, gboolean by_user);
static void boxes_machine_set_deleted (BoxesMachine* self, gboolean value);
void boxes_topbar_set_status (BoxesTopbar* self, const gchar* value);
static void boxes_machine_try_connect_display (BoxesMachine* self, BoxesMachineConnectFlags flags, GAsyncReadyCallback _callback_, gpointer _user_data_);
static void boxes_machine_try_connect_display_finish (BoxesMachine* self, GAsyncResult* _res_);
BoxesUIState boxes_ui_get_previous_ui_state (BoxesUI* self);
BoxesCollectionItem* boxes_app_window_get_current_item (BoxesAppWindow* self);
void boxes_auth_notification_dismiss (BoxesAuthNotification* self);
static void boxes_machine_try_connect_display_data_free (gpointer _data);
static gboolean boxes_machine_try_connect_display_co (BoxesMachineTryConnectDisplayData* _data_);
static Block64Data* block64_data_ref (Block64Data* _data64_);
static void block64_data_unref (void * _userdata_);
static void boxes_machine_try_connect_display_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
GType boxes_notification_get_type (void) G_GNUC_CONST;
GType boxes_notificationbar_get_type (void) G_GNUC_CONST;
BoxesNotificationbar* boxes_app_window_get_notificationbar (BoxesAppWindow* self);
BoxesNotification* boxes_notificationbar_display_for_action (BoxesNotificationbar* self, const gchar* message, const gchar* action_label, BoxesNotificationOKFunc action_func, void* action_func_target, GDestroyNotify action_func_target_destroy_notify, BoxesNotificationDismissFunc ignore_func, void* ignore_func_target, GDestroyNotify ignore_func_target_destroy_notify, gint timeout);
static void ___lambda229_ (Block64Data* _data64_);
static void ____lambda229__boxes_notification_ok_func (gpointer self);
#define BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT 6
static void ___lambda230_ (BoxesMachine* self);
static void ____lambda230__boxes_notification_dismissed (BoxesNotification* _sender, gpointer self);
BoxesNotification* boxes_notificationbar_display_error (BoxesNotificationbar* self, const gchar* message, gint timeout);
static void boxes_machine_handle_auth (BoxesMachine* self);
gboolean boxes_display_get_need_username (BoxesDisplay* self);
gboolean boxes_display_get_need_password (BoxesDisplay* self);
static void __lambda228_ (BoxesMachine* self, const gchar* username, const gchar* password);
static void ___lambda228__boxes_auth_notification_auth_func (const gchar* username, const gchar* password, gpointer self);
static void __lambda231_ (BoxesMachine* self);
static void ___lambda231__boxes_notification_dismiss_func (gpointer self);
BoxesAuthNotification* boxes_notificationbar_display_for_auth (BoxesNotificationbar* self, const gchar* auth_string, BoxesAuthNotificationAuthFunc auth_func, void* auth_func_target, GDestroyNotify auth_func_target_destroy_notify, BoxesNotificationDismissFunc dismiss_func, void* dismiss_func_target, GDestroyNotify dismiss_func_target_destroy_notify, gboolean need_username);
static gint boxes_machine_real_compare (BoxesCollectionItem* base, BoxesCollectionItem* other);
static void boxes_machine_try_save_data_free (gpointer _data);
static gboolean boxes_machine_try_save_co (BoxesMachineTrySaveData* _data_);
static void boxes_machine_try_save_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
GdkPixbuf* boxes_machine_get_pixbuf (BoxesMachine* self);
BoxesMachineThumbnailer* boxes_machine_get_thumbnailer (BoxesMachine* self);
const gchar* boxes_machine_get_info (BoxesMachine* self);
void boxes_machine_set_info (BoxesMachine* self, const gchar* value);
const gchar* boxes_machine_get_status (BoxesMachine* self);
gboolean boxes_machine_get_suspend_at_exit (BoxesMachine* self);
gboolean boxes_machine_get_can_save (BoxesMachine* self);
gboolean boxes_machine_get_can_restart (BoxesMachine* self);
gboolean boxes_machine_get_can_clone (BoxesMachine* self);
gboolean boxes_machine_get_can_delete (BoxesMachine* self);
void boxes_machine_set_can_delete (BoxesMachine* self, gboolean value);
gboolean boxes_machine_get_under_construction (BoxesMachine* self);
void boxes_machine_set_under_construction (BoxesMachine* self, gboolean value);
gboolean boxes_machine_get_is_connected (BoxesMachine* self);
gboolean boxes_machine_get_is_on (BoxesMachine* self);
gboolean boxes_machine_get_is_stopped (BoxesMachine* self);
gboolean boxes_machine_get_is_local (BoxesMachine* self);
GCancellable* boxes_machine_get_connecting_cancellable (BoxesMachine* self);
void boxes_machine_set_state (BoxesMachine* self, BoxesMachineMachineState value);
const gchar* boxes_machine_machine_state_to_string (BoxesMachineMachineState self);
gboolean boxes_machine_get_deleted (BoxesMachine* self);
static void _boxes_machine_display___lambda224_ (BoxesMachine* self, gint id);
static void __boxes_machine_display___lambda224__boxes_display_show (BoxesDisplay* _sender, gint display_id, gpointer self);
static void _boxes_machine_display___lambda225_ (BoxesMachine* self, gint id);
static void __boxes_machine_display___lambda225__boxes_display_hide (BoxesDisplay* _sender, gint display_id, gpointer self);
static void _boxes_machine_display___lambda226_ (BoxesMachine* self, const gchar* message);
static void __boxes_machine_display___lambda226__boxes_display_got_error (BoxesDisplay* _sender, const gchar* message, gpointer self);
static void _boxes_machine_display___lambda227_ (BoxesMachine* self, gboolean failed);
static void __boxes_machine_display___lambda227__boxes_display_disconnected (BoxesDisplay* _sender, gboolean connection_failed, gpointer self);
static void _boxes_machine_handle_auth_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
void boxes_display_set_username (BoxesDisplay* self, const gchar* value);
void boxes_display_set_password (BoxesDisplay* self, const gchar* value);
static void boxes_machine_finalize (GObject * obj);
static void _vala_boxes_machine_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_boxes_machine_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);

const GdkRGBA BOXES_MACHINE_FRAME_BORDER_COLOR = {0x3b / 255.0, 0x3c / 255.0, 0x38 / 255.0, 1.0};
const GdkRGBA BOXES_MACHINE_FRAME_BACKGROUND_COLOR = {0x2d / 255.0, 0x2d / 255.0, 0x2d / 255.0, 1.0};
static GRegex* _tmp_regex_0 = NULL;

GType boxes_machine_machine_state_get_type (void) {
	static volatile gsize boxes_machine_machine_state_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_machine_machine_state_type_id__volatile)) {
		static const GEnumValue values[] = {{BOXES_MACHINE_MACHINE_STATE_UNKNOWN, "BOXES_MACHINE_MACHINE_STATE_UNKNOWN", "unknown"}, {BOXES_MACHINE_MACHINE_STATE_STOPPED, "BOXES_MACHINE_MACHINE_STATE_STOPPED", "stopped"}, {BOXES_MACHINE_MACHINE_STATE_FORCE_STOPPED, "BOXES_MACHINE_MACHINE_STATE_FORCE_STOPPED", "force-stopped"}, {BOXES_MACHINE_MACHINE_STATE_RUNNING, "BOXES_MACHINE_MACHINE_STATE_RUNNING", "running"}, {BOXES_MACHINE_MACHINE_STATE_PAUSED, "BOXES_MACHINE_MACHINE_STATE_PAUSED", "paused"}, {BOXES_MACHINE_MACHINE_STATE_SAVED, "BOXES_MACHINE_MACHINE_STATE_SAVED", "saved"}, {BOXES_MACHINE_MACHINE_STATE_SLEEPING, "BOXES_MACHINE_MACHINE_STATE_SLEEPING", "sleeping"}, {0, NULL, NULL}};
		GType boxes_machine_machine_state_type_id;
		boxes_machine_machine_state_type_id = g_enum_register_static ("BoxesMachineMachineState", values);
		g_once_init_leave (&boxes_machine_machine_state_type_id__volatile, boxes_machine_machine_state_type_id);
	}
	return boxes_machine_machine_state_type_id__volatile;
}


GType boxes_machine_connect_flags_get_type (void) {
	static volatile gsize boxes_machine_connect_flags_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_machine_connect_flags_type_id__volatile)) {
		static const GFlagsValue values[] = {{BOXES_MACHINE_CONNECT_FLAGS_NONE, "BOXES_MACHINE_CONNECT_FLAGS_NONE", "none"}, {BOXES_MACHINE_CONNECT_FLAGS_IGNORE_SAVED_STATE, "BOXES_MACHINE_CONNECT_FLAGS_IGNORE_SAVED_STATE", "ignore-saved-state"}, {0, NULL, NULL}};
		GType boxes_machine_connect_flags_type_id;
		boxes_machine_connect_flags_type_id = g_flags_register_static ("BoxesMachineConnectFlags", values);
		g_once_init_leave (&boxes_machine_connect_flags_type_id__volatile, boxes_machine_connect_flags_type_id);
	}
	return boxes_machine_connect_flags_type_id__volatile;
}


void boxes_machine_show_display (BoxesMachine* self) {
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
	BoxesUIState _tmp2_;
	BoxesUIState _tmp3_;
#line 147 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 149 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = boxes_machine_get_window (self);
#line 149 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = _tmp0_;
#line 149 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = boxes_ui_get_ui_state ((BoxesUI*) _tmp1_);
#line 149 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = _tmp2_;
#line 149 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	switch (_tmp3_) {
#line 149 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_UI_STATE_CREDS:
#line 818 "machine.c"
		{
			BoxesAppWindow* _tmp4_;
			BoxesAppWindow* _tmp5_;
#line 151 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp4_ = boxes_machine_get_window (self);
#line 151 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp5_ = _tmp4_;
#line 151 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			boxes_ui_set_state ((BoxesUI*) _tmp5_, BOXES_UI_STATE_DISPLAY);
#line 152 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			boxes_machine_show_display (self);
#line 153 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			break;
#line 832 "machine.c"
		}
#line 149 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_UI_STATE_DISPLAY:
#line 836 "machine.c"
		{
			GtkWidget* widget = NULL;
			BoxesDisplay* _tmp6_;
			BoxesDisplay* _tmp7_;
			GtkWidget* _tmp8_;
			GtkWidget* _tmp9_;
			BoxesAppWindow* _tmp10_;
			BoxesAppWindow* _tmp11_;
			BoxesDisplayPage* _tmp12_;
			BoxesDisplay* _tmp13_;
			BoxesDisplay* _tmp14_;
			GtkWidget* _tmp15_;
			GtkWidget* _tmp16_;
#line 156 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp6_ = boxes_machine_get_display (self);
#line 156 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp7_ = _tmp6_;
#line 156 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp8_ = boxes_display_get_display (_tmp7_, 0);
#line 156 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			widget = _tmp8_;
#line 157 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp9_ = widget;
#line 157 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			boxes_widget_remove (_tmp9_);
#line 158 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp10_ = boxes_machine_get_window (self);
#line 158 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp11_ = _tmp10_;
#line 158 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp12_ = _tmp11_->display_page;
#line 158 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp13_ = boxes_machine_get_display (self);
#line 158 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp14_ = _tmp13_;
#line 158 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp15_ = widget;
#line 158 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			boxes_display_page_show_display (_tmp12_, _tmp14_, _tmp15_);
#line 159 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp16_ = widget;
#line 159 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			gtk_widget_grab_focus (_tmp16_);
#line 161 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_object_unref0 (widget);
#line 161 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			break;
#line 884 "machine.c"
		}
#line 149 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_UI_STATE_PROPERTIES:
#line 888 "machine.c"
		{
			GtkWidget* widget = NULL;
			BoxesDisplay* _tmp17_;
			BoxesDisplay* _tmp18_;
			GtkWidget* _tmp19_;
			GtkWidget* _tmp20_;
			BoxesAppWindow* _tmp21_;
			BoxesAppWindow* _tmp22_;
			BoxesDisplayPage* _tmp23_;
			BoxesDisplay* _tmp24_;
			BoxesDisplay* _tmp25_;
			GtkWidget* _tmp26_;
#line 164 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp17_ = boxes_machine_get_display (self);
#line 164 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp18_ = _tmp17_;
#line 164 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp19_ = boxes_display_get_display (_tmp18_, 0);
#line 164 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			widget = _tmp19_;
#line 165 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp20_ = widget;
#line 165 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			boxes_widget_remove (_tmp20_);
#line 166 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp21_ = boxes_machine_get_window (self);
#line 166 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp22_ = _tmp21_;
#line 166 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp23_ = _tmp22_->display_page;
#line 166 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp24_ = boxes_machine_get_display (self);
#line 166 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp25_ = _tmp24_;
#line 166 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp26_ = widget;
#line 166 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			boxes_display_page_replace_display (_tmp23_, _tmp25_, _tmp26_);
#line 167 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_object_unref0 (widget);
#line 167 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			break;
#line 931 "machine.c"
		}
		default:
#line 149 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 936 "machine.c"
	}
}


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


static void _boxes_machine_ui_state_changed_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 253 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_ui_state_changed ((BoxesMachine*) self);
#line 951 "machine.c"
}


static void __lambda234_ (BoxesMachine* self) {
	BoxesApp* _tmp0_;
	BoxesAppWindow* _tmp1_;
	BoxesAppWindow* _tmp2_;
	BoxesUIState _tmp3_;
	BoxesUIState _tmp4_;
#line 255 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = boxes_app_app;
#line 255 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = boxes_app_get_main_window (_tmp0_);
#line 255 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = _tmp1_;
#line 255 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = boxes_ui_get_ui_state ((BoxesUI*) _tmp2_);
#line 255 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = _tmp3_;
#line 255 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp4_ == BOXES_UI_STATE_DISPLAY) {
#line 256 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_screenshot_enable (self, FALSE);
#line 975 "machine.c"
	} else {
#line 258 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_screenshot_enable (self, TRUE);
#line 979 "machine.c"
	}
}


static void ___lambda234__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 254 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	__lambda234_ ((BoxesMachine*) self);
#line 987 "machine.c"
}


BoxesMachine* boxes_machine_construct (GType object_type, BoxesCollectionSource* source, const gchar* name, const gchar* uuid) {
	BoxesMachine * self = NULL;
	const gchar* _tmp0_;
	BoxesCollectionSource* _tmp1_;
	BoxesCollectionSource* _tmp2_;
	GCancellable* _tmp3_;
	GCancellable* _tmp4_;
	BoxesApp* _tmp5_;
	BoxesAppWindow* _tmp6_;
	BoxesAppWindow* _tmp7_;
	gulong _tmp8_;
	const gchar* _tmp9_;
	BoxesMachineThumbnailer* _tmp10_;
	BoxesMachineThumbnailer* _tmp11_;
#line 248 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (source != NULL, NULL);
#line 248 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (name != NULL, NULL);
#line 248 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self = (BoxesMachine*) boxes_collection_item_construct (object_type);
#line 249 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = name;
#line 249 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_collection_item_set_name ((BoxesCollectionItem*) self, _tmp0_);
#line 250 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = source;
#line 250 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 250 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->source);
#line 250 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->source = _tmp2_;
#line 251 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = g_cancellable_new ();
#line 251 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = _tmp3_;
#line 251 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_set_connecting_cancellable (self, _tmp4_);
#line 251 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (_tmp4_);
#line 253 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_signal_connect_object ((GObject*) self, "notify::ui-state", (GCallback) _boxes_machine_ui_state_changed_g_object_notify, self, 0);
#line 254 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp5_ = boxes_app_app;
#line 254 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp6_ = boxes_app_get_main_window (_tmp5_);
#line 254 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp7_ = _tmp6_;
#line 254 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp8_ = g_signal_connect_object ((GObject*) _tmp7_, "notify::ui-state", (GCallback) ___lambda234__g_object_notify, self, 0);
#line 254 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->ui_state_id = _tmp8_;
#line 261 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp9_ = uuid;
#line 261 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_create_display_config (self, _tmp9_);
#line 264 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp10_ = boxes_machine_thumbnailer_new (self, BOXES_MACHINE_SCREENSHOT_WIDTH, BOXES_MACHINE_SCREENSHOT_HEIGHT, BOXES_MACHINE_CENTERED_EMBLEM_SIZE, BOXES_MACHINE_EMBLEM_SIZE, &BOXES_MACHINE_FRAME_BORDER_COLOR, &BOXES_MACHINE_FRAME_BACKGROUND_COLOR);
#line 264 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp11_ = _tmp10_;
#line 264 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_set_thumbnailer (self, _tmp11_);
#line 264 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (_tmp11_);
#line 248 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return self;
#line 1057 "machine.c"
}


void boxes_machine_load_screenshot (BoxesMachine* self) {
	GError * _inner_error_ = NULL;
#line 270 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 1065 "machine.c"
	{
		GdkPixbuf* _tmp0_ = NULL;
		gboolean _tmp1_ = FALSE;
		BoxesMachineMachineState _tmp2_;
		BoxesMachineMachineState _tmp3_;
		GdkPixbuf* screenshot = NULL;
		GdkPixbuf* _tmp9_;
		GdkPixbuf* _tmp10_;
#line 272 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp2_ = boxes_machine_get_state (self);
#line 272 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp3_ = _tmp2_;
#line 272 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_tmp3_ != BOXES_MACHINE_MACHINE_STATE_STOPPED) {
#line 1080 "machine.c"
			BoxesMachineMachineState _tmp4_;
			BoxesMachineMachineState _tmp5_;
#line 272 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp4_ = boxes_machine_get_state (self);
#line 272 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp5_ = _tmp4_;
#line 272 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp1_ = _tmp5_ != BOXES_MACHINE_MACHINE_STATE_FORCE_STOPPED;
#line 1089 "machine.c"
		} else {
#line 272 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp1_ = FALSE;
#line 1093 "machine.c"
		}
#line 272 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_tmp1_) {
#line 1097 "machine.c"
			gchar* _tmp6_ = NULL;
			gchar* _tmp7_;
			GdkPixbuf* _tmp8_;
#line 273 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp7_ = boxes_machine_get_screenshot_filename (self, &_inner_error_);
#line 273 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp6_ = _tmp7_;
#line 273 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 273 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_g_object_unref0 (_tmp0_);
#line 1109 "machine.c"
				goto __catch50_g_error;
			}
#line 273 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp8_ = gdk_pixbuf_new_from_file (_tmp6_, &_inner_error_);
#line 273 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_object_unref0 (_tmp0_);
#line 273 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp0_ = _tmp8_;
#line 273 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 273 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_g_free0 (_tmp6_);
#line 273 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_g_object_unref0 (_tmp0_);
#line 1124 "machine.c"
				goto __catch50_g_error;
			}
#line 272 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_free0 (_tmp6_);
#line 1129 "machine.c"
		} else {
#line 274 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_object_unref0 (_tmp0_);
#line 274 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp0_ = NULL;
#line 1135 "machine.c"
		}
#line 272 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp9_ = _g_object_ref0 (_tmp0_);
#line 272 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		screenshot = _tmp9_;
#line 275 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp10_ = screenshot;
#line 275 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_screenshot (self, _tmp10_, FALSE);
#line 271 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (screenshot);
#line 271 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (_tmp0_);
#line 1149 "machine.c"
	}
	goto __finally50;
	__catch50_g_error:
	{
		GError* _error_ = NULL;
#line 271 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_error_ = _inner_error_;
#line 271 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_inner_error_ = NULL;
#line 271 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_error_free0 (_error_);
#line 1161 "machine.c"
	}
	__finally50:
#line 271 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 271 "/home/fborges/checkout/gnome-boxes/src/machine.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 271 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_clear_error (&_inner_error_);
#line 271 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return;
#line 1172 "machine.c"
	}
}


static gboolean ___lambda22_ (BoxesMachine* self) {
	gboolean result = FALSE;
#line 287 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_update_screenshot (self, FALSE, FALSE, NULL, NULL);
#line 289 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = TRUE;
#line 289 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 1185 "machine.c"
}


static gboolean ____lambda22__gsource_func (gpointer self) {
	gboolean result;
	result = ___lambda22_ ((BoxesMachine*) self);
#line 286 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 1194 "machine.c"
}


void boxes_machine_set_screenshot_enable (BoxesMachine* self, gboolean enable) {
	gboolean _tmp0_;
#line 280 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 281 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = enable;
#line 281 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp0_) {
#line 1206 "machine.c"
		guint _tmp1_;
		gint interval = 0;
		BoxesApp* _tmp2_;
		BoxesAppWindow* _tmp3_;
		BoxesAppWindow* _tmp4_;
		GSettings* _tmp5_;
		gint _tmp6_;
		gint _tmp7_;
		guint _tmp8_;
#line 282 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = self->priv->screenshot_id;
#line 282 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_tmp1_ != ((guint) 0)) {
#line 283 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			return;
#line 1222 "machine.c"
		}
#line 284 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_update_screenshot (self, FALSE, TRUE, NULL, NULL);
#line 285 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp2_ = boxes_app_app;
#line 285 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp3_ = boxes_app_get_main_window (_tmp2_);
#line 285 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = _tmp3_;
#line 285 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp5_ = _tmp4_->settings;
#line 285 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp6_ = g_settings_get_int (_tmp5_, "screenshot-interval");
#line 285 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		interval = _tmp6_;
#line 286 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp7_ = interval;
#line 286 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp8_ = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) _tmp7_, ____lambda22__gsource_func, g_object_ref (self), g_object_unref);
#line 286 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->screenshot_id = _tmp8_;
#line 1244 "machine.c"
	} else {
		guint _tmp9_;
#line 292 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp9_ = self->priv->screenshot_id;
#line 292 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_tmp9_ != ((guint) 0)) {
#line 1251 "machine.c"
			guint _tmp10_;
#line 293 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp10_ = self->priv->screenshot_id;
#line 293 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			g_source_remove (_tmp10_);
#line 1257 "machine.c"
		}
#line 294 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->screenshot_id = (guint) 0;
#line 1261 "machine.c"
	}
}


static gchar* boxes_machine_get_screenshot_filename (BoxesMachine* self, GError** error) {
	gchar* result = NULL;
	BoxesBoxConfig* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gboolean _tmp4_;
	BoxesBoxConfig* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	GError * _inner_error_ = NULL;
#line 298 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 299 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->config;
#line 299 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = boxes_box_config_get_uuid (_tmp0_);
#line 299 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = _tmp1_;
#line 299 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = _tmp2_;
#line 299 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = _tmp3_ == NULL;
#line 299 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_free0 (_tmp3_);
#line 299 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp4_) {
#line 1296 "machine.c"
		GError* _tmp5_;
#line 300 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp5_ = g_error_new_literal (BOXES_ERROR, BOXES_ERROR_INVALID, "no uuid, cannot build screenshot filename");
#line 300 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_inner_error_ = _tmp5_;
#line 300 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_inner_error_->domain == BOXES_ERROR) {
#line 300 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			g_propagate_error (error, _inner_error_);
#line 300 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			return NULL;
#line 1308 "machine.c"
		} else {
#line 300 "/home/fborges/checkout/gnome-boxes/src/machine.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 300 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			g_clear_error (&_inner_error_);
#line 300 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			return NULL;
#line 1316 "machine.c"
		}
	}
#line 302 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp6_ = self->config;
#line 302 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp7_ = boxes_box_config_get_uuid (_tmp6_);
#line 302 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp8_ = _tmp7_;
#line 302 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp9_ = _tmp8_;
#line 302 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp10_ = boxes_get_screenshot_filename (_tmp9_);
#line 302 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp11_ = _tmp10_;
#line 302 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_free0 (_tmp9_);
#line 302 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp11_;
#line 302 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 1337 "machine.c"
}


static void boxes_machine_save_data_free (gpointer _data) {
	BoxesMachineSaveData* _data_;
	_data_ = _data;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (_data_->self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_slice_free (BoxesMachineSaveData, _data_);
#line 1348 "machine.c"
}


void boxes_machine_save (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesMachineSaveData* _data_;
	BoxesMachine* _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = g_slice_new0 (BoxesMachineSaveData);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_callback_ == NULL) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_task_complete_ = TRUE;
#line 1363 "machine.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_machine_save_data_free);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->self = _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_save_co (_data_);
#line 1373 "machine.c"
}


void boxes_machine_save_finish (BoxesMachine* self, GAsyncResult* _res_, GError** error) {
	BoxesMachineSaveData* _data_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (NULL == _data_) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return;
#line 1385 "machine.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_task_complete_ = TRUE;
#line 1389 "machine.c"
}


static void boxes_machine_save_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	BoxesMachineSaveData* _data_;
#line 316 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = _user_data_;
#line 316 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_source_object_ = source_object;
#line 316 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_res_ = _res_;
#line 316 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_task_complete_ = TRUE;
#line 316 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_save_co (_data_);
#line 1405 "machine.c"
}


static gboolean boxes_machine_save_co (BoxesMachineSaveData* _data_) {
#line 306 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	switch (_data_->_state_) {
#line 306 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case 0:
#line 1414 "machine.c"
		goto _state_0;
#line 306 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case 1:
#line 1418 "machine.c"
		goto _state_1;
		default:
#line 306 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_assert_not_reached ();
#line 1423 "machine.c"
	}
	_state_0:
#line 307 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_tmp0_ = boxes_machine_get_state (_data_->self);
#line 307 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 307 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_data_->_tmp1_ == BOXES_MACHINE_MACHINE_STATE_SAVED) {
#line 308 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp2_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _data_->self);
#line 308 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp3_ = _data_->_tmp2_;
#line 308 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_debug ("machine.vala:308: Not saving '%s' since it's already in saved state.", _data_->_tmp3_);
#line 309 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 309 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_data_->_state_ != 0) {
#line 309 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			while (_data_->_task_complete_ != TRUE) {
#line 309 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 1446 "machine.c"
			}
		}
#line 309 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_unref (_data_->_async_result);
#line 309 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return FALSE;
#line 1453 "machine.c"
	}
#line 312 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->self->priv->saving = TRUE;
#line 313 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_update_status (_data_->self);
#line 1459 "machine.c"
	{
#line 316 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_state_ = 1;
#line 316 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_save_real (_data_->self, boxes_machine_save_ready, _data_);
#line 316 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return FALSE;
#line 1467 "machine.c"
		_state_1:
#line 316 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_save_real_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 316 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 1473 "machine.c"
			goto __finally51;
		}
	}
	__finally51:
	{
#line 318 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->self->priv->saving = FALSE;
#line 319 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_update_status (_data_->self);
#line 1483 "machine.c"
	}
#line 315 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 315 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_task_return_error (_data_->_async_result, _data_->_inner_error_);
#line 315 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_unref (_data_->_async_result);
#line 315 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return FALSE;
#line 1493 "machine.c"
	}
#line 306 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 306 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_data_->_state_ != 0) {
#line 306 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		while (_data_->_task_complete_ != TRUE) {
#line 306 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 1503 "machine.c"
		}
	}
#line 306 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_unref (_data_->_async_result);
#line 306 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return FALSE;
#line 1510 "machine.c"
}


static gboolean __lambda50_ (BoxesMachine* self) {
	gboolean result = FALSE;
#line 329 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_try_save (self, NULL, NULL);
#line 330 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->autosave_timeout_id = (guint) 0;
#line 332 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = FALSE;
#line 332 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 1524 "machine.c"
}


static gboolean ___lambda50__gsource_func (gpointer self) {
	gboolean result;
	result = __lambda50_ ((BoxesMachine*) self);
#line 328 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 1533 "machine.c"
}


void boxes_machine_schedule_autosave (BoxesMachine* self) {
	gboolean _tmp0_;
	gboolean _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	guint _tmp4_;
#line 323 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 324 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = boxes_machine_get_should_autosave (self);
#line 324 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = _tmp0_;
#line 324 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (!_tmp1_) {
#line 325 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return;
#line 1553 "machine.c"
	}
#line 327 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = boxes_collection_item_get_name ((BoxesCollectionItem*) self);
#line 327 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = _tmp2_;
#line 327 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_debug ("machine.vala:327: Scheduling autosave for '%s'", _tmp3_);
#line 328 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, BOXES_MACHINE_AUTOSAVE_TIMEOUT, ___lambda50__gsource_func, g_object_ref (self), g_object_unref);
#line 328 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->autosave_timeout_id = _tmp4_;
#line 1565 "machine.c"
}


void boxes_machine_unschedule_autosave (BoxesMachine* self) {
	guint _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	guint _tmp3_;
#line 336 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 337 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->autosave_timeout_id;
#line 337 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp0_ == ((guint) 0)) {
#line 338 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return;
#line 1582 "machine.c"
	}
#line 340 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = boxes_collection_item_get_name ((BoxesCollectionItem*) self);
#line 340 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = _tmp1_;
#line 340 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_debug ("machine.vala:340: Unscheduling autosave for '%s'", _tmp2_);
#line 341 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = self->priv->autosave_timeout_id;
#line 341 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_source_remove (_tmp3_);
#line 342 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->autosave_timeout_id = (guint) 0;
#line 1596 "machine.c"
}


static void boxes_machine_real_save_real_data_free (gpointer _data) {
	BoxesMachineSaveRealData* _data_;
	_data_ = _data;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (_data_->self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_slice_free (BoxesMachineSaveRealData, _data_);
#line 1607 "machine.c"
}


static void boxes_machine_real_save_real (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesMachineSaveRealData* _data_;
	BoxesMachine* _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = g_slice_new0 (BoxesMachineSaveRealData);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_callback_ == NULL) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_task_complete_ = TRUE;
#line 1622 "machine.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_machine_real_save_real_data_free);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->self = _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_real_save_real_co (_data_);
#line 1632 "machine.c"
}


static void boxes_machine_real_save_real_finish (BoxesMachine* self, GAsyncResult* _res_, GError** error) {
	BoxesMachineSaveRealData* _data_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (NULL == _data_) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return;
#line 1644 "machine.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_task_complete_ = TRUE;
#line 1648 "machine.c"
}


static gboolean boxes_machine_real_save_real_co (BoxesMachineSaveRealData* _data_) {
#line 345 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	switch (_data_->_state_) {
#line 345 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case 0:
#line 1657 "machine.c"
		goto _state_0;
		default:
#line 345 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_assert_not_reached ();
#line 1662 "machine.c"
	}
	_state_0:
#line 345 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 345 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_data_->_state_ != 0) {
#line 345 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		while (_data_->_task_complete_ != TRUE) {
#line 345 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 1673 "machine.c"
		}
	}
#line 345 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_unref (_data_->_async_result);
#line 345 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return FALSE;
#line 1680 "machine.c"
}


void boxes_machine_save_real (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_GET_CLASS (self)->save_real (self, _callback_, _user_data_);
#line 1687 "machine.c"
}


void boxes_machine_save_real_finish (BoxesMachine* self, GAsyncResult* _res_, GError** error) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_GET_CLASS (self)->save_real_finish (self, _res_, error);
#line 1694 "machine.c"
}


static void boxes_machine_real_take_screenshot_data_free (gpointer _data) {
	BoxesMachineTakeScreenshotData* _data_;
	_data_ = _data;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (_data_->result);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (_data_->self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_slice_free (BoxesMachineTakeScreenshotData, _data_);
#line 1707 "machine.c"
}


static void boxes_machine_real_take_screenshot (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesMachineTakeScreenshotData* _data_;
	BoxesMachine* _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = g_slice_new0 (BoxesMachineTakeScreenshotData);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_callback_ == NULL) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_task_complete_ = TRUE;
#line 1722 "machine.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_machine_real_take_screenshot_data_free);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->self = _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_real_take_screenshot_co (_data_);
#line 1732 "machine.c"
}


static GdkPixbuf* boxes_machine_real_take_screenshot_finish (BoxesMachine* self, GAsyncResult* _res_, GError** error) {
	GdkPixbuf* result;
	BoxesMachineTakeScreenshotData* _data_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (NULL == _data_) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return NULL;
#line 1745 "machine.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_task_complete_ = TRUE;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _data_->result;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->result = NULL;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 1755 "machine.c"
}


static gboolean boxes_machine_real_take_screenshot_co (BoxesMachineTakeScreenshotData* _data_) {
#line 354 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	switch (_data_->_state_) {
#line 354 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case 0:
#line 1764 "machine.c"
		goto _state_0;
		default:
#line 354 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_assert_not_reached ();
#line 1769 "machine.c"
	}
	_state_0:
#line 355 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_tmp0_ = boxes_machine_get_display (_data_->self);
#line 355 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_tmp1_ = _data_->_tmp0_;
#line 355 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_data_->_tmp1_ == NULL) {
#line 356 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->result = NULL;
#line 356 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 356 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_data_->_state_ != 0) {
#line 356 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			while (_data_->_task_complete_ != TRUE) {
#line 356 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 1788 "machine.c"
			}
		}
#line 356 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_unref (_data_->_async_result);
#line 356 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return FALSE;
#line 1795 "machine.c"
	}
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_tmp3_ = boxes_machine_get_display (_data_->self);
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_tmp4_ = _data_->_tmp3_;
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_tmp5_ = boxes_display_get_pixbuf (_data_->_tmp4_, 0, &_data_->_inner_error_);
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_tmp2_ = _data_->_tmp5_;
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_task_return_error (_data_->_async_result, _data_->_inner_error_);
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_unref (_data_->_async_result);
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return FALSE;
#line 1813 "machine.c"
	}
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_tmp6_ = _data_->_tmp2_;
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_tmp2_ = NULL;
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->result = _data_->_tmp6_;
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (_data_->_tmp2_);
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_data_->_state_ != 0) {
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		while (_data_->_task_complete_ != TRUE) {
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 1831 "machine.c"
		}
	}
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_unref (_data_->_async_result);
#line 358 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return FALSE;
#line 1838 "machine.c"
}


void boxes_machine_take_screenshot (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_GET_CLASS (self)->take_screenshot (self, _callback_, _user_data_);
#line 1845 "machine.c"
}


GdkPixbuf* boxes_machine_take_screenshot_finish (BoxesMachine* self, GAsyncResult* _res_, GError** error) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return BOXES_MACHINE_GET_CLASS (self)->take_screenshot_finish (self, _res_, error);
#line 1852 "machine.c"
}


static GList* boxes_machine_real_get_properties (BoxesMachine* self, BoxesPropertiesPage page) {
#line 361 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_critical ("Type `%s' does not implement abstract method `boxes_machine_get_properties'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 361 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return NULL;
#line 1861 "machine.c"
}


GList* boxes_machine_get_properties (BoxesMachine* self, BoxesPropertiesPage page) {
#line 361 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 361 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return BOXES_MACHINE_GET_CLASS (self)->get_properties (self, page);
#line 1870 "machine.c"
}


void boxes_machine_connect_display (BoxesMachine* self, BoxesMachineConnectFlags flags, GAsyncReadyCallback _callback_, gpointer _user_data_) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_GET_CLASS (self)->connect_display (self, flags, _callback_, _user_data_);
#line 1877 "machine.c"
}


void boxes_machine_connect_display_finish (BoxesMachine* self, GAsyncResult* _res_, GError** error) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_GET_CLASS (self)->connect_display_finish (self, _res_, error);
#line 1884 "machine.c"
}


static void boxes_machine_real_restart (BoxesMachine* self) {
#line 364 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_critical ("Type `%s' does not implement abstract method `boxes_machine_restart'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 364 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return;
#line 1893 "machine.c"
}


void boxes_machine_restart (BoxesMachine* self) {
#line 364 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 364 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_GET_CLASS (self)->restart (self);
#line 1902 "machine.c"
}


void boxes_machine_clone (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_GET_CLASS (self)->clone (self, _callback_, _user_data_);
#line 1909 "machine.c"
}


void boxes_machine_clone_finish (BoxesMachine* self, GAsyncResult* _res_) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_GET_CLASS (self)->clone_finish (self, _res_);
#line 1916 "machine.c"
}


static void boxes_machine_real_disconnect_display (BoxesMachine* self) {
	BoxesDisplay* _tmp0_;
	BoxesDisplay* _tmp1_;
	gboolean _tmp2_ = FALSE;
	BoxesMachineMachineState _tmp3_;
	BoxesMachineMachineState _tmp4_;
	BoxesAppWindow* _tmp14_;
	BoxesAppWindow* _tmp15_;
	BoxesDisplayPage* _tmp16_;
	GtkWidget* _tmp17_;
	GtkWidget* _tmp18_;
	BoxesDisplay* _tmp19_;
	BoxesDisplay* _tmp20_;
	gboolean _tmp21_;
	GError * _inner_error_ = NULL;
#line 368 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = boxes_machine_get_display (self);
#line 368 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = _tmp0_;
#line 368 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp1_ == NULL) {
#line 369 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return;
#line 1943 "machine.c"
	}
#line 371 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = boxes_machine_get_state (self);
#line 371 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = _tmp3_;
#line 371 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp4_ != BOXES_MACHINE_MACHINE_STATE_STOPPED) {
#line 1951 "machine.c"
		BoxesMachineMachineState _tmp5_;
		BoxesMachineMachineState _tmp6_;
#line 371 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp5_ = boxes_machine_get_state (self);
#line 371 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp6_ = _tmp5_;
#line 371 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp2_ = _tmp6_ != BOXES_MACHINE_MACHINE_STATE_FORCE_STOPPED;
#line 1960 "machine.c"
	} else {
#line 371 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp2_ = FALSE;
#line 1964 "machine.c"
	}
#line 371 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp2_) {
#line 1968 "machine.c"
		{
			GdkPixbuf* pixbuf = NULL;
			BoxesDisplay* _tmp7_;
			BoxesDisplay* _tmp8_;
			GdkPixbuf* _tmp9_;
			GdkPixbuf* _tmp10_;
#line 373 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp7_ = boxes_machine_get_display (self);
#line 373 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp8_ = _tmp7_;
#line 373 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp9_ = boxes_display_get_pixbuf (_tmp8_, 0, &_inner_error_);
#line 373 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			pixbuf = _tmp9_;
#line 373 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1985 "machine.c"
				goto __catch52_g_error;
			}
#line 374 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp10_ = pixbuf;
#line 374 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			if (_tmp10_ != NULL) {
#line 1992 "machine.c"
				GdkPixbuf* _tmp11_;
#line 375 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp11_ = pixbuf;
#line 375 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				boxes_machine_set_screenshot (self, _tmp11_, TRUE);
#line 1998 "machine.c"
			}
#line 372 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_object_unref0 (pixbuf);
#line 2002 "machine.c"
		}
		goto __finally52;
		__catch52_g_error:
		{
			GError* _error_ = NULL;
			GError* _tmp12_;
			const gchar* _tmp13_;
#line 372 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_error_ = _inner_error_;
#line 372 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_inner_error_ = NULL;
#line 377 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp12_ = _error_;
#line 377 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp13_ = _tmp12_->message;
#line 377 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			g_warning ("machine.vala:377: %s", _tmp13_);
#line 372 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_error_free0 (_error_);
#line 2022 "machine.c"
		}
		__finally52:
#line 372 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 372 "/home/fborges/checkout/gnome-boxes/src/machine.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 372 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			g_clear_error (&_inner_error_);
#line 372 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			return;
#line 2033 "machine.c"
		}
	}
#line 381 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp14_ = boxes_machine_get_window (self);
#line 381 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp15_ = _tmp14_;
#line 381 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp16_ = _tmp15_->display_page;
#line 381 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp17_ = boxes_display_page_remove_display (_tmp16_);
#line 381 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp18_ = _tmp17_;
#line 381 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (_tmp18_);
#line 382 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp19_ = boxes_machine_get_display (self);
#line 382 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp20_ = _tmp19_;
#line 382 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp21_ = boxes_display_should_keep_alive (_tmp20_);
#line 382 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (!_tmp21_) {
#line 2056 "machine.c"
		BoxesDisplay* _tmp22_;
		BoxesDisplay* _tmp23_;
#line 383 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp22_ = boxes_machine_get_display (self);
#line 383 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp23_ = _tmp22_;
#line 383 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_display_disconnect_it (_tmp23_);
#line 384 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_display (self, NULL);
#line 2067 "machine.c"
	} else {
		BoxesDisplay* _tmp24_;
		BoxesDisplay* _tmp25_;
#line 386 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp24_ = boxes_machine_get_display (self);
#line 386 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp25_ = _tmp24_;
#line 386 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_display_set_enable_audio (_tmp25_, FALSE);
#line 2077 "machine.c"
	}
#line 389 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_set_window (self, NULL);
#line 2081 "machine.c"
}


void boxes_machine_disconnect_display (BoxesMachine* self) {
#line 367 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 367 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_GET_CLASS (self)->disconnect_display (self);
#line 2090 "machine.c"
}


static void boxes_machine_create_display_config (BoxesMachine* self, const gchar* uuid) {
	BoxesBoxConfig* _tmp0_;
	gchar* group = NULL;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	BoxesCollectionSource* _tmp8_;
	const gchar* _tmp9_;
	BoxesBoxConfig* _tmp10_;
	BoxesBoxConfig* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	const gchar* _tmp15_;
	const gchar* _tmp16_;
	gboolean _tmp17_;
	gboolean _tmp21_ = FALSE;
	const gchar* _tmp22_;
	BoxesBoxConfig* _tmp30_;
	gchar* _tmp31_;
	gchar* _tmp32_;
	gchar* _tmp33_;
	gboolean _tmp34_;
	BoxesBoxConfig* _tmp38_;
	BoxesBoxConfig* _tmp39_;
#line 392 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 392 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->config;
#line 392 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_vala_return_if_fail (_tmp0_ == NULL, "this.config == null");
#line 396 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = g_strdup ("display");
#line 396 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	group = _tmp1_;
#line 397 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = uuid;
#line 397 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp2_ != NULL) {
#line 2132 "machine.c"
		const gchar* _tmp3_;
		const gchar* _tmp4_;
		gchar* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
#line 398 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp3_ = group;
#line 398 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = uuid;
#line 398 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp5_ = g_strconcat (" ", _tmp4_, NULL);
#line 398 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp6_ = _tmp5_;
#line 398 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp7_ = g_strconcat (_tmp3_, _tmp6_, NULL);
#line 398 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_free0 (group);
#line 398 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		group = _tmp7_;
#line 398 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_free0 (_tmp6_);
#line 2154 "machine.c"
	}
#line 400 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp8_ = self->source;
#line 400 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp9_ = group;
#line 400 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp10_ = boxes_box_config_new_with_group (_tmp8_, _tmp9_);
#line 400 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->config);
#line 400 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->config = _tmp10_;
#line 401 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp11_ = self->config;
#line 401 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp12_ = boxes_box_config_get_last_seen_name (_tmp11_);
#line 401 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp13_ = _tmp12_;
#line 401 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp14_ = _tmp13_;
#line 401 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp15_ = boxes_collection_item_get_name ((BoxesCollectionItem*) self);
#line 401 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp16_ = _tmp15_;
#line 401 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp17_ = g_strcmp0 (_tmp14_, _tmp16_) != 0;
#line 401 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_free0 (_tmp14_);
#line 401 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp17_) {
#line 2184 "machine.c"
		BoxesBoxConfig* _tmp18_;
		const gchar* _tmp19_;
		const gchar* _tmp20_;
#line 402 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp18_ = self->config;
#line 402 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp19_ = boxes_collection_item_get_name ((BoxesCollectionItem*) self);
#line 402 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp20_ = _tmp19_;
#line 402 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_box_config_set_last_seen_name (_tmp18_, _tmp20_);
#line 2196 "machine.c"
	}
#line 404 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp22_ = uuid;
#line 404 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp22_ != NULL) {
#line 2202 "machine.c"
		BoxesBoxConfig* _tmp23_;
		gchar* _tmp24_;
		gchar* _tmp25_;
		gchar* _tmp26_;
		const gchar* _tmp27_;
#line 405 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp23_ = self->config;
#line 405 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp24_ = boxes_box_config_get_uuid (_tmp23_);
#line 405 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp25_ = _tmp24_;
#line 405 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp26_ = _tmp25_;
#line 405 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp27_ = uuid;
#line 405 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp21_ = g_strcmp0 (_tmp26_, _tmp27_) != 0;
#line 405 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_free0 (_tmp26_);
#line 2222 "machine.c"
	} else {
#line 404 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp21_ = FALSE;
#line 2226 "machine.c"
	}
#line 404 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp21_) {
#line 2230 "machine.c"
		BoxesBoxConfig* _tmp28_;
		const gchar* _tmp29_;
#line 406 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp28_ = self->config;
#line 406 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp29_ = uuid;
#line 406 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_box_config_set_uuid (_tmp28_, _tmp29_);
#line 2239 "machine.c"
	}
#line 408 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp30_ = self->config;
#line 408 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp31_ = boxes_box_config_get_uuid (_tmp30_);
#line 408 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp32_ = _tmp31_;
#line 408 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp33_ = _tmp32_;
#line 408 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp34_ = _tmp33_ == NULL;
#line 408 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_free0 (_tmp33_);
#line 408 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp34_) {
#line 2255 "machine.c"
		BoxesBoxConfig* _tmp35_;
		gchar* _tmp36_;
		gchar* _tmp37_;
#line 409 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp35_ = self->config;
#line 409 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp36_ = boxes_uuid_generate ();
#line 409 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp37_ = _tmp36_;
#line 409 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_box_config_set_uuid (_tmp35_, _tmp37_);
#line 409 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_free0 (_tmp37_);
#line 2269 "machine.c"
	}
#line 411 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp38_ = self->config;
#line 411 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_iconfig_save ((BoxesIConfig*) _tmp38_);
#line 392 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_free0 (group);
#line 392 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp39_ = self->config;
#line 392 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_vala_warn_if_fail (_tmp39_ != NULL, "this.config != null");
#line 2281 "machine.c"
}


static void boxes_machine_real_update_status (BoxesMachine* self) {
	gboolean _tmp0_;
#line 415 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->saving;
#line 415 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp0_) {
#line 416 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_status (self, _ ("Saving…"));
#line 2293 "machine.c"
	} else {
#line 418 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_status (self, NULL);
#line 2297 "machine.c"
	}
}


void boxes_machine_update_status (BoxesMachine* self) {
#line 414 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 414 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_GET_CLASS (self)->update_status (self);
#line 2307 "machine.c"
}


static void boxes_machine_save_pixbuf_as_screenshot (BoxesMachine* self, GdkPixbuf* pixbuf) {
	GError * _inner_error_ = NULL;
#line 421 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 2315 "machine.c"
	{
		gchar* _tmp0_ = NULL;
		gchar* _tmp1_;
		GdkPixbuf* _tmp2_;
#line 423 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = boxes_machine_get_screenshot_filename (self, &_inner_error_);
#line 423 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = _tmp1_;
#line 423 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2326 "machine.c"
			goto __catch53_g_error;
		}
#line 423 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp2_ = pixbuf;
#line 423 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		gdk_pixbuf_save (_tmp2_, _tmp0_, "png", &_inner_error_, NULL);
#line 423 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 423 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_free0 (_tmp0_);
#line 2337 "machine.c"
			goto __catch53_g_error;
		}
#line 422 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_free0 (_tmp0_);
#line 2342 "machine.c"
	}
	goto __finally53;
	__catch53_g_error:
	{
		GError* _error_ = NULL;
		GError* _tmp3_;
		const gchar* _tmp4_;
#line 422 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_error_ = _inner_error_;
#line 422 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_inner_error_ = NULL;
#line 425 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp3_ = _error_;
#line 425 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = _tmp3_->message;
#line 425 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_warning ("machine.vala:425: %s", _tmp4_);
#line 422 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_error_free0 (_error_);
#line 2362 "machine.c"
	}
	__finally53:
#line 422 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 422 "/home/fborges/checkout/gnome-boxes/src/machine.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 422 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_clear_error (&_inner_error_);
#line 422 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return;
#line 2373 "machine.c"
	}
}


static gint boxes_machine_pixbuf_energy (BoxesMachine* self, GdkPixbuf* pixbuf) {
	gint result = 0;
	guint8* pixels = NULL;
	GdkPixbuf* _tmp0_;
	guint8* _tmp1_;
	gint pixels_length1;
	gint _pixels_size_;
	gint w = 0;
	GdkPixbuf* _tmp2_;
	gint _tmp3_;
	gint h = 0;
	GdkPixbuf* _tmp4_;
	gint _tmp5_;
	gint rowstride = 0;
	GdkPixbuf* _tmp6_;
	gint _tmp7_;
	gint n_channels = 0;
	GdkPixbuf* _tmp8_;
	gint _tmp9_;
	gint energy = 0;
	gint row_start = 0;
	gint _tmp40_;
	gint _tmp41_;
#line 431 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 431 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (pixbuf != NULL, 0);
#line 432 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = pixbuf;
#line 432 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = gdk_pixbuf_get_pixels (_tmp0_);
#line 432 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	pixels = _tmp1_;
#line 432 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	pixels_length1 = -1;
#line 432 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_pixels_size_ = pixels_length1;
#line 433 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = pixbuf;
#line 433 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = gdk_pixbuf_get_width (_tmp2_);
#line 433 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	w = _tmp3_;
#line 434 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = pixbuf;
#line 434 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp5_ = gdk_pixbuf_get_height (_tmp4_);
#line 434 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	h = _tmp5_;
#line 435 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp6_ = pixbuf;
#line 435 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp7_ = gdk_pixbuf_get_rowstride (_tmp6_);
#line 435 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	rowstride = _tmp7_;
#line 436 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp8_ = pixbuf;
#line 436 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp9_ = gdk_pixbuf_get_n_channels (_tmp8_);
#line 436 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	n_channels = _tmp9_;
#line 438 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	energy = 0;
#line 439 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	row_start = 0;
#line 2443 "machine.c"
	{
		gint y = 0;
#line 440 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		y = 0;
#line 2448 "machine.c"
		{
			gboolean _tmp10_ = FALSE;
#line 440 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp10_ = TRUE;
#line 440 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			while (TRUE) {
#line 2455 "machine.c"
				gint _tmp12_;
				gint _tmp13_;
				gint row_energy = 0;
				gint i = 0;
				gint _tmp14_;
				gint _tmp35_;
				gint _tmp36_;
				gint _tmp37_;
				gint _tmp38_;
				gint _tmp39_;
#line 440 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				if (!_tmp10_) {
#line 2468 "machine.c"
					gint _tmp11_;
#line 440 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
					_tmp11_ = y;
#line 440 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
					y = _tmp11_ + 1;
#line 2474 "machine.c"
				}
#line 440 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp10_ = FALSE;
#line 440 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp12_ = y;
#line 440 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp13_ = h;
#line 440 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				if (!(_tmp12_ < _tmp13_)) {
#line 440 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
					break;
#line 2486 "machine.c"
				}
#line 441 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				row_energy = 0;
#line 442 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp14_ = row_start;
#line 442 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				i = _tmp14_;
#line 2494 "machine.c"
				{
					gint x = 0;
#line 443 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
					x = 0;
#line 2499 "machine.c"
					{
						gboolean _tmp15_ = FALSE;
#line 443 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
						_tmp15_ = TRUE;
#line 443 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
						while (TRUE) {
#line 2506 "machine.c"
							gint _tmp17_;
							gint _tmp18_;
							gint max = 0;
							guint8* _tmp19_;
							gint _tmp19__length1;
							gint _tmp20_;
							guint8 _tmp21_;
							guint8* _tmp22_;
							gint _tmp22__length1;
							gint _tmp23_;
							guint8 _tmp24_;
							gint _tmp25_;
							guint8* _tmp26_;
							gint _tmp26__length1;
							gint _tmp27_;
							guint8 _tmp28_;
							gint _tmp29_;
							gint _tmp30_;
							gint _tmp31_;
							gint _tmp32_;
							gint _tmp33_;
							gint _tmp34_;
#line 443 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							if (!_tmp15_) {
#line 2531 "machine.c"
								gint _tmp16_;
#line 443 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
								_tmp16_ = x;
#line 443 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
								x = _tmp16_ + 1;
#line 2537 "machine.c"
							}
#line 443 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp15_ = FALSE;
#line 443 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp17_ = x;
#line 443 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp18_ = w;
#line 443 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							if (!(_tmp17_ < _tmp18_)) {
#line 443 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
								break;
#line 2549 "machine.c"
							}
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp19_ = pixels;
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp19__length1 = pixels_length1;
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp20_ = i;
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp21_ = _tmp19_[_tmp20_ + 0];
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp22_ = pixels;
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp22__length1 = pixels_length1;
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp23_ = i;
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp24_ = _tmp22_[_tmp23_ + 1];
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp25_ = MAX ((gint) _tmp21_, (gint) _tmp24_);
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp26_ = pixels;
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp26__length1 = pixels_length1;
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp27_ = i;
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp28_ = _tmp26_[_tmp27_ + 2];
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp29_ = MAX (_tmp25_, (gint) _tmp28_);
#line 444 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							max = _tmp29_;
#line 445 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp30_ = row_energy;
#line 445 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp31_ = max;
#line 445 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp32_ = max;
#line 445 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							row_energy = _tmp30_ + (_tmp31_ * _tmp32_);
#line 446 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp33_ = i;
#line 446 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							_tmp34_ = n_channels;
#line 446 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
							i = _tmp33_ + _tmp34_;
#line 2595 "machine.c"
						}
					}
				}
#line 448 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp35_ = energy;
#line 448 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp36_ = row_energy;
#line 448 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp37_ = w;
#line 448 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				energy = _tmp35_ + (_tmp36_ / _tmp37_);
#line 449 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp38_ = row_start;
#line 449 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp39_ = rowstride;
#line 449 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				row_start = _tmp38_ + _tmp39_;
#line 2613 "machine.c"
			}
		}
	}
#line 451 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp40_ = energy;
#line 451 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp41_ = h;
#line 451 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp40_ / _tmp41_;
#line 451 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 2625 "machine.c"
}


static void boxes_machine_set_screenshot (BoxesMachine* self, GdkPixbuf* large_screenshot, gboolean save) {
	GdkPixbuf* _tmp0_;
#line 454 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 455 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = large_screenshot;
#line 455 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp0_ != NULL) {
#line 2637 "machine.c"
		gint pw = 0;
		GdkPixbuf* _tmp1_;
		gint _tmp2_;
		gint ph = 0;
		GdkPixbuf* _tmp3_;
		gint _tmp4_;
		gdouble s = 0.0;
		gint _tmp5_;
		gint _tmp6_;
		gdouble _tmp7_;
		gint w = 0;
		gint _tmp8_;
		gdouble _tmp9_;
		gint h = 0;
		gint _tmp10_;
		gdouble _tmp11_;
		GdkPixbuf* small_screenshot = NULL;
		GdkPixbuf* _tmp12_;
		gboolean _tmp13_;
		gboolean _tmp14_;
		gint _tmp15_;
		gint _tmp16_;
		GdkPixbuf* _tmp17_;
		GdkPixbuf* _tmp18_;
		GdkPixbuf* _tmp19_;
		gint _tmp20_;
		gint _tmp21_;
		gdouble _tmp22_;
		gdouble _tmp23_;
		GdkPixbuf* _tmp24_;
		gint _tmp25_;
		GdkPixbuf* _tmp26_;
		GdkPixbuf* _tmp27_;
		GdkPixbuf* _tmp28_;
		GdkPixbuf* _tmp29_;
		GdkPixbuf* _tmp30_;
		gboolean _tmp31_;
#line 456 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = large_screenshot;
#line 456 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp2_ = gdk_pixbuf_get_width (_tmp1_);
#line 456 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		pw = _tmp2_;
#line 457 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp3_ = large_screenshot;
#line 457 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = gdk_pixbuf_get_height (_tmp3_);
#line 457 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		ph = _tmp4_;
#line 458 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp5_ = pw;
#line 458 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp6_ = ph;
#line 458 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp7_ = MIN (((gdouble) BOXES_MACHINE_SCREENSHOT_WIDTH) / _tmp5_, ((gdouble) BOXES_MACHINE_SCREENSHOT_HEIGHT) / _tmp6_);
#line 458 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		s = _tmp7_;
#line 459 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp8_ = pw;
#line 459 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp9_ = s;
#line 459 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		w = (gint) (_tmp8_ * _tmp9_);
#line 460 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp10_ = ph;
#line 460 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp11_ = s;
#line 460 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		h = (gint) (_tmp10_ * _tmp11_);
#line 462 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp12_ = large_screenshot;
#line 462 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp13_ = gdk_pixbuf_get_has_alpha (_tmp12_);
#line 462 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp14_ = _tmp13_;
#line 462 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp15_ = w;
#line 462 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp16_ = h;
#line 462 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp17_ = gdk_pixbuf_new (GDK_COLORSPACE_RGB, _tmp14_, 8, _tmp15_, _tmp16_);
#line 462 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		small_screenshot = _tmp17_;
#line 463 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp18_ = large_screenshot;
#line 463 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp19_ = small_screenshot;
#line 463 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp20_ = w;
#line 463 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp21_ = h;
#line 463 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp22_ = s;
#line 463 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp23_ = s;
#line 463 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		gdk_pixbuf_scale (_tmp18_, _tmp19_, 0, 0, _tmp20_, _tmp21_, (gdouble) 0, (gdouble) 0, _tmp22_, _tmp23_, GDK_INTERP_HYPER);
#line 473 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp24_ = small_screenshot;
#line 473 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp25_ = boxes_machine_pixbuf_energy (self, _tmp24_);
#line 473 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_tmp25_ < 50) {
#line 474 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_object_unref0 (small_screenshot);
#line 474 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			return;
#line 2745 "machine.c"
		}
#line 476 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp26_ = small_screenshot;
#line 476 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp27_ = _g_object_ref0 (_tmp26_);
#line 476 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (self->priv->orig_pixbuf);
#line 476 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->orig_pixbuf = _tmp27_;
#line 477 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp28_ = small_screenshot;
#line 477 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp29_ = boxes_machine_draw_vm (self, _tmp28_, BOXES_MACHINE_SCREENSHOT_WIDTH, BOXES_MACHINE_SCREENSHOT_HEIGHT);
#line 477 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp30_ = _tmp29_;
#line 477 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_pixbuf (self, _tmp30_);
#line 477 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (_tmp30_);
#line 478 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp31_ = save;
#line 478 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_tmp31_) {
#line 2769 "machine.c"
			GdkPixbuf* _tmp32_;
#line 479 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp32_ = small_screenshot;
#line 479 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			boxes_machine_save_pixbuf_as_screenshot (self, _tmp32_);
#line 2775 "machine.c"
		}
#line 455 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (small_screenshot);
#line 2779 "machine.c"
	} else {
		GdkPixbuf* _tmp33_;
		GdkPixbuf* _tmp34_;
#line 482 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (self->priv->orig_pixbuf);
#line 482 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->orig_pixbuf = NULL;
#line 483 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp33_ = boxes_machine_draw_stopped_vm (BOXES_MACHINE_SCREENSHOT_WIDTH, BOXES_MACHINE_SCREENSHOT_HEIGHT);
#line 483 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp34_ = _tmp33_;
#line 483 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_pixbuf (self, _tmp34_);
#line 483 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (_tmp34_);
#line 2795 "machine.c"
	}
}


static void boxes_machine_update_screenshot_data_free (gpointer _data) {
	BoxesMachineUpdateScreenshotData* _data_;
	_data_ = _data;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (_data_->self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_slice_free (BoxesMachineUpdateScreenshotData, _data_);
#line 2807 "machine.c"
}


static void boxes_machine_update_screenshot (BoxesMachine* self, gboolean force_save, gboolean first_check, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesMachineUpdateScreenshotData* _data_;
	BoxesMachine* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = g_slice_new0 (BoxesMachineUpdateScreenshotData);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_callback_ == NULL) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_task_complete_ = TRUE;
#line 2824 "machine.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_machine_update_screenshot_data_free);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->self = _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = force_save;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->force_save = _tmp1_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = first_check;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->first_check = _tmp2_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_update_screenshot_co (_data_);
#line 2842 "machine.c"
}


static void boxes_machine_update_screenshot_finish (BoxesMachine* self, GAsyncResult* _res_) {
	BoxesMachineUpdateScreenshotData* _data_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_task_complete_ = TRUE;
#line 2852 "machine.c"
}


static void boxes_machine_update_screenshot_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	BoxesMachineUpdateScreenshotData* _data_;
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = _user_data_;
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_source_object_ = source_object;
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_res_ = _res_;
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_task_complete_ = TRUE;
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_update_screenshot_co (_data_);
#line 2868 "machine.c"
}


static gboolean boxes_machine_update_screenshot_co (BoxesMachineUpdateScreenshotData* _data_) {
#line 488 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	switch (_data_->_state_) {
#line 488 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case 0:
#line 2877 "machine.c"
		goto _state_0;
#line 488 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case 1:
#line 2881 "machine.c"
		goto _state_1;
#line 488 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case 2:
#line 2885 "machine.c"
		goto _state_2;
		default:
#line 488 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_assert_not_reached ();
#line 2890 "machine.c"
	}
	_state_0:
#line 489 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_tmp0_ = _data_->self->priv->updating_screenshot;
#line 489 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_data_->_tmp0_) {
#line 490 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 490 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_data_->_state_ != 0) {
#line 490 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			while (_data_->_task_complete_ != TRUE) {
#line 490 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 2905 "machine.c"
			}
		}
#line 490 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_unref (_data_->_async_result);
#line 490 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return FALSE;
#line 2912 "machine.c"
	}
#line 492 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->self->priv->updating_screenshot = TRUE;
#line 494 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->large_screenshot = NULL;
#line 2918 "machine.c"
	{
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_state_ = 1;
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_take_screenshot (_data_->self, boxes_machine_update_screenshot_ready, _data_);
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return FALSE;
#line 2926 "machine.c"
		_state_1:
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp2_ = boxes_machine_take_screenshot_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp1_ = _data_->_tmp2_;
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 2934 "machine.c"
			goto __catch54_g_error;
		}
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp3_ = _data_->_tmp1_;
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp1_ = NULL;
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (_data_->large_screenshot);
#line 496 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->large_screenshot = _data_->_tmp3_;
#line 500 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp4_ = _data_->first_check;
#line 500 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_data_->_tmp4_) {
#line 501 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_data_->_state_ = 2;
#line 501 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			boxes_machine_take_screenshot (_data_->self, boxes_machine_update_screenshot_ready, _data_);
#line 501 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			return FALSE;
#line 2955 "machine.c"
			_state_2:
#line 501 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_data_->_tmp6_ = boxes_machine_take_screenshot_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 501 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_data_->_tmp5_ = _data_->_tmp6_;
#line 501 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 501 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_g_object_unref0 (_data_->_tmp1_);
#line 2965 "machine.c"
				goto __catch54_g_error;
			}
#line 501 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_data_->_tmp7_ = _data_->_tmp5_;
#line 501 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_data_->_tmp5_ = NULL;
#line 501 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_object_unref0 (_data_->large_screenshot);
#line 501 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_data_->large_screenshot = _data_->_tmp7_;
#line 500 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_object_unref0 (_data_->_tmp5_);
#line 2978 "machine.c"
		}
#line 495 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (_data_->_tmp1_);
#line 2982 "machine.c"
	}
	goto __finally54;
	__catch54_g_error:
	{
#line 495 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_error_ = _data_->_inner_error_;
#line 495 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_inner_error_ = NULL;
#line 495 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_error_free0 (_data_->_error_);
#line 2993 "machine.c"
	}
	__finally54:
#line 495 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 495 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (_data_->large_screenshot);
#line 495 "/home/fborges/checkout/gnome-boxes/src/machine.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 495 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_clear_error (&_data_->_inner_error_);
#line 495 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_unref (_data_->_async_result);
#line 495 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return FALSE;
#line 3008 "machine.c"
	}
#line 505 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_tmp8_ = _data_->large_screenshot;
#line 505 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_data_->_tmp8_ != NULL) {
#line 506 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp10_ = _data_->force_save;
#line 506 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_data_->_tmp10_) {
#line 506 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_data_->_tmp9_ = TRUE;
#line 3020 "machine.c"
		} else {
#line 506 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_data_->_tmp11_ = _data_->self->priv->screenshot_counter;
#line 506 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_data_->self->priv->screenshot_counter = _data_->_tmp11_ + 1;
#line 506 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_data_->_tmp9_ = (_data_->_tmp11_ % 12) == 0;
#line 3028 "machine.c"
		}
#line 506 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp12_ = _data_->large_screenshot;
#line 506 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_screenshot (_data_->self, _data_->_tmp12_, _data_->_tmp9_);
#line 3034 "machine.c"
	}
#line 508 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->self->priv->updating_screenshot = FALSE;
#line 488 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (_data_->large_screenshot);
#line 488 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 488 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_data_->_state_ != 0) {
#line 488 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		while (_data_->_task_complete_ != TRUE) {
#line 488 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 3048 "machine.c"
		}
	}
#line 488 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_unref (_data_->_async_result);
#line 488 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return FALSE;
#line 3055 "machine.c"
}


static GdkPixbuf* boxes_machine_draw_vm (BoxesMachine* self, GdkPixbuf* pixbuf, gint width, gint height) {
	GdkPixbuf* result = NULL;
	cairo_surface_t* surface = NULL;
	gint _tmp0_;
	gint _tmp1_;
	cairo_surface_t* _tmp2_;
	cairo_t* context = NULL;
	cairo_surface_t* _tmp3_;
	cairo_t* _tmp4_;
	gint pw = 0;
	GdkPixbuf* _tmp5_;
	gint _tmp6_;
	gint ph = 0;
	GdkPixbuf* _tmp7_;
	gint _tmp8_;
	gint x = 0;
	gint _tmp9_;
	gint _tmp10_;
	gint y = 0;
	gint _tmp11_;
	gint _tmp12_;
	cairo_t* _tmp13_;
	gint _tmp14_;
	gint _tmp15_;
	gint _tmp16_;
	gint _tmp17_;
	cairo_t* _tmp18_;
	cairo_t* _tmp19_;
	GdkPixbuf* _tmp20_;
	gint _tmp21_;
	gint _tmp22_;
	cairo_t* _tmp23_;
	cairo_t* _tmp24_;
	gboolean _tmp25_;
	gboolean _tmp26_;
	cairo_surface_t* _tmp38_;
	gint _tmp39_;
	gint _tmp40_;
	GdkPixbuf* _tmp41_;
#line 511 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 511 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (pixbuf != NULL, NULL);
#line 512 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = width;
#line 512 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = height;
#line 512 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, _tmp0_, _tmp1_);
#line 512 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	surface = _tmp2_;
#line 513 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = surface;
#line 513 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = cairo_create (_tmp3_);
#line 513 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	context = _tmp4_;
#line 515 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp5_ = pixbuf;
#line 515 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp6_ = gdk_pixbuf_get_width (_tmp5_);
#line 515 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	pw = _tmp6_;
#line 516 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp7_ = pixbuf;
#line 516 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp8_ = gdk_pixbuf_get_height (_tmp7_);
#line 516 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	ph = _tmp8_;
#line 517 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp9_ = width;
#line 517 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp10_ = pw;
#line 517 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	x = (_tmp9_ - _tmp10_) / 2;
#line 518 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp11_ = height;
#line 518 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp12_ = ph;
#line 518 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	y = (_tmp11_ - _tmp12_) / 2;
#line 520 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp13_ = context;
#line 520 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp14_ = x;
#line 520 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp15_ = y;
#line 520 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp16_ = pw;
#line 520 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp17_ = ph;
#line 520 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	cairo_rectangle (_tmp13_, (gdouble) _tmp14_, (gdouble) _tmp15_, (gdouble) _tmp16_, (gdouble) _tmp17_);
#line 521 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp18_ = context;
#line 521 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	cairo_clip (_tmp18_);
#line 523 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp19_ = context;
#line 523 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp20_ = pixbuf;
#line 523 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp21_ = x;
#line 523 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp22_ = y;
#line 523 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	gdk_cairo_set_source_pixbuf (_tmp19_, _tmp20_, (gdouble) _tmp21_, (gdouble) _tmp22_);
#line 524 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp23_ = context;
#line 524 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	cairo_set_operator (_tmp23_, CAIRO_OPERATOR_SOURCE);
#line 525 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp24_ = context;
#line 525 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	cairo_paint (_tmp24_);
#line 527 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp25_ = boxes_machine_get_is_running (self);
#line 527 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp26_ = _tmp25_;
#line 527 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (!_tmp26_) {
#line 3180 "machine.c"
		cairo_t* _tmp27_;
		cairo_t* _tmp28_;
		cairo_t* _tmp29_;
		cairo_t* _tmp30_;
		cairo_pattern_t* grid = NULL;
		cairo_surface_t* _tmp31_;
		cairo_pattern_t* _tmp32_;
		cairo_pattern_t* _tmp33_;
		cairo_t* _tmp34_;
		cairo_t* _tmp35_;
		cairo_t* _tmp36_;
		cairo_pattern_t* _tmp37_;
#line 528 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp27_ = context;
#line 528 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		cairo_set_source_rgba (_tmp27_, (gdouble) 1, (gdouble) 1, (gdouble) 1, (gdouble) 1);
#line 529 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp28_ = context;
#line 529 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		cairo_set_operator (_tmp28_, CAIRO_OPERATOR_HSL_SATURATION);
#line 530 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp29_ = context;
#line 530 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		cairo_paint (_tmp29_);
#line 532 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp30_ = context;
#line 532 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		cairo_scale (_tmp30_, 2.0, 2.0);
#line 533 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp31_ = boxes_machine_grid_surface;
#line 533 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp32_ = cairo_pattern_create_for_surface (_tmp31_);
#line 533 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		grid = _tmp32_;
#line 534 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp33_ = grid;
#line 534 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		cairo_pattern_set_extend (_tmp33_, CAIRO_EXTEND_REPEAT);
#line 535 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp34_ = context;
#line 535 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		cairo_set_source_rgba (_tmp34_, 0.2, 0.2, 0.2, (gdouble) 1);
#line 536 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp35_ = context;
#line 536 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		cairo_set_operator (_tmp35_, CAIRO_OPERATOR_ADD);
#line 537 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp36_ = context;
#line 537 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp37_ = grid;
#line 537 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		cairo_mask (_tmp36_, _tmp37_);
#line 527 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_cairo_pattern_destroy0 (grid);
#line 3235 "machine.c"
	}
#line 540 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp38_ = surface;
#line 540 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp39_ = width;
#line 540 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp40_ = height;
#line 540 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp41_ = gdk_pixbuf_get_from_surface (_tmp38_, 0, 0, _tmp39_, _tmp40_);
#line 540 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp41_;
#line 540 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_cairo_destroy0 (context);
#line 540 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_cairo_surface_destroy0 (surface);
#line 540 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 3253 "machine.c"
}


static GdkPixbuf* boxes_machine_draw_stopped_vm (gint width, gint height) {
	GdkPixbuf* result = NULL;
	cairo_surface_t* surface = NULL;
	gint _tmp0_;
	gint _tmp1_;
	cairo_surface_t* _tmp2_;
	gint _tmp3_;
	gint _tmp4_;
	GdkPixbuf* _tmp5_;
#line 545 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = width;
#line 545 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = height;
#line 545 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = cairo_image_surface_create (CAIRO_FORMAT_RGB24, _tmp0_, _tmp1_);
#line 545 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	surface = _tmp2_;
#line 546 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = width;
#line 546 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = height;
#line 546 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp5_ = gdk_pixbuf_get_from_surface (surface, 0, 0, _tmp3_, _tmp4_);
#line 546 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp5_;
#line 546 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_cairo_surface_destroy0 (surface);
#line 546 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 3286 "machine.c"
}


static void boxes_machine_real_delete (BoxesMachine* self, gboolean by_user) {
	gulong _tmp0_;
	BoxesBoxConfig* _tmp5_;
	GError * _inner_error_ = NULL;
#line 550 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_set_deleted (self, TRUE);
#line 552 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_set_screenshot_enable (self, FALSE);
#line 553 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->ui_state_id;
#line 553 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp0_ != ((gulong) 0)) {
#line 3302 "machine.c"
		BoxesApp* _tmp1_;
		BoxesAppWindow* _tmp2_;
		BoxesAppWindow* _tmp3_;
		gulong _tmp4_;
#line 554 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = boxes_app_app;
#line 554 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp2_ = boxes_app_get_main_window (_tmp1_);
#line 554 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp3_ = _tmp2_;
#line 554 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = self->priv->ui_state_id;
#line 554 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_signal_handler_disconnect ((GObject*) _tmp3_, _tmp4_);
#line 555 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->ui_state_id = (gulong) 0;
#line 3319 "machine.c"
	}
#line 558 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp5_ = self->config;
#line 558 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_box_config_delete (_tmp5_);
#line 3325 "machine.c"
	{
		gchar* _tmp6_ = NULL;
		gchar* _tmp7_;
#line 560 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp7_ = boxes_machine_get_screenshot_filename (self, &_inner_error_);
#line 560 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp6_ = _tmp7_;
#line 560 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 560 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			if (_inner_error_->domain == BOXES_ERROR) {
#line 3337 "machine.c"
				goto __catch55_boxes_error;
			}
#line 560 "/home/fborges/checkout/gnome-boxes/src/machine.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 560 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			g_clear_error (&_inner_error_);
#line 560 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			return;
#line 3346 "machine.c"
		}
#line 560 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_unlink (_tmp6_);
#line 559 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_free0 (_tmp6_);
#line 3352 "machine.c"
	}
	goto __finally55;
	__catch55_boxes_error:
	{
		GError* e = NULL;
		GError* _tmp8_;
		const gchar* _tmp9_;
#line 559 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		e = _inner_error_;
#line 559 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_inner_error_ = NULL;
#line 562 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp8_ = e;
#line 562 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp9_ = _tmp8_->message;
#line 562 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_debug ("machine.vala:562: Could not delete screenshot: %s", _tmp9_);
#line 559 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_error_free0 (e);
#line 3372 "machine.c"
	}
	__finally55:
#line 559 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 559 "/home/fborges/checkout/gnome-boxes/src/machine.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 559 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_clear_error (&_inner_error_);
#line 559 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return;
#line 3383 "machine.c"
	}
}


void boxes_machine_delete (BoxesMachine* self, gboolean by_user) {
#line 549 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 549 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_GET_CLASS (self)->delete (self, by_user);
#line 3393 "machine.c"
}


static void boxes_machine_ui_state_changed (BoxesMachine* self) {
	GBinding* _tmp0_;
	BoxesUIState _tmp8_;
	BoxesUIState _tmp9_;
#line 568 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 569 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->name_status_bind;
#line 569 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp0_ != NULL) {
#line 3407 "machine.c"
		BoxesTopbar* topbar = NULL;
		GBinding* _tmp1_;
		GObject* _tmp2_;
		GObject* _tmp3_;
		BoxesTopbar* _tmp4_;
		BoxesTopbar* _tmp5_;
		GBinding* _tmp6_;
		GBinding* _tmp7_;
#line 570 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = self->priv->name_status_bind;
#line 570 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp2_ = g_binding_get_target (_tmp1_);
#line 570 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp3_ = _tmp2_;
#line 570 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, BOXES_TYPE_TOPBAR) ? ((BoxesTopbar*) _tmp3_) : NULL);
#line 570 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		topbar = _tmp4_;
#line 571 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp5_ = topbar;
#line 571 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_topbar_set_status (_tmp5_, NULL);
#line 572 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp6_ = self->priv->name_status_bind;
#line 572 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp7_ = _g_object_ref0 (_tmp6_);
#line 572 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_binding_unbind (_tmp7_);
#line 573 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (self->priv->name_status_bind);
#line 573 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->name_status_bind = NULL;
#line 569 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (topbar);
#line 3442 "machine.c"
	}
#line 576 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp8_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 576 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp9_ = _tmp8_;
#line 576 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	switch (_tmp9_) {
#line 576 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_UI_STATE_CREDS:
#line 3452 "machine.c"
		{
			BoxesAppWindow* _tmp10_;
			BoxesAppWindow* _tmp11_;
			GtkStack* _tmp12_;
#line 578 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp10_ = boxes_machine_get_window (self);
#line 578 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp11_ = _tmp10_;
#line 578 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp12_ = _tmp11_->below_bin;
#line 578 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			gtk_stack_set_visible_child_name (_tmp12_, "connecting-page");
#line 579 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			boxes_machine_try_connect_display (self, BOXES_MACHINE_CONNECT_FLAGS_NONE, NULL, NULL);
#line 581 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			break;
#line 3469 "machine.c"
		}
#line 576 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_UI_STATE_DISPLAY:
#line 3473 "machine.c"
		{
			BoxesUIState _tmp13_;
			BoxesUIState _tmp14_;
			BoxesAppWindow* _tmp18_;
			BoxesAppWindow* _tmp19_;
			BoxesCollectionItem* _tmp20_;
			BoxesCollectionItem* _tmp21_;
#line 583 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp13_ = boxes_ui_get_previous_ui_state ((BoxesUI*) self);
#line 583 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp14_ = _tmp13_;
#line 583 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			if (_tmp14_ == BOXES_UI_STATE_PROPERTIES) {
#line 3487 "machine.c"
				BoxesAppWindow* _tmp15_;
				BoxesAppWindow* _tmp16_;
				GtkStack* _tmp17_;
#line 584 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp15_ = boxes_machine_get_window (self);
#line 584 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp16_ = _tmp15_;
#line 584 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp17_ = _tmp16_->below_bin;
#line 584 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				gtk_stack_set_visible_child_name (_tmp17_, "display-page");
#line 3499 "machine.c"
			}
#line 585 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp18_ = boxes_machine_get_window (self);
#line 585 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp19_ = _tmp18_;
#line 585 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp20_ = boxes_app_window_get_current_item (_tmp19_);
#line 585 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp21_ = _tmp20_;
#line 585 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			if (_tmp21_ == G_TYPE_CHECK_INSTANCE_CAST (self, BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItem)) {
#line 3511 "machine.c"
				BoxesAppWindow* _tmp22_;
				BoxesAppWindow* _tmp23_;
				BoxesTopbar* _tmp24_;
				GBinding* _tmp25_;
				GBinding* _tmp26_;
#line 586 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp22_ = boxes_machine_get_window (self);
#line 586 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp23_ = _tmp22_;
#line 586 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp24_ = _tmp23_->topbar;
#line 586 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp25_ = g_object_bind_property_with_closures ((GObject*) self, "name", (GObject*) _tmp24_, "status", G_BINDING_SYNC_CREATE, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)));
#line 586 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp26_ = _g_object_ref0 (_tmp25_);
#line 586 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_g_object_unref0 (self->priv->name_status_bind);
#line 586 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				self->priv->name_status_bind = _tmp26_;
#line 3531 "machine.c"
			}
#line 588 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			break;
#line 3535 "machine.c"
		}
#line 576 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_UI_STATE_COLLECTION:
#line 3539 "machine.c"
		{
			BoxesAuthNotification* _tmp27_;
#line 591 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp27_ = self->priv->auth_notification;
#line 591 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			if (_tmp27_ != NULL) {
#line 3546 "machine.c"
				BoxesAuthNotification* _tmp28_;
#line 592 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				_tmp28_ = self->priv->auth_notification;
#line 592 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
				boxes_auth_notification_dismiss (_tmp28_);
#line 3552 "machine.c"
			}
#line 593 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			boxes_machine_disconnect_display (self);
#line 595 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			break;
#line 3558 "machine.c"
		}
		default:
#line 576 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 3563 "machine.c"
	}
}


static void boxes_machine_try_connect_display_data_free (gpointer _data) {
	BoxesMachineTryConnectDisplayData* _data_;
	_data_ = _data;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (_data_->self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_slice_free (BoxesMachineTryConnectDisplayData, _data_);
#line 3575 "machine.c"
}


static void boxes_machine_try_connect_display (BoxesMachine* self, BoxesMachineConnectFlags flags, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesMachineTryConnectDisplayData* _data_;
	BoxesMachine* _tmp0_;
	BoxesMachineConnectFlags _tmp1_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = g_slice_new0 (BoxesMachineTryConnectDisplayData);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_callback_ == NULL) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_task_complete_ = TRUE;
#line 3591 "machine.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_machine_try_connect_display_data_free);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->self = _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = flags;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->flags = _tmp1_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_try_connect_display_co (_data_);
#line 3605 "machine.c"
}


static void boxes_machine_try_connect_display_finish (BoxesMachine* self, GAsyncResult* _res_) {
	BoxesMachineTryConnectDisplayData* _data_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_task_complete_ = TRUE;
#line 3615 "machine.c"
}


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


static void block64_data_unref (void * _userdata_) {
	Block64Data* _data64_;
	_data64_ = (Block64Data*) _userdata_;
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (g_atomic_int_dec_and_test (&_data64_->_ref_count_)) {
#line 3633 "machine.c"
		BoxesMachine* self;
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self = _data64_->self;
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (self);
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_slice_free (Block64Data, _data64_);
#line 3641 "machine.c"
	}
}


static void boxes_machine_try_connect_display_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	BoxesMachineTryConnectDisplayData* _data_;
#line 601 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = _user_data_;
#line 601 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_source_object_ = source_object;
#line 601 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_res_ = _res_;
#line 601 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_task_complete_ = TRUE;
#line 601 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_try_connect_display_co (_data_);
#line 3658 "machine.c"
}


static void ___lambda229_ (Block64Data* _data64_) {
	BoxesMachine* self;
	BoxesMachineConnectFlags _tmp0_;
#line 604 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self = _data64_->self;
#line 605 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = _data64_->flags;
#line 605 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_try_connect_display (self, _tmp0_ | BOXES_MACHINE_CONNECT_FLAGS_IGNORE_SAVED_STATE, NULL, NULL);
#line 3671 "machine.c"
}


static void ____lambda229__boxes_notification_ok_func (gpointer self) {
#line 604 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	___lambda229_ (self);
#line 3678 "machine.c"
}


static void ___lambda230_ (BoxesMachine* self) {
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
#line 608 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = boxes_machine_get_window (self);
#line 608 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = _tmp0_;
#line 608 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_ui_set_state ((BoxesUI*) _tmp1_, BOXES_UI_STATE_COLLECTION);
#line 3691 "machine.c"
}


static void ____lambda230__boxes_notification_dismissed (BoxesNotification* _sender, gpointer self) {
#line 607 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	___lambda230_ ((BoxesMachine*) self);
#line 3698 "machine.c"
}


static gboolean boxes_machine_try_connect_display_co (BoxesMachineTryConnectDisplayData* _data_) {
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	switch (_data_->_state_) {
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case 0:
#line 3707 "machine.c"
		goto _state_0;
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case 1:
#line 3711 "machine.c"
		goto _state_1;
		default:
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_assert_not_reached ();
#line 3716 "machine.c"
	}
	_state_0:
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_data64_ = g_slice_new0 (Block64Data);
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_data64_->_ref_count_ = 1;
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_data64_->self = g_object_ref (_data_->self);
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_tmp0_ = _data_->flags;
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_data64_->flags = _data_->_tmp0_;
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_data64_->_async_data_ = _data_;
#line 3731 "machine.c"
	{
#line 601 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp1_ = _data_->_data64_->flags;
#line 601 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_state_ = 1;
#line 601 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_connect_display (_data_->self, _data_->_tmp1_, boxes_machine_try_connect_display_ready, _data_);
#line 601 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return FALSE;
#line 3741 "machine.c"
		_state_1:
#line 601 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_connect_display_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 601 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 601 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			if (g_error_matches (_data_->_inner_error_, BOXES_ERROR, BOXES_ERROR_RESTORE_FAILED)) {
#line 3749 "machine.c"
				goto __catch56_boxes_error_restore_failed;
			}
#line 601 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			if (g_error_matches (_data_->_inner_error_, BOXES_ERROR, BOXES_ERROR_START_FAILED)) {
#line 3754 "machine.c"
				goto __catch56_boxes_error_start_failed;
			}
			goto __catch56_g_error;
		}
	}
	goto __finally56;
	__catch56_boxes_error_restore_failed:
	{
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->e = _data_->_inner_error_;
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_inner_error_ = NULL;
#line 603 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp2_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _data_->self);
#line 603 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp3_ = _data_->_tmp2_;
#line 603 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp4_ = g_strdup_printf (_ ("“%s” could not be restored from disk\nTry without saved state?"), _data_->_tmp3_);
#line 603 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->message = _data_->_tmp4_;
#line 604 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp5_ = boxes_machine_get_window (_data_->self);
#line 604 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp6_ = _data_->_tmp5_;
#line 604 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp7_ = boxes_app_window_get_notificationbar (_data_->_tmp6_);
#line 604 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp8_ = _data_->_tmp7_;
#line 604 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp9_ = _data_->message;
#line 604 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp10_ = boxes_notificationbar_display_for_action (_data_->_tmp8_, _data_->_tmp9_, _ ("Restart"), ____lambda229__boxes_notification_ok_func, block64_data_ref (_data_->_data64_), block64_data_unref, NULL, NULL, NULL, BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT);
#line 604 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->notification = _data_->_tmp10_;
#line 607 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp11_ = _data_->notification;
#line 607 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_signal_connect_object (_data_->_tmp11_, "dismissed", (GCallback) ____lambda230__boxes_notification_dismissed, _data_->self, 0);
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (_data_->notification);
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_free0 (_data_->message);
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_error_free0 (_data_->e);
#line 3799 "machine.c"
	}
	goto __finally56;
	__catch56_boxes_error_start_failed:
	{
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_vala1_e = _data_->_inner_error_;
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_inner_error_ = NULL;
#line 611 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp12_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _data_->self);
#line 611 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp13_ = _data_->_tmp12_;
#line 611 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp14_ = _data_->_vala1_e;
#line 611 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp15_ = _data_->_tmp14_->message;
#line 611 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_warning ("machine.vala:611: Failed to start %s: %s", _data_->_tmp13_, _data_->_tmp15_);
#line 612 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp16_ = boxes_machine_get_window (_data_->self);
#line 612 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp17_ = _data_->_tmp16_;
#line 612 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_ui_set_state ((BoxesUI*) _data_->_tmp17_, BOXES_UI_STATE_COLLECTION);
#line 613 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp18_ = boxes_machine_get_window (_data_->self);
#line 613 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp19_ = _data_->_tmp18_;
#line 613 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp20_ = boxes_app_window_get_notificationbar (_data_->_tmp19_);
#line 613 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp21_ = _data_->_tmp20_;
#line 613 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp22_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _data_->self);
#line 613 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp23_ = _data_->_tmp22_;
#line 613 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp24_ = g_strdup_printf (_ ("Failed to start “%s”"), _data_->_tmp23_);
#line 613 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp25_ = _data_->_tmp24_;
#line 613 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp26_ = boxes_notificationbar_display_error (_data_->_tmp21_, _data_->_tmp25_, BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT);
#line 613 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp27_ = _data_->_tmp26_;
#line 613 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (_data_->_tmp27_);
#line 613 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_free0 (_data_->_tmp25_);
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_error_free0 (_data_->_vala1_e);
#line 3850 "machine.c"
	}
	goto __finally56;
	__catch56_g_error:
	{
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_vala2_e = _data_->_inner_error_;
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_inner_error_ = NULL;
#line 615 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp28_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _data_->self);
#line 615 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp29_ = _data_->_tmp28_;
#line 615 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp30_ = _data_->_vala2_e;
#line 615 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp31_ = _data_->_tmp30_->message;
#line 615 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_warning ("machine.vala:615: Failed to connect to %s: %s", _data_->_tmp29_, _data_->_tmp31_);
#line 616 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp32_ = boxes_machine_get_window (_data_->self);
#line 616 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp33_ = _data_->_tmp32_;
#line 616 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_ui_set_state ((BoxesUI*) _data_->_tmp33_, BOXES_UI_STATE_COLLECTION);
#line 617 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp34_ = boxes_machine_get_window (_data_->self);
#line 617 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp35_ = _data_->_tmp34_;
#line 617 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp36_ = boxes_app_window_get_notificationbar (_data_->_tmp35_);
#line 617 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp37_ = _data_->_tmp36_;
#line 617 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp38_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _data_->self);
#line 617 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp39_ = _data_->_tmp38_;
#line 617 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp40_ = g_strdup_printf (_ ("Connection to “%s” failed"), _data_->_tmp39_);
#line 617 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp41_ = _data_->_tmp40_;
#line 617 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp42_ = boxes_notificationbar_display_error (_data_->_tmp37_, _data_->_tmp41_, BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT);
#line 617 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp43_ = _data_->_tmp42_;
#line 617 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (_data_->_tmp43_);
#line 617 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_free0 (_data_->_tmp41_);
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_error_free0 (_data_->_vala2_e);
#line 3901 "machine.c"
	}
	__finally56:
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		block64_data_unref (_data_->_data64_);
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_data64_ = NULL;
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.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 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_clear_error (&_data_->_inner_error_);
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_unref (_data_->_async_result);
#line 600 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return FALSE;
#line 3918 "machine.c"
	}
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	block64_data_unref (_data_->_data64_);
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_data64_ = NULL;
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_data_->_state_ != 0) {
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		while (_data_->_task_complete_ != TRUE) {
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 3932 "machine.c"
		}
	}
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_unref (_data_->_async_result);
#line 599 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return FALSE;
#line 3939 "machine.c"
}


static void __lambda228_ (BoxesMachine* self, const gchar* username, const gchar* password) {
	const gchar* _tmp0_;
	const gchar* _tmp3_;
#line 631 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (username != NULL);
#line 631 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (password != NULL);
#line 632 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = username;
#line 632 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (g_strcmp0 (_tmp0_, "") != 0) {
#line 3954 "machine.c"
		const gchar* _tmp1_;
		gchar* _tmp2_;
#line 633 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = username;
#line 633 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp2_ = g_strdup (_tmp1_);
#line 633 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_free0 (self->priv->username);
#line 633 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->username = _tmp2_;
#line 3965 "machine.c"
	}
#line 634 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = password;
#line 634 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (g_strcmp0 (_tmp3_, "") != 0) {
#line 3971 "machine.c"
		const gchar* _tmp4_;
		gchar* _tmp5_;
#line 635 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = password;
#line 635 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp5_ = g_strdup (_tmp4_);
#line 635 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_free0 (self->priv->password);
#line 635 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->password = _tmp5_;
#line 3982 "machine.c"
	}
#line 637 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->priv->auth_notification);
#line 637 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->auth_notification = NULL;
#line 638 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_try_connect_display (self, BOXES_MACHINE_CONNECT_FLAGS_NONE, NULL, NULL);
#line 3990 "machine.c"
}


static void ___lambda228__boxes_auth_notification_auth_func (const gchar* username, const gchar* password, gpointer self) {
#line 631 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	__lambda228_ ((BoxesMachine*) self, username, password);
#line 3997 "machine.c"
}


static void __lambda231_ (BoxesMachine* self) {
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
#line 641 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->priv->auth_notification);
#line 641 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->auth_notification = NULL;
#line 642 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = boxes_machine_get_window (self);
#line 642 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = _tmp0_;
#line 642 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_ui_set_state ((BoxesUI*) _tmp1_, BOXES_UI_STATE_COLLECTION);
#line 4014 "machine.c"
}


static void ___lambda231__boxes_notification_dismiss_func (gpointer self) {
#line 640 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	__lambda231_ ((BoxesMachine*) self);
#line 4021 "machine.c"
}


static void boxes_machine_handle_auth (BoxesMachine* self) {
	BoxesAuthNotification* _tmp0_;
	gboolean need_username = FALSE;
	BoxesDisplay* _tmp1_;
	BoxesDisplay* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_ = FALSE;
	BoxesDisplay* _tmp6_;
	BoxesDisplay* _tmp7_;
	gboolean _tmp8_;
	gboolean _tmp9_;
	BoxesAuthNotificationAuthFunc auth_func = NULL;
	void* auth_func_target;
	GDestroyNotify auth_func_target_destroy_notify;
	BoxesNotificationDismissFunc dismiss_func = NULL;
	void* dismiss_func_target;
	GDestroyNotify dismiss_func_target_destroy_notify;
	gchar* auth_string = NULL;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	gchar* _tmp16_;
	BoxesAppWindow* _tmp17_;
	BoxesAppWindow* _tmp18_;
	BoxesNotificationbar* _tmp19_;
	BoxesNotificationbar* _tmp20_;
	const gchar* _tmp21_;
	BoxesAuthNotificationAuthFunc _tmp22_;
	void* _tmp22__target;
	GDestroyNotify _tmp22__target_destroy_notify;
	BoxesNotificationDismissFunc _tmp23_;
	void* _tmp23__target;
	GDestroyNotify _tmp23__target_destroy_notify;
	gboolean _tmp24_;
	BoxesAuthNotification* _tmp25_;
#line 623 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 624 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->auth_notification;
#line 624 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp0_ != NULL) {
#line 625 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return;
#line 4068 "machine.c"
	}
#line 626 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = boxes_machine_get_display (self);
#line 626 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = _tmp1_;
#line 626 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = boxes_display_get_need_username (_tmp2_);
#line 626 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = _tmp3_;
#line 626 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	need_username = _tmp4_;
#line 627 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp6_ = boxes_machine_get_display (self);
#line 627 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp7_ = _tmp6_;
#line 627 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp8_ = boxes_display_get_need_username (_tmp7_);
#line 627 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp9_ = _tmp8_;
#line 627 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (!_tmp9_) {
#line 4090 "machine.c"
		BoxesDisplay* _tmp10_;
		BoxesDisplay* _tmp11_;
		gboolean _tmp12_;
		gboolean _tmp13_;
#line 627 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp10_ = boxes_machine_get_display (self);
#line 627 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp11_ = _tmp10_;
#line 627 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp12_ = boxes_display_get_need_password (_tmp11_);
#line 627 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp13_ = _tmp12_;
#line 627 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp5_ = !_tmp13_;
#line 4105 "machine.c"
	} else {
#line 627 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp5_ = FALSE;
#line 4109 "machine.c"
	}
#line 627 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp5_) {
#line 628 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return;
#line 4115 "machine.c"
	}
#line 629 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_set_display (self, NULL);
#line 631 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	auth_func = ___lambda228__boxes_auth_notification_auth_func;
#line 631 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	auth_func_target = g_object_ref (self);
#line 631 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	auth_func_target_destroy_notify = g_object_unref;
#line 640 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	dismiss_func = ___lambda231__boxes_notification_dismiss_func;
#line 640 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	dismiss_func_target = g_object_ref (self);
#line 640 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	dismiss_func_target_destroy_notify = g_object_unref;
#line 646 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp14_ = boxes_collection_item_get_name ((BoxesCollectionItem*) self);
#line 646 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp15_ = _tmp14_;
#line 646 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp16_ = g_strdup_printf (_ ("“%s” requires authentication"), _tmp15_);
#line 646 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	auth_string = _tmp16_;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp17_ = boxes_machine_get_window (self);
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp18_ = _tmp17_;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp19_ = boxes_app_window_get_notificationbar (_tmp18_);
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp20_ = _tmp19_;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp21_ = auth_string;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp22_ = auth_func;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp22__target = auth_func_target;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp22__target_destroy_notify = auth_func_target_destroy_notify;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	auth_func = NULL;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	auth_func_target = NULL;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	auth_func_target_destroy_notify = NULL;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp23_ = dismiss_func;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp23__target = dismiss_func_target;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp23__target_destroy_notify = dismiss_func_target_destroy_notify;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	dismiss_func = NULL;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	dismiss_func_target = NULL;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	dismiss_func_target_destroy_notify = NULL;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp24_ = need_username;
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp25_ = boxes_notificationbar_display_for_auth (_tmp20_, _tmp21_, _tmp22_, _tmp22__target, _tmp22__target_destroy_notify, _tmp23_, _tmp23__target, _tmp23__target_destroy_notify, _tmp24_);
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->priv->auth_notification);
#line 647 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->auth_notification = _tmp25_;
#line 623 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_free0 (auth_string);
#line 623 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	(dismiss_func_target_destroy_notify == NULL) ? NULL : (dismiss_func_target_destroy_notify (dismiss_func_target), NULL);
#line 623 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	dismiss_func = NULL;
#line 623 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	dismiss_func_target = NULL;
#line 623 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	dismiss_func_target_destroy_notify = NULL;
#line 623 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	(auth_func_target_destroy_notify == NULL) ? NULL : (auth_func_target_destroy_notify (auth_func_target), NULL);
#line 623 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	auth_func = NULL;
#line 623 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	auth_func_target = NULL;
#line 623 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	auth_func_target_destroy_notify = NULL;
#line 4199 "machine.c"
}


static gint boxes_machine_real_compare (BoxesCollectionItem* base, BoxesCollectionItem* other) {
	BoxesMachine * self;
	gint result = 0;
	BoxesCollectionItem* _tmp0_;
#line 653 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self = (BoxesMachine*) base;
#line 653 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (other != NULL, 0);
#line 654 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = other;
#line 654 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, BOXES_TYPE_MACHINE)) {
#line 4215 "machine.c"
		BoxesBoxConfig* _tmp1_;
		BoxesCollectionItem* _tmp2_;
		BoxesBoxConfig* _tmp3_;
		gint _tmp4_;
#line 655 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = self->config;
#line 655 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp2_ = other;
#line 655 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp3_ = (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp2_) : NULL)->config;
#line 655 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = boxes_box_config_compare (_tmp1_, _tmp3_);
#line 655 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		result = _tmp4_;
#line 655 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return result;
#line 4232 "machine.c"
	} else {
#line 657 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		result = -1;
#line 657 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return result;
#line 4238 "machine.c"
	}
}


static void boxes_machine_try_save_data_free (gpointer _data) {
	BoxesMachineTrySaveData* _data_;
	_data_ = _data;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (_data_->self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_slice_free (BoxesMachineTrySaveData, _data_);
#line 4250 "machine.c"
}


static void boxes_machine_try_save (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesMachineTrySaveData* _data_;
	BoxesMachine* _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = g_slice_new0 (BoxesMachineTrySaveData);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_callback_ == NULL) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_task_complete_ = TRUE;
#line 4265 "machine.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_machine_try_save_data_free);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->self = _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_try_save_co (_data_);
#line 4275 "machine.c"
}


static void boxes_machine_try_save_finish (BoxesMachine* self, GAsyncResult* _res_) {
	BoxesMachineTrySaveData* _data_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_task_complete_ = TRUE;
#line 4285 "machine.c"
}


static void boxes_machine_try_save_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	BoxesMachineTrySaveData* _data_;
#line 662 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_ = _user_data_;
#line 662 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_source_object_ = source_object;
#line 662 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_res_ = _res_;
#line 662 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_data_->_task_complete_ = TRUE;
#line 662 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_try_save_co (_data_);
#line 4301 "machine.c"
}


static gboolean boxes_machine_try_save_co (BoxesMachineTrySaveData* _data_) {
#line 660 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	switch (_data_->_state_) {
#line 660 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case 0:
#line 4310 "machine.c"
		goto _state_0;
#line 660 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case 1:
#line 4314 "machine.c"
		goto _state_1;
		default:
#line 660 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_assert_not_reached ();
#line 4319 "machine.c"
	}
	_state_0:
	{
#line 662 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_state_ = 1;
#line 662 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_save (_data_->self, boxes_machine_try_save_ready, _data_);
#line 662 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return FALSE;
#line 4329 "machine.c"
		_state_1:
#line 662 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_save_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 662 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 4335 "machine.c"
			goto __catch57_g_error;
		}
	}
	goto __finally57;
	__catch57_g_error:
	{
#line 661 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_error_ = _data_->_inner_error_;
#line 661 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_inner_error_ = NULL;
#line 664 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp0_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _data_->self);
#line 664 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp1_ = _data_->_tmp0_;
#line 664 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp2_ = _data_->_error_;
#line 664 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_data_->_tmp3_ = _data_->_tmp2_->message;
#line 664 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_warning ("machine.vala:664: Failed to save '%s': %s", _data_->_tmp1_, _data_->_tmp3_);
#line 661 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_error_free0 (_data_->_error_);
#line 4358 "machine.c"
	}
	__finally57:
#line 661 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 661 "/home/fborges/checkout/gnome-boxes/src/machine.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 661 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_clear_error (&_data_->_inner_error_);
#line 661 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_unref (_data_->_async_result);
#line 661 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return FALSE;
#line 4371 "machine.c"
	}
#line 660 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 660 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_data_->_state_ != 0) {
#line 660 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		while (_data_->_task_complete_ != TRUE) {
#line 660 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 4381 "machine.c"
		}
	}
#line 660 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_unref (_data_->_async_result);
#line 660 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return FALSE;
#line 4388 "machine.c"
}


GdkPixbuf* boxes_machine_get_pixbuf (BoxesMachine* self) {
	GdkPixbuf* result;
	GdkPixbuf* _tmp0_;
#line 10 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 10 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->_pixbuf;
#line 10 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 10 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4403 "machine.c"
}


void boxes_machine_set_pixbuf (BoxesMachine* self, GdkPixbuf* value) {
#line 10 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 10 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (boxes_machine_get_pixbuf (self) != value) {
#line 4412 "machine.c"
		GdkPixbuf* _tmp0_;
		GdkPixbuf* _tmp1_;
#line 10 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = value;
#line 10 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = _g_object_ref0 (_tmp0_);
#line 10 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (self->priv->_pixbuf);
#line 10 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->_pixbuf = _tmp1_;
#line 10 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_machine_properties[BOXES_MACHINE_PIXBUF]);
#line 4425 "machine.c"
	}
}


BoxesMachineThumbnailer* boxes_machine_get_thumbnailer (BoxesMachine* self) {
	BoxesMachineThumbnailer* result;
	BoxesMachineThumbnailer* _tmp0_;
#line 11 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 11 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->_thumbnailer;
#line 11 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 11 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4441 "machine.c"
}


static void boxes_machine_set_thumbnailer (BoxesMachine* self, BoxesMachineThumbnailer* value) {
#line 11 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 11 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (boxes_machine_get_thumbnailer (self) != value) {
#line 4450 "machine.c"
		BoxesMachineThumbnailer* _tmp0_;
		BoxesMachineThumbnailer* _tmp1_;
#line 11 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = value;
#line 11 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = _g_object_ref0 (_tmp0_);
#line 11 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (self->priv->_thumbnailer);
#line 11 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->_thumbnailer = _tmp1_;
#line 11 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_machine_properties[BOXES_MACHINE_THUMBNAILER]);
#line 4463 "machine.c"
	}
}


const gchar* boxes_machine_get_info (BoxesMachine* self) {
	const gchar* result;
	const gchar* _tmp0_;
#line 13 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 13 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->_info;
#line 13 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 13 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4479 "machine.c"
}


void boxes_machine_set_info (BoxesMachine* self, const gchar* value) {
#line 13 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 13 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (g_strcmp0 (value, boxes_machine_get_info (self)) != 0) {
#line 4488 "machine.c"
		const gchar* _tmp0_;
		gchar* _tmp1_;
#line 13 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = value;
#line 13 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = g_strdup (_tmp0_);
#line 13 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_free0 (self->priv->_info);
#line 13 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->_info = _tmp1_;
#line 13 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_machine_properties[BOXES_MACHINE_INFO]);
#line 4501 "machine.c"
	}
}


const gchar* boxes_machine_get_status (BoxesMachine* self) {
	const gchar* result;
	const gchar* _tmp0_;
#line 14 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 14 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->_status;
#line 14 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 14 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4517 "machine.c"
}


void boxes_machine_set_status (BoxesMachine* self, const gchar* value) {
#line 14 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 14 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (g_strcmp0 (value, boxes_machine_get_status (self)) != 0) {
#line 4526 "machine.c"
		const gchar* _tmp0_;
		gchar* _tmp1_;
#line 14 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = value;
#line 14 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = g_strdup (_tmp0_);
#line 14 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_free0 (self->priv->_status);
#line 14 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->_status = _tmp1_;
#line 14 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_machine_properties[BOXES_MACHINE_STATUS]);
#line 4539 "machine.c"
	}
}


gboolean boxes_machine_get_suspend_at_exit (BoxesMachine* self) {
#line 15 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 15 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return BOXES_MACHINE_GET_CLASS (self)->get_suspend_at_exit (self);
#line 4549 "machine.c"
}


static gboolean boxes_machine_real_get_suspend_at_exit (BoxesMachine* base) {
	gboolean result;
	BoxesMachine* self;
#line 15 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self = base;
#line 15 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = FALSE;
#line 15 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4562 "machine.c"
}


gboolean boxes_machine_get_can_save (BoxesMachine* self) {
#line 17 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 17 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return BOXES_MACHINE_GET_CLASS (self)->get_can_save (self);
#line 4571 "machine.c"
}


static gboolean boxes_machine_real_get_can_save (BoxesMachine* base) {
	gboolean result;
	BoxesMachine* self;
#line 17 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self = base;
#line 17 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = FALSE;
#line 17 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4584 "machine.c"
}


gboolean boxes_machine_get_can_restart (BoxesMachine* self) {
#line 18 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 18 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return BOXES_MACHINE_GET_CLASS (self)->get_can_restart (self);
#line 4593 "machine.c"
}


gboolean boxes_machine_get_can_clone (BoxesMachine* self) {
#line 19 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 19 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return BOXES_MACHINE_GET_CLASS (self)->get_can_clone (self);
#line 4602 "machine.c"
}


gboolean boxes_machine_get_can_delete (BoxesMachine* self) {
	gboolean result;
	gboolean _tmp0_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 20 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->_can_delete;
#line 20 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4617 "machine.c"
}


void boxes_machine_set_can_delete (BoxesMachine* self, gboolean value) {
#line 20 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 20 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (boxes_machine_get_can_delete (self) != value) {
#line 4626 "machine.c"
		gboolean _tmp0_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = value;
#line 20 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->_can_delete = _tmp0_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_machine_properties[BOXES_MACHINE_CAN_DELETE]);
#line 4634 "machine.c"
	}
}


gboolean boxes_machine_get_under_construction (BoxesMachine* self) {
	gboolean result;
	gboolean _tmp0_;
#line 21 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 21 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->_under_construction;
#line 21 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 21 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4650 "machine.c"
}


void boxes_machine_set_under_construction (BoxesMachine* self, gboolean value) {
#line 21 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 21 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (boxes_machine_get_under_construction (self) != value) {
#line 4659 "machine.c"
		gboolean _tmp0_;
#line 21 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = value;
#line 21 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->_under_construction = _tmp0_;
#line 21 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_machine_properties[BOXES_MACHINE_UNDER_CONSTRUCTION]);
#line 4667 "machine.c"
	}
}


gboolean boxes_machine_get_should_autosave (BoxesMachine* self) {
#line 26 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 26 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return BOXES_MACHINE_GET_CLASS (self)->get_should_autosave (self);
#line 4677 "machine.c"
}


static gboolean boxes_machine_real_get_should_autosave (BoxesMachine* base) {
	gboolean result;
	BoxesMachine* self;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_;
	gboolean _tmp3_;
#line 26 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self = base;
#line 27 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = boxes_machine_get_can_save (self);
#line 27 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = _tmp2_;
#line 27 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp3_) {
#line 4696 "machine.c"
		gboolean _tmp4_;
		gboolean _tmp5_;
#line 27 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = boxes_machine_get_is_running (self);
#line 27 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp5_ = _tmp4_;
#line 27 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = _tmp5_;
#line 4705 "machine.c"
	} else {
#line 27 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = FALSE;
#line 4709 "machine.c"
	}
#line 27 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp1_) {
#line 4713 "machine.c"
		guint _tmp6_;
#line 27 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp6_ = self->priv->autosave_timeout_id;
#line 27 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = _tmp6_ == ((guint) 0);
#line 4719 "machine.c"
	} else {
#line 27 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = FALSE;
#line 4723 "machine.c"
	}
#line 27 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 27 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4729 "machine.c"
}


gboolean boxes_machine_get_is_connected (BoxesMachine* self) {
	gboolean result;
	BoxesDisplay* _tmp0_;
	BoxesDisplay* _tmp1_;
	BoxesDisplay* _tmp2_;
	BoxesDisplay* _tmp3_;
	gboolean _tmp4_;
#line 32 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 33 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = boxes_machine_get_display (self);
#line 33 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = _tmp0_;
#line 33 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp1_ == NULL) {
#line 34 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		result = FALSE;
#line 34 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return result;
#line 4752 "machine.c"
	}
#line 36 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = boxes_machine_get_display (self);
#line 36 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = _tmp2_;
#line 36 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = _tmp3_->connected;
#line 36 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp4_;
#line 36 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4764 "machine.c"
}


gboolean boxes_machine_get_is_running (BoxesMachine* self) {
	gboolean result;
	BoxesMachineMachineState _tmp0_;
	BoxesMachineMachineState _tmp1_;
#line 41 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 42 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = boxes_machine_get_state (self);
#line 42 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = _tmp0_;
#line 42 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp1_ == BOXES_MACHINE_MACHINE_STATE_RUNNING;
#line 42 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4782 "machine.c"
}


gboolean boxes_machine_get_is_on (BoxesMachine* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	BoxesMachineMachineState _tmp2_;
	BoxesMachineMachineState _tmp3_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 48 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = boxes_machine_get_state (self);
#line 48 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = _tmp2_;
#line 48 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp3_ == BOXES_MACHINE_MACHINE_STATE_RUNNING) {
#line 48 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = TRUE;
#line 4802 "machine.c"
	} else {
		BoxesMachineMachineState _tmp4_;
		BoxesMachineMachineState _tmp5_;
#line 49 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = boxes_machine_get_state (self);
#line 49 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp5_ = _tmp4_;
#line 49 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = _tmp5_ == BOXES_MACHINE_MACHINE_STATE_PAUSED;
#line 4812 "machine.c"
	}
#line 48 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp1_) {
#line 48 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = TRUE;
#line 4818 "machine.c"
	} else {
		BoxesMachineMachineState _tmp6_;
		BoxesMachineMachineState _tmp7_;
#line 50 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp6_ = boxes_machine_get_state (self);
#line 50 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp7_ = _tmp6_;
#line 50 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = _tmp7_ == BOXES_MACHINE_MACHINE_STATE_SLEEPING;
#line 4828 "machine.c"
	}
#line 48 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 48 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4834 "machine.c"
}


gboolean boxes_machine_get_is_stopped (BoxesMachine* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
	BoxesMachineMachineState _tmp1_;
	BoxesMachineMachineState _tmp2_;
#line 55 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 56 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = boxes_machine_get_state (self);
#line 56 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = _tmp1_;
#line 56 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp2_ == BOXES_MACHINE_MACHINE_STATE_FORCE_STOPPED) {
#line 56 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = TRUE;
#line 4853 "machine.c"
	} else {
		BoxesMachineMachineState _tmp3_;
		BoxesMachineMachineState _tmp4_;
#line 56 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp3_ = boxes_machine_get_state (self);
#line 56 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = _tmp3_;
#line 56 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = _tmp4_ == BOXES_MACHINE_MACHINE_STATE_STOPPED;
#line 4863 "machine.c"
	}
#line 56 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 56 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4869 "machine.c"
}


gboolean boxes_machine_get_is_local (BoxesMachine* self) {
#line 61 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 61 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return BOXES_MACHINE_GET_CLASS (self)->get_is_local (self);
#line 4878 "machine.c"
}


static inline GRegex* _thread_safe_regex_init (GRegex** re, const gchar * pattern, GRegexMatchFlags match_options) {
#line 63 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (g_once_init_enter ((volatile gsize*) re)) {
#line 63 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		GRegex* val = g_regex_new (pattern, match_options, 0, NULL);
#line 63 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_once_init_leave ((volatile gsize*) re, (gsize) val);
#line 4889 "machine.c"
	}
#line 63 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return *re;
#line 4893 "machine.c"
}


static gboolean boxes_machine_real_get_is_local (BoxesMachine* base) {
	gboolean result;
	BoxesMachine* self;
	BoxesCollectionSource* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
#line 61 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self = base;
#line 63 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->source;
#line 63 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = boxes_collection_source_get_uri (_tmp0_);
#line 63 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = _tmp1_;
#line 63 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = _tmp2_;
#line 63 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = g_regex_match (_thread_safe_regex_init (&_tmp_regex_0, ":\\/\\/(127\\.\\d+\\.\\d+\\.\\d+|localhost)", 0 | G_REGEX_CASELESS), _tmp3_, 0, NULL);
#line 63 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp5_ = _tmp4_;
#line 63 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_free0 (_tmp3_);
#line 63 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp5_) {
#line 64 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		result = TRUE;
#line 64 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return result;
#line 4928 "machine.c"
	}
#line 66 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = FALSE;
#line 66 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4934 "machine.c"
}


GCancellable* boxes_machine_get_connecting_cancellable (BoxesMachine* self) {
	GCancellable* result;
	GCancellable* _tmp0_;
#line 91 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 91 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->_connecting_cancellable;
#line 91 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 91 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4949 "machine.c"
}


void boxes_machine_set_connecting_cancellable (BoxesMachine* self, GCancellable* value) {
#line 91 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 91 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (boxes_machine_get_connecting_cancellable (self) != value) {
#line 4958 "machine.c"
		GCancellable* _tmp0_;
		GCancellable* _tmp1_;
#line 91 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = value;
#line 91 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = _g_object_ref0 (_tmp0_);
#line 91 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (self->priv->_connecting_cancellable);
#line 91 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->_connecting_cancellable = _tmp1_;
#line 91 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_machine_properties[BOXES_MACHINE_CONNECTING_CANCELLABLE]);
#line 4971 "machine.c"
	}
}


BoxesMachineMachineState boxes_machine_get_state (BoxesMachine* self) {
	BoxesMachineMachineState result;
	BoxesMachineMachineState _tmp0_;
#line 113 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 113 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->_state;
#line 113 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 113 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 4987 "machine.c"
}


void boxes_machine_set_state (BoxesMachine* self, BoxesMachineMachineState value) {
	BoxesMachineMachineState _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	BoxesMachineMachineState _tmp3_;
	BoxesMachineMachineState _tmp4_;
	GEnumValue* _tmp5_;
	gboolean _tmp6_ = FALSE;
	BoxesMachineMachineState _tmp7_;
	gboolean _tmp13_ = FALSE;
	gboolean _tmp14_ = FALSE;
	gboolean _tmp15_ = FALSE;
	gboolean _tmp16_ = FALSE;
	gboolean _tmp17_ = FALSE;
	gboolean _tmp18_ = FALSE;
	BoxesDisplay* _tmp19_;
	BoxesDisplay* _tmp20_;
#line 114 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 115 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = value;
#line 115 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->_state = _tmp0_;
#line 116 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = boxes_collection_item_get_name ((BoxesCollectionItem*) self);
#line 116 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = _tmp1_;
#line 116 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = boxes_machine_get_state (self);
#line 116 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = _tmp3_;
#line 116 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp5_ = g_enum_get_value (g_type_class_ref (BOXES_MACHINE_TYPE_MACHINE_STATE), _tmp4_);
#line 116 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_debug ("machine.vala:116: State of '%s' changed to %s", _tmp2_, (_tmp5_ != NULL) ? _tmp5_->value_name : NULL);
#line 117 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp7_ = value;
#line 117 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp7_ == BOXES_MACHINE_MACHINE_STATE_STOPPED) {
#line 117 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp6_ = TRUE;
#line 5032 "machine.c"
	} else {
		BoxesMachineMachineState _tmp8_;
#line 117 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp8_ = value;
#line 117 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp6_ = _tmp8_ == BOXES_MACHINE_MACHINE_STATE_FORCE_STOPPED;
#line 5039 "machine.c"
	}
#line 117 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp6_) {
#line 118 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_screenshot (self, NULL, FALSE);
#line 5045 "machine.c"
	} else {
		GdkPixbuf* _tmp9_;
#line 121 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp9_ = self->priv->orig_pixbuf;
#line 121 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_tmp9_ != NULL) {
#line 5052 "machine.c"
			GdkPixbuf* _tmp10_;
			GdkPixbuf* _tmp11_;
			GdkPixbuf* _tmp12_;
#line 122 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp10_ = self->priv->orig_pixbuf;
#line 122 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp11_ = boxes_machine_draw_vm (self, _tmp10_, BOXES_MACHINE_SCREENSHOT_WIDTH, BOXES_MACHINE_SCREENSHOT_HEIGHT);
#line 122 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp12_ = _tmp11_;
#line 122 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			boxes_machine_set_pixbuf (self, _tmp12_);
#line 122 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_object_unref0 (_tmp12_);
#line 5066 "machine.c"
		}
	}
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp19_ = boxes_machine_get_display (self);
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp20_ = _tmp19_;
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp20_ != NULL) {
#line 5075 "machine.c"
		gboolean _tmp21_;
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp21_ = self->stay_on_display;
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp18_ = !_tmp21_;
#line 5081 "machine.c"
	} else {
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp18_ = FALSE;
#line 5085 "machine.c"
	}
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp18_) {
#line 5089 "machine.c"
		BoxesAppWindow* _tmp22_;
		BoxesAppWindow* _tmp23_;
#line 129 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp22_ = boxes_machine_get_window (self);
#line 129 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp23_ = _tmp22_;
#line 129 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp17_ = _tmp23_ != NULL;
#line 5098 "machine.c"
	} else {
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp17_ = FALSE;
#line 5102 "machine.c"
	}
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp17_) {
#line 5106 "machine.c"
		BoxesAppWindow* _tmp24_;
		BoxesAppWindow* _tmp25_;
		BoxesCollectionItem* _tmp26_;
		BoxesCollectionItem* _tmp27_;
#line 130 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp24_ = boxes_machine_get_window (self);
#line 130 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp25_ = _tmp24_;
#line 130 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp26_ = boxes_app_window_get_current_item (_tmp25_);
#line 130 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp27_ = _tmp26_;
#line 130 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp16_ = _tmp27_ == G_TYPE_CHECK_INSTANCE_CAST (self, BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItem);
#line 5121 "machine.c"
	} else {
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp16_ = FALSE;
#line 5125 "machine.c"
	}
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp16_) {
#line 5129 "machine.c"
		BoxesMachineMachineState _tmp28_;
#line 131 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp28_ = value;
#line 131 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp15_ = _tmp28_ != BOXES_MACHINE_MACHINE_STATE_RUNNING;
#line 5135 "machine.c"
	} else {
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp15_ = FALSE;
#line 5139 "machine.c"
	}
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp15_) {
#line 5143 "machine.c"
		BoxesAppWindow* _tmp29_;
		BoxesAppWindow* _tmp30_;
		BoxesUIState _tmp31_;
		BoxesUIState _tmp32_;
#line 132 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp29_ = boxes_machine_get_window (self);
#line 132 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp30_ = _tmp29_;
#line 132 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp31_ = boxes_ui_get_ui_state ((BoxesUI*) _tmp30_);
#line 132 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp32_ = _tmp31_;
#line 132 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp14_ = _tmp32_ != BOXES_UI_STATE_PROPERTIES;
#line 5158 "machine.c"
	} else {
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp14_ = FALSE;
#line 5162 "machine.c"
	}
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp14_) {
#line 5166 "machine.c"
		BoxesMachineMachineState _tmp33_;
#line 133 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp33_ = value;
#line 133 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp13_ = _tmp33_ != BOXES_MACHINE_MACHINE_STATE_UNKNOWN;
#line 5172 "machine.c"
	} else {
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp13_ = FALSE;
#line 5176 "machine.c"
	}
#line 128 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp13_) {
#line 5180 "machine.c"
		BoxesAppWindow* _tmp34_;
		BoxesAppWindow* _tmp35_;
#line 134 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp34_ = boxes_machine_get_window (self);
#line 134 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp35_ = _tmp34_;
#line 134 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_ui_set_state ((BoxesUI*) _tmp35_, BOXES_UI_STATE_COLLECTION);
#line 5189 "machine.c"
	}
#line 114 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_notify_by_pspec ((GObject *) self, boxes_machine_properties[BOXES_MACHINE_STATE]);
#line 5193 "machine.c"
}


BoxesAppWindow* boxes_machine_get_window (BoxesMachine* self) {
	BoxesAppWindow* result;
	BoxesAppWindow* _tmp0_ = NULL;
	BoxesAppWindow* _tmp1_;
#line 141 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 141 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = self->priv->_window;
#line 141 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = _tmp1_;
#line 141 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp0_ == NULL) {
#line 5209 "machine.c"
		BoxesApp* _tmp2_;
		BoxesAppWindow* _tmp3_;
		BoxesAppWindow* _tmp4_;
#line 141 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp2_ = boxes_app_app;
#line 141 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp3_ = boxes_app_get_main_window (_tmp2_);
#line 141 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = _tmp3_;
#line 141 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = _tmp4_;
#line 5221 "machine.c"
	}
#line 141 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 141 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 5227 "machine.c"
}


void boxes_machine_set_window (BoxesMachine* self, BoxesAppWindow* value) {
	BoxesAppWindow* _tmp0_;
#line 142 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 142 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = value;
#line 142 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->_window = _tmp0_;
#line 142 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_notify_by_pspec ((GObject *) self, boxes_machine_properties[BOXES_MACHINE_WINDOW]);
#line 5241 "machine.c"
}


gboolean boxes_machine_get_deleted (BoxesMachine* self) {
	gboolean result;
	gboolean _tmp0_;
#line 145 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 145 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->_deleted;
#line 145 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 145 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 5256 "machine.c"
}


static void boxes_machine_set_deleted (BoxesMachine* self, gboolean value) {
#line 145 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 145 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (boxes_machine_get_deleted (self) != value) {
#line 5265 "machine.c"
		gboolean _tmp0_;
#line 145 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp0_ = value;
#line 145 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->_deleted = _tmp0_;
#line 145 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_machine_properties[BOXES_MACHINE_DELETED]);
#line 5273 "machine.c"
	}
}


BoxesDisplay* boxes_machine_get_display (BoxesMachine* self) {
	BoxesDisplay* result;
	BoxesDisplay* _tmp0_;
#line 173 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 173 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->_display;
#line 173 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	result = _tmp0_;
#line 173 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	return result;
#line 5289 "machine.c"
}


static void _boxes_machine_display___lambda224_ (BoxesMachine* self, gint id) {
#line 197 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_show_display (self);
#line 5296 "machine.c"
}


static void __boxes_machine_display___lambda224__boxes_display_show (BoxesDisplay* _sender, gint display_id, gpointer self) {
#line 197 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_boxes_machine_display___lambda224_ ((BoxesMachine*) self, display_id);
#line 5303 "machine.c"
}


static void _boxes_machine_display___lambda225_ (BoxesMachine* self, gint id) {
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
#line 200 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = boxes_machine_get_window (self);
#line 200 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = _tmp0_;
#line 200 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp1_ != NULL) {
#line 5316 "machine.c"
		BoxesAppWindow* _tmp2_;
		BoxesAppWindow* _tmp3_;
		BoxesDisplayPage* _tmp4_;
		GtkWidget* _tmp5_;
		GtkWidget* _tmp6_;
#line 201 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp2_ = boxes_machine_get_window (self);
#line 201 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp3_ = _tmp2_;
#line 201 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = _tmp3_->display_page;
#line 201 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp5_ = boxes_display_page_remove_display (_tmp4_);
#line 201 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp6_ = _tmp5_;
#line 201 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_g_object_unref0 (_tmp6_);
#line 5334 "machine.c"
	}
}


static void __boxes_machine_display___lambda225__boxes_display_hide (BoxesDisplay* _sender, gint display_id, gpointer self) {
#line 199 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_boxes_machine_display___lambda225_ ((BoxesMachine*) self, display_id);
#line 5342 "machine.c"
}


static void _boxes_machine_display___lambda226_ (BoxesMachine* self, const gchar* message) {
	const gchar* _tmp0_;
#line 204 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (message != NULL);
#line 205 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = message;
#line 205 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_signal_emit (self, boxes_machine_signals[BOXES_MACHINE_GOT_ERROR_SIGNAL], 0, _tmp0_);
#line 5354 "machine.c"
}


static void __boxes_machine_display___lambda226__boxes_display_got_error (BoxesDisplay* _sender, const gchar* message, gpointer self) {
#line 204 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_boxes_machine_display___lambda226_ ((BoxesMachine*) self, message);
#line 5361 "machine.c"
}


static const gchar* string_to_string (const gchar* self) {
	const gchar* result = NULL;
#line 1442 "/home/fborges/jhbuild/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1443 "/home/fborges/jhbuild/install/share/vala-0.38/vapi/glib-2.0.vapi"
	result = self;
#line 1443 "/home/fborges/jhbuild/install/share/vala-0.38/vapi/glib-2.0.vapi"
	return result;
#line 5373 "machine.c"
}


static void _boxes_machine_display___lambda227_ (BoxesMachine* self, gboolean failed) {
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	BoxesAppWindow* _tmp5_;
	BoxesAppWindow* _tmp6_;
	gboolean _tmp7_ = FALSE;
	BoxesAppWindow* _tmp8_;
	BoxesAppWindow* _tmp9_;
	BoxesUIState _tmp10_;
	BoxesUIState _tmp11_;
#line 209 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = boxes_collection_item_get_name ((BoxesCollectionItem*) self);
#line 209 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = _tmp0_;
#line 209 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = string_to_string (_tmp1_);
#line 209 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = g_strconcat ("display ", _tmp2_, " disconnected", NULL);
#line 209 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = _tmp3_;
#line 209 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_message ("machine.vala:209: %s", _tmp4_);
#line 209 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_free0 (_tmp4_);
#line 210 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp5_ = boxes_machine_get_window (self);
#line 210 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp6_ = _tmp5_;
#line 210 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp6_ == NULL) {
#line 211 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return;
#line 5412 "machine.c"
	}
#line 213 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp8_ = boxes_machine_get_window (self);
#line 213 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp9_ = _tmp8_;
#line 213 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp10_ = boxes_ui_get_ui_state ((BoxesUI*) _tmp9_);
#line 213 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp11_ = _tmp10_;
#line 213 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp11_ == BOXES_UI_STATE_CREDS) {
#line 213 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp7_ = TRUE;
#line 5426 "machine.c"
	} else {
		BoxesAppWindow* _tmp12_;
		BoxesAppWindow* _tmp13_;
		BoxesUIState _tmp14_;
		BoxesUIState _tmp15_;
#line 213 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp12_ = boxes_machine_get_window (self);
#line 213 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp13_ = _tmp12_;
#line 213 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp14_ = boxes_ui_get_ui_state ((BoxesUI*) _tmp13_);
#line 213 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp15_ = _tmp14_;
#line 213 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp7_ = _tmp15_ == BOXES_UI_STATE_DISPLAY;
#line 5442 "machine.c"
	}
#line 213 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp7_) {
#line 5446 "machine.c"
		gboolean _tmp16_ = FALSE;
		gboolean _tmp17_;
		gboolean _tmp24_;
#line 214 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp17_ = self->stay_on_display;
#line 214 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (!_tmp17_) {
#line 5454 "machine.c"
			BoxesAppWindow* _tmp18_;
			BoxesAppWindow* _tmp19_;
			BoxesCollectionItem* _tmp20_;
			BoxesCollectionItem* _tmp21_;
#line 214 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp18_ = boxes_machine_get_window (self);
#line 214 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp19_ = _tmp18_;
#line 214 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp20_ = boxes_app_window_get_current_item (_tmp19_);
#line 214 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp21_ = _tmp20_;
#line 214 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp16_ = _tmp21_ == G_TYPE_CHECK_INSTANCE_CAST (self, BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItem);
#line 5469 "machine.c"
		} else {
#line 214 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp16_ = FALSE;
#line 5473 "machine.c"
		}
#line 214 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_tmp16_) {
#line 5477 "machine.c"
			BoxesAppWindow* _tmp22_;
			BoxesAppWindow* _tmp23_;
#line 215 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp22_ = boxes_machine_get_window (self);
#line 215 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp23_ = _tmp22_;
#line 215 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			boxes_ui_set_state ((BoxesUI*) _tmp23_, BOXES_UI_STATE_COLLECTION);
#line 5486 "machine.c"
		}
#line 217 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp24_ = failed;
#line 217 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		if (_tmp24_) {
#line 5492 "machine.c"
			BoxesAppWindow* _tmp25_;
			BoxesAppWindow* _tmp26_;
			BoxesNotificationbar* _tmp27_;
			BoxesNotificationbar* _tmp28_;
			const gchar* _tmp29_;
			const gchar* _tmp30_;
			gchar* _tmp31_;
			gchar* _tmp32_;
			BoxesNotification* _tmp33_;
			BoxesNotification* _tmp34_;
#line 218 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp25_ = boxes_machine_get_window (self);
#line 218 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp26_ = _tmp25_;
#line 218 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp27_ = boxes_app_window_get_notificationbar (_tmp26_);
#line 218 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp28_ = _tmp27_;
#line 218 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp29_ = boxes_collection_item_get_name ((BoxesCollectionItem*) self);
#line 218 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp30_ = _tmp29_;
#line 218 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp31_ = g_strdup_printf (_ ("Connection to “%s” failed"), _tmp30_);
#line 218 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp32_ = _tmp31_;
#line 218 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp33_ = boxes_notificationbar_display_error (_tmp28_, _tmp32_, BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT);
#line 218 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_tmp34_ = _tmp33_;
#line 218 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_object_unref0 (_tmp34_);
#line 218 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
			_g_free0 (_tmp32_);
#line 5527 "machine.c"
		}
	}
#line 221 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_load_screenshot (self);
#line 223 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_disconnect_display (self);
#line 5534 "machine.c"
}


static void __boxes_machine_display___lambda227__boxes_display_disconnected (BoxesDisplay* _sender, gboolean connection_failed, gpointer self) {
#line 208 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_boxes_machine_display___lambda227_ ((BoxesMachine*) self, connection_failed);
#line 5541 "machine.c"
}


static void _boxes_machine_handle_auth_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 226 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_handle_auth ((BoxesMachine*) self);
#line 5548 "machine.c"
}


void boxes_machine_set_display (BoxesMachine* self, BoxesDisplay* value) {
	BoxesDisplay* _tmp0_;
	BoxesDisplay* _tmp13_;
	BoxesDisplay* _tmp14_;
	BoxesDisplay* _tmp15_;
	BoxesAppWindow* _tmp16_;
	BoxesAppWindow* _tmp17_;
	BoxesTopbar* _tmp18_;
	const gchar* _tmp19_;
	const gchar* _tmp20_;
	gchar* _tmp21_;
	gchar* _tmp22_;
	BoxesDisplay* _tmp23_;
	gulong _tmp24_;
	BoxesDisplay* _tmp25_;
	gulong _tmp26_;
	BoxesDisplay* _tmp27_;
	gulong _tmp28_;
	BoxesDisplay* _tmp29_;
	gulong _tmp30_;
	BoxesDisplay* _tmp31_;
	gulong _tmp32_;
	BoxesDisplay* _tmp33_;
	gulong _tmp34_;
	BoxesDisplay* _tmp35_;
	const gchar* _tmp36_;
	BoxesDisplay* _tmp37_;
	const gchar* _tmp38_;
#line 174 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_return_if_fail (self != NULL);
#line 175 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = self->priv->_display;
#line 175 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp0_ != NULL) {
#line 5586 "machine.c"
		BoxesDisplay* _tmp1_;
		gulong _tmp2_;
		BoxesDisplay* _tmp3_;
		gulong _tmp4_;
		BoxesDisplay* _tmp5_;
		gulong _tmp6_;
		BoxesDisplay* _tmp7_;
		gulong _tmp8_;
		BoxesDisplay* _tmp9_;
		gulong _tmp10_;
		BoxesDisplay* _tmp11_;
		gulong _tmp12_;
#line 176 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp1_ = self->priv->_display;
#line 176 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp2_ = self->priv->show_id;
#line 176 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_signal_handler_disconnect ((GObject*) _tmp1_, _tmp2_);
#line 177 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->show_id = (gulong) 0;
#line 178 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp3_ = self->priv->_display;
#line 178 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp4_ = self->priv->hide_id;
#line 178 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_signal_handler_disconnect ((GObject*) _tmp3_, _tmp4_);
#line 179 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->hide_id = (gulong) 0;
#line 180 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp5_ = self->priv->_display;
#line 180 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp6_ = self->priv->disconnected_id;
#line 180 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_signal_handler_disconnect ((GObject*) _tmp5_, _tmp6_);
#line 181 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->disconnected_id = (gulong) 0;
#line 182 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp7_ = self->priv->_display;
#line 182 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp8_ = self->priv->need_password_id;
#line 182 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_signal_handler_disconnect ((GObject*) _tmp7_, _tmp8_);
#line 183 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->need_password_id = (gulong) 0;
#line 184 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp9_ = self->priv->_display;
#line 184 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp10_ = self->priv->need_username_id;
#line 184 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_signal_handler_disconnect ((GObject*) _tmp9_, _tmp10_);
#line 185 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->need_username_id = (gulong) 0;
#line 186 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp11_ = self->priv->_display;
#line 186 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		_tmp12_ = self->priv->got_error_id;
#line 186 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_signal_handler_disconnect ((GObject*) _tmp11_, _tmp12_);
#line 187 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		self->priv->got_error_id = (gulong) 0;
#line 5647 "machine.c"
	}
#line 190 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp13_ = value;
#line 190 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp14_ = _g_object_ref0 (_tmp13_);
#line 190 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->priv->_display);
#line 190 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->_display = _tmp14_;
#line 191 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp15_ = self->priv->_display;
#line 191 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	if (_tmp15_ == NULL) {
#line 192 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		return;
#line 5663 "machine.c"
	}
#line 195 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp16_ = boxes_machine_get_window (self);
#line 195 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp17_ = _tmp16_;
#line 195 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp18_ = _tmp17_->topbar;
#line 195 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp19_ = boxes_collection_item_get_name ((BoxesCollectionItem*) self);
#line 195 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp20_ = _tmp19_;
#line 195 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp21_ = g_strdup_printf (_ ("Connecting to %s"), _tmp20_);
#line 195 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp22_ = _tmp21_;
#line 195 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_topbar_set_status (_tmp18_, _tmp22_);
#line 195 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_free0 (_tmp22_);
#line 197 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp23_ = self->priv->_display;
#line 197 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp24_ = g_signal_connect_object (_tmp23_, "show", (GCallback) __boxes_machine_display___lambda224__boxes_display_show, self, 0);
#line 197 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->show_id = _tmp24_;
#line 199 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp25_ = self->priv->_display;
#line 199 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp26_ = g_signal_connect_object (_tmp25_, "hide", (GCallback) __boxes_machine_display___lambda225__boxes_display_hide, self, 0);
#line 199 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->hide_id = _tmp26_;
#line 204 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp27_ = self->priv->_display;
#line 204 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp28_ = g_signal_connect_object (_tmp27_, "got-error", (GCallback) __boxes_machine_display___lambda226__boxes_display_got_error, self, 0);
#line 204 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->got_error_id = _tmp28_;
#line 208 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp29_ = self->priv->_display;
#line 208 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp30_ = g_signal_connect_object (_tmp29_, "disconnected", (GCallback) __boxes_machine_display___lambda227__boxes_display_disconnected, self, 0);
#line 208 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->disconnected_id = _tmp30_;
#line 226 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp31_ = self->priv->_display;
#line 226 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp32_ = g_signal_connect_object ((GObject*) _tmp31_, "notify::need-password", (GCallback) _boxes_machine_handle_auth_g_object_notify, self, 0);
#line 226 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->need_password_id = _tmp32_;
#line 227 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp33_ = self->priv->_display;
#line 227 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp34_ = g_signal_connect_object ((GObject*) _tmp33_, "notify::need-username", (GCallback) _boxes_machine_handle_auth_g_object_notify, self, 0);
#line 227 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->need_username_id = _tmp34_;
#line 229 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp35_ = self->priv->_display;
#line 229 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp36_ = self->priv->username;
#line 229 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_display_set_username (_tmp35_, _tmp36_);
#line 230 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp37_ = self->priv->_display;
#line 230 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp38_ = self->priv->password;
#line 230 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_display_set_password (_tmp37_, _tmp38_);
#line 174 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_notify_by_pspec ((GObject *) self, boxes_machine_properties[BOXES_MACHINE_DISPLAY]);
#line 5733 "machine.c"
}


static void boxes_machine_class_init (BoxesMachineClass * klass) {
	cairo_surface_t* _tmp0_;
	cairo_t* cr = NULL;
	cairo_surface_t* _tmp1_;
	cairo_t* _tmp2_;
	cairo_t* _tmp3_;
	cairo_t* _tmp4_;
	cairo_t* _tmp5_;
	cairo_t* _tmp6_;
	cairo_t* _tmp7_;
	cairo_t* _tmp8_;
	cairo_t* _tmp9_;
	cairo_t* _tmp10_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_parent_class = g_type_class_peek_parent (klass);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_type_class_add_private (klass, sizeof (BoxesMachinePrivate));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	((BoxesMachineClass *) klass)->save_real = (void (*) (BoxesMachine *, GAsyncReadyCallback, gpointer)) boxes_machine_real_save_real;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	((BoxesMachineClass *) klass)->save_real_finish = (void (*) (BoxesMachine *, GAsyncResult*, GError**)) boxes_machine_real_save_real_finish;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	((BoxesMachineClass *) klass)->take_screenshot = (void (*) (BoxesMachine *, GAsyncReadyCallback, gpointer)) boxes_machine_real_take_screenshot;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	((BoxesMachineClass *) klass)->take_screenshot_finish = (GdkPixbuf* (*) (BoxesMachine *, GAsyncResult*, GError**)) boxes_machine_real_take_screenshot_finish;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	((BoxesMachineClass *) klass)->get_properties = (GList* (*) (BoxesMachine *, BoxesPropertiesPage)) boxes_machine_real_get_properties;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	((BoxesMachineClass *) klass)->restart = (void (*) (BoxesMachine *)) boxes_machine_real_restart;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	((BoxesMachineClass *) klass)->disconnect_display = (void (*) (BoxesMachine *)) boxes_machine_real_disconnect_display;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	((BoxesMachineClass *) klass)->update_status = (void (*) (BoxesMachine *)) boxes_machine_real_update_status;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	((BoxesMachineClass *) klass)->delete = (void (*) (BoxesMachine *, gboolean)) boxes_machine_real_delete;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	((BoxesCollectionItemClass *) klass)->compare = (gint (*) (BoxesCollectionItem *, BoxesCollectionItem*)) boxes_machine_real_compare;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_CLASS (klass)->get_suspend_at_exit = boxes_machine_real_get_suspend_at_exit;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_CLASS (klass)->get_can_save = boxes_machine_real_get_can_save;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_CLASS (klass)->get_should_autosave = boxes_machine_real_get_should_autosave;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	BOXES_MACHINE_CLASS (klass)->get_is_local = boxes_machine_real_get_is_local;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_machine_get_property;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_boxes_machine_set_property;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_machine_finalize;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_PIXBUF, boxes_machine_properties[BOXES_MACHINE_PIXBUF] = g_param_spec_object ("pixbuf", "pixbuf", "pixbuf", gdk_pixbuf_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_THUMBNAILER, boxes_machine_properties[BOXES_MACHINE_THUMBNAILER] = g_param_spec_object ("thumbnailer", "thumbnailer", "thumbnailer", BOXES_TYPE_MACHINE_THUMBNAILER, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_INFO, boxes_machine_properties[BOXES_MACHINE_INFO] = g_param_spec_string ("info", "info", "info", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_STATUS, boxes_machine_properties[BOXES_MACHINE_STATUS] = g_param_spec_string ("status", "status", "status", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_SUSPEND_AT_EXIT, boxes_machine_properties[BOXES_MACHINE_SUSPEND_AT_EXIT] = g_param_spec_boolean ("suspend-at-exit", "suspend-at-exit", "suspend-at-exit", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_CAN_SAVE, boxes_machine_properties[BOXES_MACHINE_CAN_SAVE] = g_param_spec_boolean ("can-save", "can-save", "can-save", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_CAN_RESTART, boxes_machine_properties[BOXES_MACHINE_CAN_RESTART] = g_param_spec_boolean ("can-restart", "can-restart", "can-restart", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_CAN_CLONE, boxes_machine_properties[BOXES_MACHINE_CAN_CLONE] = g_param_spec_boolean ("can-clone", "can-clone", "can-clone", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_CAN_DELETE, boxes_machine_properties[BOXES_MACHINE_CAN_DELETE] = g_param_spec_boolean ("can-delete", "can-delete", "can-delete", TRUE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_UNDER_CONSTRUCTION, boxes_machine_properties[BOXES_MACHINE_UNDER_CONSTRUCTION] = g_param_spec_boolean ("under-construction", "under-construction", "under-construction", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_SHOULD_AUTOSAVE, boxes_machine_properties[BOXES_MACHINE_SHOULD_AUTOSAVE] = g_param_spec_boolean ("should-autosave", "should-autosave", "should-autosave", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_IS_CONNECTED, boxes_machine_properties[BOXES_MACHINE_IS_CONNECTED] = g_param_spec_boolean ("is-connected", "is-connected", "is-connected", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_IS_RUNNING, boxes_machine_properties[BOXES_MACHINE_IS_RUNNING] = g_param_spec_boolean ("is-running", "is-running", "is-running", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_IS_ON, boxes_machine_properties[BOXES_MACHINE_IS_ON] = g_param_spec_boolean ("is-on", "is-on", "is-on", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_IS_STOPPED, boxes_machine_properties[BOXES_MACHINE_IS_STOPPED] = g_param_spec_boolean ("is-stopped", "is-stopped", "is-stopped", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_IS_LOCAL, boxes_machine_properties[BOXES_MACHINE_IS_LOCAL] = g_param_spec_boolean ("is-local", "is-local", "is-local", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_CONNECTING_CANCELLABLE, boxes_machine_properties[BOXES_MACHINE_CONNECTING_CANCELLABLE] = g_param_spec_object ("connecting-cancellable", "connecting-cancellable", "connecting-cancellable", g_cancellable_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_STATE, boxes_machine_properties[BOXES_MACHINE_STATE] = g_param_spec_enum ("state", "state", "state", BOXES_MACHINE_TYPE_MACHINE_STATE, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_WINDOW, boxes_machine_properties[BOXES_MACHINE_WINDOW] = g_param_spec_object ("window", "window", "window", BOXES_TYPE_APP_WINDOW, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_DELETED, boxes_machine_properties[BOXES_MACHINE_DELETED] = g_param_spec_boolean ("deleted", "deleted", "deleted", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_MACHINE_DISPLAY, boxes_machine_properties[BOXES_MACHINE_DISPLAY] = g_param_spec_object ("display", "display", "display", BOXES_TYPE_DISPLAY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_signals[BOXES_MACHINE_GOT_ERROR_SIGNAL] = g_signal_new ("got_error", BOXES_TYPE_MACHINE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
#line 235 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp0_ = cairo_image_surface_create (CAIRO_FORMAT_A8, 2, 2);
#line 235 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_cairo_surface_destroy0 (boxes_machine_grid_surface);
#line 235 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_grid_surface = _tmp0_;
#line 236 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp1_ = boxes_machine_grid_surface;
#line 236 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp2_ = cairo_create (_tmp1_);
#line 236 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	cr = _tmp2_;
#line 237 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp3_ = cr;
#line 237 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	cairo_set_source_rgba (_tmp3_, (gdouble) 0, (gdouble) 0, (gdouble) 0, (gdouble) 0);
#line 238 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp4_ = cr;
#line 238 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	cairo_paint (_tmp4_);
#line 240 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp5_ = cr;
#line 240 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	cairo_set_source_rgba (_tmp5_, (gdouble) 1, (gdouble) 1, (gdouble) 1, (gdouble) 1);
#line 241 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp6_ = cr;
#line 241 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	cairo_set_operator (_tmp6_, CAIRO_OPERATOR_SOURCE);
#line 242 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp7_ = cr;
#line 242 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	cairo_rectangle (_tmp7_, (gdouble) 0, (gdouble) 0, (gdouble) 1, (gdouble) 1);
#line 243 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp8_ = cr;
#line 243 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	cairo_fill (_tmp8_);
#line 244 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp9_ = cr;
#line 244 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	cairo_rectangle (_tmp9_, (gdouble) 1, (gdouble) 1, (gdouble) 1, (gdouble) 1);
#line 245 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_tmp10_ = cr;
#line 245 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	cairo_fill (_tmp10_);
#line 234 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_cairo_destroy0 (cr);
#line 5878 "machine.c"
}


static void boxes_machine_boxes_iproperties_provider_interface_init (BoxesIPropertiesProviderIface * iface) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	boxes_machine_boxes_iproperties_provider_parent_iface = g_type_interface_peek_parent (iface);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	iface->get_properties = (GList* (*) (BoxesIPropertiesProvider *, BoxesPropertiesPage)) boxes_machine_get_properties;
#line 5887 "machine.c"
}


static void boxes_machine_instance_init (BoxesMachine * self) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv = BOXES_MACHINE_GET_PRIVATE (self);
#line 20 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->_can_delete = TRUE;
#line 21 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self->priv->_under_construction = FALSE;
#line 5898 "machine.c"
}


static void boxes_machine_finalize (GObject * obj) {
	BoxesMachine * self;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_MACHINE, BoxesMachine);
#line 8 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->source);
#line 9 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->config);
#line 10 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->priv->_pixbuf);
#line 11 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->priv->_thumbnailer);
#line 13 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_free0 (self->priv->_info);
#line 14 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_free0 (self->priv->_status);
#line 86 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_free0 (self->priv->username);
#line 87 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_free0 (self->priv->password);
#line 91 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->priv->_connecting_cancellable);
#line 110 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->priv->orig_pixbuf);
#line 171 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->priv->_display);
#line 566 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->priv->name_status_bind);
#line 621 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	_g_object_unref0 (self->priv->auth_notification);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	G_OBJECT_CLASS (boxes_machine_parent_class)->finalize (obj);
#line 5934 "machine.c"
}


GType boxes_machine_get_type (void) {
	static volatile gsize boxes_machine_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_machine_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesMachineClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_machine_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesMachine), 0, (GInstanceInitFunc) boxes_machine_instance_init, NULL };
		static const GInterfaceInfo boxes_iproperties_provider_info = { (GInterfaceInitFunc) boxes_machine_boxes_iproperties_provider_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType boxes_machine_type_id;
		boxes_machine_type_id = g_type_register_static (BOXES_TYPE_COLLECTION_ITEM, "BoxesMachine", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
		g_type_add_interface_static (boxes_machine_type_id, BOXES_TYPE_IPROPERTIES_PROVIDER, &boxes_iproperties_provider_info);
		g_once_init_leave (&boxes_machine_type_id__volatile, boxes_machine_type_id);
	}
	return boxes_machine_type_id__volatile;
}


static void _vala_boxes_machine_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	BoxesMachine * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_MACHINE, BoxesMachine);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	switch (property_id) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_PIXBUF:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_object (value, boxes_machine_get_pixbuf (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_THUMBNAILER:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_object (value, boxes_machine_get_thumbnailer (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_INFO:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_string (value, boxes_machine_get_info (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_STATUS:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_string (value, boxes_machine_get_status (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_SUSPEND_AT_EXIT:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_boolean (value, boxes_machine_get_suspend_at_exit (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_CAN_SAVE:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_boolean (value, boxes_machine_get_can_save (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_CAN_DELETE:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_boolean (value, boxes_machine_get_can_delete (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_UNDER_CONSTRUCTION:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_boolean (value, boxes_machine_get_under_construction (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_SHOULD_AUTOSAVE:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_boolean (value, boxes_machine_get_should_autosave (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_IS_CONNECTED:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_boolean (value, boxes_machine_get_is_connected (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_IS_RUNNING:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_boolean (value, boxes_machine_get_is_running (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_IS_ON:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_boolean (value, boxes_machine_get_is_on (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_IS_STOPPED:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_boolean (value, boxes_machine_get_is_stopped (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_IS_LOCAL:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_boolean (value, boxes_machine_get_is_local (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_CONNECTING_CANCELLABLE:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_object (value, boxes_machine_get_connecting_cancellable (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_STATE:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_enum (value, boxes_machine_get_state (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_WINDOW:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_object (value, boxes_machine_get_window (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_DELETED:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_boolean (value, boxes_machine_get_deleted (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_DISPLAY:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		g_value_set_object (value, boxes_machine_get_display (self));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 6071 "machine.c"
		default:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 6077 "machine.c"
	}
}


static void _vala_boxes_machine_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	BoxesMachine * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_MACHINE, BoxesMachine);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
	switch (property_id) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_PIXBUF:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_pixbuf (self, g_value_get_object (value));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_THUMBNAILER:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_thumbnailer (self, g_value_get_object (value));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_INFO:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_info (self, g_value_get_string (value));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_STATUS:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_status (self, g_value_get_string (value));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_CAN_DELETE:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_can_delete (self, g_value_get_boolean (value));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_UNDER_CONSTRUCTION:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_under_construction (self, g_value_get_boolean (value));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_CONNECTING_CANCELLABLE:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_connecting_cancellable (self, g_value_get_object (value));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_STATE:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_state (self, g_value_get_enum (value));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_WINDOW:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_window (self, g_value_get_object (value));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_DELETED:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_deleted (self, g_value_get_boolean (value));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		case BOXES_MACHINE_DISPLAY:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		boxes_machine_set_display (self, g_value_get_object (value));
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 6153 "machine.c"
		default:
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 5 "/home/fborges/checkout/gnome-boxes/src/machine.vala"
		break;
#line 6159 "machine.c"
	}
}



