/* libvirt-broker.c generated by valac 0.36.1.38-6532, the Vala compiler
 * generated from libvirt-broker.vala, do not modify */

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

#include <glib.h>
#include <glib-object.h>
#include <gio/gio.h>
#include <libcommon.h>
#include <stdlib.h>
#include <string.h>
#include <libvirt-gobject/libvirt-gobject.h>
#include <gtk/gtk.h>
#include <libvirt-gconfig/libvirt-gconfig.h>
#include <osinfo/osinfo.h>


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

typedef struct _BoxesBroker BoxesBroker;
typedef struct _BoxesBrokerClass BoxesBrokerClass;
typedef struct _BoxesBrokerPrivate BoxesBrokerPrivate;

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

typedef struct _BoxesLibvirtBroker BoxesLibvirtBroker;
typedef struct _BoxesLibvirtBrokerClass BoxesLibvirtBrokerClass;
typedef struct _BoxesLibvirtBrokerPrivate BoxesLibvirtBrokerPrivate;
enum  {
	BOXES_LIBVIRT_BROKER_DUMMY_PROPERTY,
	BOXES_LIBVIRT_BROKER_LAST_PROPERTY
};
static GParamSpec* boxes_libvirt_broker_properties[BOXES_LIBVIRT_BROKER_LAST_PROPERTY];
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

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

typedef struct _BoxesCollectionItem BoxesCollectionItem;
typedef struct _BoxesCollectionItemClass BoxesCollectionItemClass;

#define BOXES_TYPE_MACHINE (boxes_machine_get_type ())
#define BOXES_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_MACHINE, BoxesMachine))
#define BOXES_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_MACHINE, BoxesMachineClass))
#define BOXES_IS_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_MACHINE))
#define BOXES_IS_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_MACHINE))
#define BOXES_MACHINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_MACHINE, BoxesMachineClass))

typedef struct _BoxesMachine BoxesMachine;
typedef struct _BoxesMachineClass BoxesMachineClass;

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

typedef struct _BoxesLibvirtMachine BoxesLibvirtMachine;
typedef struct _BoxesLibvirtMachineClass BoxesLibvirtMachineClass;
typedef struct _Block34Data Block34Data;
typedef struct _Block35Data Block35Data;

#define BOXES_TYPE_APP (boxes_app_get_type ())
#define BOXES_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_APP, BoxesApp))
#define BOXES_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_APP, BoxesAppClass))
#define BOXES_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_APP))
#define BOXES_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_APP))
#define BOXES_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_APP, BoxesAppClass))

typedef struct _BoxesApp BoxesApp;
typedef struct _BoxesAppClass BoxesAppClass;
typedef struct _BoxesAppPrivate BoxesAppPrivate;

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

typedef struct _BoxesCollection BoxesCollection;
typedef struct _BoxesCollectionClass BoxesCollectionClass;
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _BoxesLibvirtBrokerAddDomainData BoxesLibvirtBrokerAddDomainData;
typedef struct _BoxesLibvirtBrokerTryAddNewDomainData BoxesLibvirtBrokerTryAddNewDomainData;

#define BOXES_TYPE_VM_CREATOR (boxes_vm_creator_get_type ())
#define BOXES_VM_CREATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_VM_CREATOR, BoxesVMCreator))
#define BOXES_VM_CREATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_VM_CREATOR, BoxesVMCreatorClass))
#define BOXES_IS_VM_CREATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_VM_CREATOR))
#define BOXES_IS_VM_CREATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_VM_CREATOR))
#define BOXES_VM_CREATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_VM_CREATOR, BoxesVMCreatorClass))

typedef struct _BoxesVMCreator BoxesVMCreator;
typedef struct _BoxesVMCreatorClass BoxesVMCreatorClass;
#define _boxes_vm_creator_unref0(var) ((var == NULL) ? NULL : (var = (boxes_vm_creator_unref (var), NULL)))

#define BOXES_TYPE_VM_IMPORTER (boxes_vm_importer_get_type ())
#define BOXES_VM_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_VM_IMPORTER, BoxesVMImporter))
#define BOXES_VM_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_VM_IMPORTER, BoxesVMImporterClass))
#define BOXES_IS_VM_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_VM_IMPORTER))
#define BOXES_IS_VM_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_VM_IMPORTER))
#define BOXES_VM_IMPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_VM_IMPORTER, BoxesVMImporterClass))

typedef struct _BoxesVMImporter BoxesVMImporter;
typedef struct _BoxesVMImporterClass BoxesVMImporterClass;

#define BOXES_TYPE_LIBVIRT_VM_IMPORTER (boxes_libvirt_vm_importer_get_type ())
#define BOXES_LIBVIRT_VM_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_LIBVIRT_VM_IMPORTER, BoxesLibvirtVMImporter))
#define BOXES_LIBVIRT_VM_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_LIBVIRT_VM_IMPORTER, BoxesLibvirtVMImporterClass))
#define BOXES_IS_LIBVIRT_VM_IMPORTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_LIBVIRT_VM_IMPORTER))
#define BOXES_IS_LIBVIRT_VM_IMPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_LIBVIRT_VM_IMPORTER))
#define BOXES_LIBVIRT_VM_IMPORTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_LIBVIRT_VM_IMPORTER, BoxesLibvirtVMImporterClass))

typedef struct _BoxesLibvirtVMImporter BoxesLibvirtVMImporter;
typedef struct _BoxesLibvirtVMImporterClass BoxesLibvirtVMImporterClass;

#define BOXES_TYPE_LIBVIRT_VM_CLONER (boxes_libvirt_vm_cloner_get_type ())
#define BOXES_LIBVIRT_VM_CLONER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_LIBVIRT_VM_CLONER, BoxesLibvirtVMCloner))
#define BOXES_LIBVIRT_VM_CLONER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_LIBVIRT_VM_CLONER, BoxesLibvirtVMClonerClass))
#define BOXES_IS_LIBVIRT_VM_CLONER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_LIBVIRT_VM_CLONER))
#define BOXES_IS_LIBVIRT_VM_CLONER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_LIBVIRT_VM_CLONER))
#define BOXES_LIBVIRT_VM_CLONER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_LIBVIRT_VM_CLONER, BoxesLibvirtVMClonerClass))

typedef struct _BoxesLibvirtVMCloner BoxesLibvirtVMCloner;
typedef struct _BoxesLibvirtVMClonerClass BoxesLibvirtVMClonerClass;
typedef struct _BoxesLibvirtBrokerTryAddExistingDomainData BoxesLibvirtBrokerTryAddExistingDomainData;
typedef struct _Block36Data Block36Data;
typedef struct _Block37Data Block37Data;

#define BOXES_TYPE_INSTALLER_MEDIA (boxes_installer_media_get_type ())
#define BOXES_INSTALLER_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_INSTALLER_MEDIA, BoxesInstallerMedia))
#define BOXES_INSTALLER_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_INSTALLER_MEDIA, BoxesInstallerMediaClass))
#define BOXES_IS_INSTALLER_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_INSTALLER_MEDIA))
#define BOXES_IS_INSTALLER_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_INSTALLER_MEDIA))
#define BOXES_INSTALLER_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_INSTALLER_MEDIA, BoxesInstallerMediaClass))

typedef struct _BoxesInstallerMedia BoxesInstallerMedia;
typedef struct _BoxesInstallerMediaClass BoxesInstallerMediaClass;

#define BOXES_TYPE_INSTALLED_MEDIA (boxes_installed_media_get_type ())
#define BOXES_INSTALLED_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_INSTALLED_MEDIA, BoxesInstalledMedia))
#define BOXES_INSTALLED_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_INSTALLED_MEDIA, BoxesInstalledMediaClass))
#define BOXES_IS_INSTALLED_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_INSTALLED_MEDIA))
#define BOXES_IS_INSTALLED_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_INSTALLED_MEDIA))
#define BOXES_INSTALLED_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_INSTALLED_MEDIA, BoxesInstalledMediaClass))

typedef struct _BoxesInstalledMedia BoxesInstalledMedia;
typedef struct _BoxesInstalledMediaClass BoxesInstalledMediaClass;
typedef struct _BoxesInstallerMediaPrivate BoxesInstallerMediaPrivate;
typedef struct _BoxesCollectionPrivate BoxesCollectionPrivate;
typedef struct _BoxesLibvirtBrokerAddSourceData BoxesLibvirtBrokerAddSourceData;

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

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

struct _BoxesLibvirtBroker {
	BoxesBroker parent_instance;
	BoxesLibvirtBrokerPrivate * priv;
};

struct _BoxesLibvirtBrokerClass {
	BoxesBrokerClass parent_class;
};

struct _BoxesLibvirtBrokerPrivate {
	GHashTable* connections;
	GList* pending_domains;
};

struct _Block34Data {
	int _ref_count_;
	BoxesLibvirtBroker* self;
	GVirDomain* domain;
	gpointer _async_data_;
};

struct _Block35Data {
	int _ref_count_;
	Block34Data * _data34_;
	GSourceFunc callback;
	gpointer callback_target;
	GDestroyNotify callback_target_destroy_notify;
	gulong id;
};

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

struct _BoxesAppClass {
	GtkApplicationClass parent_class;
};

struct _BoxesLibvirtBrokerAddDomainData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	gboolean _task_complete_;
	BoxesLibvirtBroker* self;
	BoxesCollectionSource* source;
	GVirConnection* connection;
	GVirDomain* domain;
	BoxesLibvirtMachine* result;
	Block34Data* _data34_;
	GVirDomain* _tmp0_;
	BoxesLibvirtBroker* _tmp1_;
	GList* _tmp2_;
	GVirDomain* _tmp3_;
	GList* _tmp4_;
	Block35Data* _data35_;
	BoxesApp* _tmp5_;
	BoxesCollection* _tmp6_;
	gulong _tmp7_;
	BoxesLibvirtMachine* machine;
	GVirDomain* _tmp8_;
	gconstpointer _tmp9_;
	BoxesLibvirtMachine* _tmp10_;
	BoxesLibvirtMachine* _tmp11_;
	GVirDomain* _tmp12_;
	GVirDomain* _tmp13_;
	BoxesLibvirtMachine* _tmp14_;
	BoxesCollectionSource* _tmp15_;
	GVirConnection* _tmp16_;
	GVirDomain* _tmp17_;
	BoxesLibvirtMachine* _tmp18_;
	BoxesLibvirtMachine* _tmp19_;
	GVirDomain* _tmp20_;
	GVirDomain* _tmp21_;
	BoxesLibvirtMachine* _tmp22_;
	BoxesLibvirtMachine* _tmp23_;
	BoxesApp* _tmp24_;
	BoxesCollection* _tmp25_;
	BoxesLibvirtMachine* _tmp26_;
	BoxesCollectionSource* _tmp27_;
	gchar* _tmp28_;
	gchar* _tmp29_;
	gchar* _tmp30_;
	gboolean _tmp31_;
	GVirConfigDomain* config;
	BoxesLibvirtMachine* _tmp32_;
	GVirDomain* _tmp33_;
	GVirDomain* _tmp34_;
	GVirConfigDomain* _tmp35_;
	GVirConfigDomain* _tmp36_;
	GVirConnection* _tmp37_;
	BoxesLibvirtMachine* _tmp38_;
	GVirDomain* _tmp39_;
	GVirDomain* _tmp40_;
	GVirConfigDomain* _tmp41_;
	GError* e;
	GVirDomain* _tmp42_;
	const gchar* _tmp43_;
	GError* _tmp44_;
	const gchar* _tmp45_;
	GError * _inner_error_;
};

struct _BoxesLibvirtBrokerTryAddNewDomainData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	gboolean _task_complete_;
	BoxesLibvirtBroker* self;
	BoxesCollectionSource* source;
	GVirConnection* connection;
	GVirDomain* domain;
	GVirDomain* _tmp0_;
	const gchar* _tmp1_;
	gboolean _tmp2_;
	GVirDomain* _tmp3_;
	const gchar* _tmp4_;
	BoxesCollectionSource* _tmp5_;
	GVirConnection* _tmp6_;
	GVirDomain* _tmp7_;
	BoxesLibvirtMachine* _tmp8_;
	BoxesLibvirtMachine* _tmp9_;
	GError* _error_;
	BoxesCollectionSource* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	GError* _tmp14_;
	const gchar* _tmp15_;
	GError * _inner_error_;
};

struct _BoxesLibvirtBrokerTryAddExistingDomainData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	gboolean _task_complete_;
	BoxesLibvirtBroker* self;
	BoxesCollectionSource* source;
	GVirConnection* connection;
	GVirDomain* domain;
	BoxesLibvirtMachine* result;
	BoxesLibvirtMachine* machine;
	BoxesCollectionSource* _tmp0_;
	GVirConnection* _tmp1_;
	GVirDomain* _tmp2_;
	BoxesLibvirtMachine* _tmp3_;
	GVirConfigDomain* config;
	GVirConfigDomain* _tmp4_;
	GVirConfigDomain* _tmp5_;
	GVirConfigDomain* _tmp6_;
	gboolean _tmp7_;
	GVirConfigDomain* _tmp8_;
	gboolean _tmp9_;
	GVirConfigDomain* _tmp10_;
	gboolean _tmp11_;
	const gchar* _tmp12_;
	const gchar* _tmp13_;
	BoxesVMCreator* _tmp14_;
	BoxesVMCreator* _tmp15_;
	GVirConfigDomain* _tmp16_;
	gboolean _tmp17_;
	const gchar* _tmp18_;
	const gchar* _tmp19_;
	BoxesVMImporter* _tmp20_;
	BoxesVMImporter* _tmp21_;
	GVirConfigDomain* _tmp22_;
	gboolean _tmp23_;
	const gchar* _tmp24_;
	const gchar* _tmp25_;
	BoxesLibvirtVMImporter* _tmp26_;
	BoxesLibvirtVMImporter* _tmp27_;
	GVirConfigDomain* _tmp28_;
	gboolean _tmp29_;
	const gchar* _tmp30_;
	const gchar* _tmp31_;
	BoxesLibvirtVMCloner* _tmp32_;
	BoxesLibvirtVMCloner* _tmp33_;
	GError* _error_;
	BoxesCollectionSource* _tmp34_;
	gchar* _tmp35_;
	gchar* _tmp36_;
	gchar* _tmp37_;
	GError* _tmp38_;
	const gchar* _tmp39_;
	GError * _inner_error_;
};

struct _Block36Data {
	int _ref_count_;
	BoxesLibvirtBroker* self;
	BoxesCollectionSource* source;
	gpointer _async_data_;
};

struct _Block37Data {
	int _ref_count_;
	Block36Data * _data36_;
	BoxesLibvirtMachine* clone;
	BoxesLibvirtMachine* cloned;
	gulong under_construct_id;
};

struct _BoxesInstallerMedia {
	GObject parent_instance;
	BoxesInstallerMediaPrivate * priv;
	OsinfoOs* os;
	OsinfoResources* resources;
	OsinfoMedia* os_media;
	gchar* label;
	gchar* device_file;
	gchar* mount_point;
	gboolean from_image;
};

struct _BoxesInstallerMediaClass {
	GObjectClass parent_class;
	void (*set_direct_boot_params) (BoxesInstallerMedia* self, GVirConfigDomainOs* os);
	void (*prepare) (BoxesInstallerMedia* self, BoxesActivityProgress* progress, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*prepare_finish) (BoxesInstallerMedia* self, GAsyncResult* _res_);
	void (*prepare_for_installation) (BoxesInstallerMedia* self, const gchar* vm_name, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*prepare_for_installation_finish) (BoxesInstallerMedia* self, GAsyncResult* _res_);
	void (*prepare_to_continue_installation) (BoxesInstallerMedia* self, const gchar* vm_name);
	void (*clean_up) (BoxesInstallerMedia* self);
	void (*clean_up_preparation_cache) (BoxesInstallerMedia* self);
	void (*setup_domain_config) (BoxesInstallerMedia* self, GVirConfigDomain* domain);
	void (*setup_post_install_domain_config) (BoxesInstallerMedia* self, GVirConfigDomain* domain);
	void (*populate_setup_box) (BoxesInstallerMedia* self, GtkBox* setup_box);
	GList* (*get_vm_properties) (BoxesInstallerMedia* self);
	BoxesVMCreator* (*get_vm_creator) (BoxesInstallerMedia* self);
	OsinfoDeviceList* (*get_supported_devices) (BoxesInstallerMedia* self);
	guint64 (*get_installed_size) (BoxesInstallerMedia* self);
	gboolean (*get_need_user_input_for_vm_creation) (BoxesInstallerMedia* self);
	gboolean (*get_ready_to_create) (BoxesInstallerMedia* self);
	gboolean (*get_live) (BoxesInstallerMedia* self);
	gchar* (*get_architecture) (BoxesInstallerMedia* self);
};

struct _BoxesCollection {
	GObject parent_instance;
	BoxesCollectionPrivate * priv;
	GPtrArray* items;
};

struct _BoxesCollectionClass {
	GObjectClass parent_class;
};

struct _BoxesLibvirtBrokerAddSourceData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	gboolean _task_complete_;
	BoxesLibvirtBroker* self;
	BoxesCollectionSource* source;
	Block36Data* _data36_;
	BoxesCollectionSource* _tmp0_;
	GHashTable* _tmp1_;
	BoxesCollectionSource* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gconstpointer _tmp6_;
	gboolean _tmp7_;
	GVirConnection* connection;
	BoxesCollectionSource* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	GVirConnection* _tmp12_;
	GVirConnection* _tmp13_;
	GVirConnection* _tmp14_;
	GVirConnection* _tmp15_;
	GVirConnection* _tmp16_;
	GVirConnection* _tmp17_;
	GVirStoragePool* _tmp18_;
	GVirStoragePool* _tmp19_;
	GHashTable* _tmp20_;
	BoxesCollectionSource* _tmp21_;
	gchar* _tmp22_;
	gchar* _tmp23_;
	GVirConnection* _tmp24_;
	GVirConnection* _tmp25_;
	GList* clones;
	GVirConnection* _tmp26_;
	GList* _tmp27_;
	GList* domain_collection;
	GList* domain_it;
	GVirDomain* _tmp28_;
	GVirDomain* domain;
	BoxesLibvirtMachine* machine;
	BoxesCollectionSource* _tmp29_;
	GVirConnection* _tmp30_;
	GVirDomain* _tmp31_;
	BoxesLibvirtMachine* _tmp32_;
	BoxesLibvirtMachine* _tmp33_;
	GVirConfigDomain* _tmp34_;
	GVirConfigDomain* _tmp35_;
	gboolean _tmp36_;
	BoxesLibvirtMachine* _tmp37_;
	BoxesLibvirtMachine* _tmp38_;
	GList* _tmp39_;
	GList* clone_collection;
	GList* clone_it;
	BoxesLibvirtMachine* _tmp40_;
	BoxesLibvirtMachine* clone;
	Block37Data* _data37_;
	gchar* disk_path;
	BoxesLibvirtMachine* _tmp41_;
	BoxesVMCreator* _tmp42_;
	BoxesVMCreator* _tmp43_;
	BoxesInstalledMedia* _tmp44_;
	BoxesInstalledMedia* _tmp45_;
	const gchar* _tmp46_;
	gchar* _tmp47_;
	BoxesApp* _tmp48_;
	BoxesCollection* _tmp49_;
	GPtrArray* _tmp50_;
	gpointer* _tmp51_;
	gint _tmp51__length1;
	BoxesCollectionItem** item_collection;
	gint item_collection_length1;
	gint _item_collection_size_;
	gint item_it;
	BoxesCollectionItem* _tmp52_;
	BoxesCollectionItem* item;
	BoxesCollectionItem* _tmp53_;
	BoxesLibvirtMachine* _vala1_machine;
	BoxesCollectionItem* _tmp54_;
	BoxesLibvirtMachine* _tmp55_;
	GVirStorageVol* volume;
	BoxesLibvirtMachine* _tmp56_;
	GVirStorageVol* _tmp57_;
	GVirStorageVol* _tmp58_;
	GVirStorageVol* _tmp59_;
	gboolean _tmp60_;
	GVirStorageVol* _tmp61_;
	const gchar* _tmp62_;
	GVirStorageVol* _tmp63_;
	const gchar* _tmp64_;
	const gchar* _tmp65_;
	BoxesLibvirtMachine* _tmp66_;
	BoxesLibvirtMachine* _tmp67_;
	BoxesLibvirtMachine* _tmp68_;
	BoxesLibvirtMachine* _tmp69_;
	const gchar* _tmp70_;
	const gchar* _tmp71_;
	BoxesLibvirtMachine* _tmp72_;
	BoxesLibvirtMachine* _tmp73_;
	gulong _tmp74_;
	GVirConnection* _tmp75_;
	GVirConnection* _tmp76_;
	BoxesCollectionSource* _tmp77_;
	GError * _inner_error_;
};


static gpointer boxes_libvirt_broker_parent_class = NULL;
static BoxesLibvirtBroker* boxes_libvirt_broker_broker;
static BoxesLibvirtBroker* boxes_libvirt_broker_broker = NULL;
extern BoxesApp* boxes_app_app;

GType boxes_broker_get_type (void) G_GNUC_CONST;
GType boxes_libvirt_broker_get_type (void) G_GNUC_CONST;
#define BOXES_LIBVIRT_BROKER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_LIBVIRT_BROKER, BoxesLibvirtBrokerPrivate))
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
BoxesLibvirtBroker* boxes_libvirt_broker_get_default (void);
static BoxesLibvirtBroker* boxes_libvirt_broker_new (void);
static BoxesLibvirtBroker* boxes_libvirt_broker_construct (GType object_type);
BoxesBroker* boxes_broker_construct (GType object_type);
static void _g_free0_ (gpointer var);
GVirConnection* boxes_libvirt_broker_get_connection (BoxesLibvirtBroker* self, const gchar* name);
static void boxes_libvirt_broker_add_domain_data_free (gpointer _data);
GType boxes_collection_item_get_type (void) G_GNUC_CONST;
GType boxes_machine_get_type (void) G_GNUC_CONST;
GType boxes_libvirt_machine_get_type (void) G_GNUC_CONST;
void boxes_libvirt_broker_add_domain (BoxesLibvirtBroker* self, BoxesCollectionSource* source, GVirConnection* connection, GVirDomain* domain, GAsyncReadyCallback _callback_, gpointer _user_data_);
BoxesLibvirtMachine* boxes_libvirt_broker_add_domain_finish (BoxesLibvirtBroker* self, GAsyncResult* _res_, GError** error);
static gboolean boxes_libvirt_broker_add_domain_co (BoxesLibvirtBrokerAddDomainData* _data_);
static Block34Data* block34_data_ref (Block34Data* _data34_);
static void block34_data_unref (void * _userdata_);
static Block35Data* block35_data_ref (Block35Data* _data35_);
static void block35_data_unref (void * _userdata_);
static gboolean _boxes_libvirt_broker_add_domain_co_gsource_func (gpointer self);
GType boxes_app_get_type (void) G_GNUC_CONST;
GType boxes_collection_get_type (void) G_GNUC_CONST;
static void ___lambda19_ (Block35Data* _data35_, BoxesCollectionItem* item);
GVirDomain* boxes_libvirt_machine_get_domain (BoxesLibvirtMachine* self);
static void ____lambda19__boxes_collection_item_added (BoxesCollection* _sender, BoxesCollectionItem* item, gpointer self);
void boxes_libvirt_machine_new (BoxesCollectionSource* source, GVirConnection* connection, GVirDomain* domain, GAsyncReadyCallback _callback_, gpointer _user_data_);
BoxesLibvirtMachine* boxes_libvirt_machine_new_finish (GAsyncResult* _res_, GError** error);
void boxes_libvirt_machine_construct (GType object_type, BoxesCollectionSource* source, GVirConnection* connection, GVirDomain* domain, GAsyncReadyCallback _callback_, gpointer _user_data_);
BoxesLibvirtMachine* boxes_libvirt_machine_construct_finish (GAsyncResult* _res_, GError** error);
static void boxes_libvirt_broker_add_domain_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
void boxes_collection_add_item (BoxesCollection* self, BoxesCollectionItem* item);
#define BOXES_APP_DEFAULT_SOURCE_NAME "QEMU Session"
void boxes_vm_configurator_update_existing_domain (GVirConfigDomain* domain, GVirConnection* connection, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_vm_configurator_update_existing_domain_finish (GAsyncResult* _res_);
static void boxes_libvirt_broker_try_add_new_domain_data_free (gpointer _data);
static void boxes_libvirt_broker_try_add_new_domain (BoxesLibvirtBroker* self, BoxesCollectionSource* source, GVirConnection* connection, GVirDomain* domain, GAsyncReadyCallback _callback_, gpointer _user_data_);
static void boxes_libvirt_broker_try_add_new_domain_finish (BoxesLibvirtBroker* self, GAsyncResult* _res_);
static gboolean boxes_libvirt_broker_try_add_new_domain_co (BoxesLibvirtBrokerTryAddNewDomainData* _data_);
static void boxes_libvirt_broker_try_add_new_domain_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void boxes_libvirt_broker_try_add_existing_domain_data_free (gpointer _data);
static void boxes_libvirt_broker_try_add_existing_domain (BoxesLibvirtBroker* self, BoxesCollectionSource* source, GVirConnection* connection, GVirDomain* domain, GAsyncReadyCallback _callback_, gpointer _user_data_);
static BoxesLibvirtMachine* boxes_libvirt_broker_try_add_existing_domain_finish (BoxesLibvirtBroker* self, GAsyncResult* _res_);
static gboolean boxes_libvirt_broker_try_add_existing_domain_co (BoxesLibvirtBrokerTryAddExistingDomainData* _data_);
static void boxes_libvirt_broker_try_add_existing_domain_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
GVirConfigDomain* boxes_libvirt_machine_get_domain_config (BoxesLibvirtMachine* self);
gboolean boxes_vm_configurator_is_install_config (GVirConfigDomain* domain);
gboolean boxes_vm_configurator_is_live_config (GVirConfigDomain* domain);
const gchar* boxes_collection_item_get_name (BoxesCollectionItem* self);
BoxesVMCreator* boxes_vm_creator_new_for_install_completion (BoxesLibvirtMachine* machine);
BoxesVMCreator* boxes_vm_creator_construct_for_install_completion (GType object_type, BoxesLibvirtMachine* machine);
gpointer boxes_vm_creator_ref (gpointer instance);
void boxes_vm_creator_unref (gpointer instance);
GParamSpec* boxes_param_spec_vm_creator (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void boxes_value_set_vm_creator (GValue* value, gpointer v_object);
void boxes_value_take_vm_creator (GValue* value, gpointer v_object);
gpointer boxes_value_get_vm_creator (const GValue* value);
GType boxes_vm_creator_get_type (void) G_GNUC_CONST;
gboolean boxes_vm_configurator_is_import_config (GVirConfigDomain* domain);
BoxesVMImporter* boxes_vm_importer_new_for_import_completion (BoxesLibvirtMachine* machine);
BoxesVMImporter* boxes_vm_importer_construct_for_import_completion (GType object_type, BoxesLibvirtMachine* machine);
GType boxes_vm_importer_get_type (void) G_GNUC_CONST;
gboolean boxes_vm_configurator_is_libvirt_system_import_config (GVirConfigDomain* domain);
BoxesLibvirtVMImporter* boxes_libvirt_vm_importer_new_for_import_completion (BoxesLibvirtMachine* machine);
BoxesLibvirtVMImporter* boxes_libvirt_vm_importer_construct_for_import_completion (GType object_type, BoxesLibvirtMachine* machine);
GType boxes_libvirt_vm_importer_get_type (void) G_GNUC_CONST;
gboolean boxes_vm_configurator_is_libvirt_cloning_config (GVirConfigDomain* domain);
BoxesLibvirtVMCloner* boxes_libvirt_vm_cloner_new_for_cloning_completion (BoxesLibvirtMachine* machine);
BoxesLibvirtVMCloner* boxes_libvirt_vm_cloner_construct_for_cloning_completion (GType object_type, BoxesLibvirtMachine* machine);
GType boxes_libvirt_vm_cloner_get_type (void) G_GNUC_CONST;
static void boxes_libvirt_broker_real_add_source_data_free (gpointer _data);
static void boxes_libvirt_broker_real_add_source (BoxesBroker* base, BoxesCollectionSource* source, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean boxes_libvirt_broker_real_add_source_co (BoxesLibvirtBrokerAddSourceData* _data_);
static Block36Data* block36_data_ref (Block36Data* _data36_);
static void block36_data_unref (void * _userdata_);
static void boxes_libvirt_broker_add_source_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
void boxes_ensure_storage_pool (GVirConnection* connection, GAsyncReadyCallback _callback_, gpointer _user_data_);
GVirStoragePool* boxes_ensure_storage_pool_finish (GAsyncResult* _res_, GError** error);
static Block37Data* block37_data_ref (Block37Data* _data37_);
static void block37_data_unref (void * _userdata_);
BoxesVMCreator* boxes_libvirt_machine_get_vm_creator (BoxesLibvirtMachine* self);
GType boxes_installer_media_get_type (void) G_GNUC_CONST;
GType boxes_installed_media_get_type (void) G_GNUC_CONST;
BoxesInstalledMedia* boxes_vm_importer_get_source_media (BoxesVMImporter* self);
GVirStorageVol* boxes_libvirt_machine_get_storage_volume (BoxesLibvirtMachine* self);
void boxes_machine_set_can_delete (BoxesMachine* self, gboolean value);
static void ____lambda20_ (Block37Data* _data37_);
gboolean boxes_machine_get_under_construction (BoxesMachine* self);
static void _____lambda20__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
static void __lambda21_ (BoxesLibvirtBroker* self, GVirConnection* connection, GVirDomain* domain);
void boxes_app_delete_machine (BoxesApp* self, BoxesMachine* machine, gboolean by_user);
static void ___lambda21__gvir_connection_domain_removed (GVirConnection* _sender, GVirDomain* dom, gpointer self);
static void __lambda23_ (Block36Data* _data36_, GVirConnection* connection, GVirDomain* domain);
static void ___lambda23__gvir_connection_domain_added (GVirConnection* _sender, GVirDomain* dom, gpointer self);
void boxes_broker_add_source (BoxesBroker* self, BoxesCollectionSource* source, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_broker_add_source_finish (BoxesBroker* self, GAsyncResult* _res_, GError** error);
static void boxes_libvirt_broker_finalize (GObject * obj);


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


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


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


BoxesLibvirtBroker* boxes_libvirt_broker_get_default (void) {
	BoxesLibvirtBroker* result = NULL;
	BoxesLibvirtBroker* _tmp0_;
	BoxesLibvirtBroker* _tmp2_;
	BoxesLibvirtBroker* _tmp3_;
#line 11 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp0_ = boxes_libvirt_broker_broker;
#line 11 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_tmp0_ == NULL) {
#line 683 "libvirt-broker.c"
		BoxesLibvirtBroker* _tmp1_;
#line 12 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_tmp1_ = boxes_libvirt_broker_new ();
#line 12 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (boxes_libvirt_broker_broker);
#line 12 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		boxes_libvirt_broker_broker = _tmp1_;
#line 691 "libvirt-broker.c"
	}
#line 14 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp2_ = boxes_libvirt_broker_broker;
#line 14 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 14 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	result = _tmp3_;
#line 14 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return result;
#line 701 "libvirt-broker.c"
}


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


static BoxesLibvirtBroker* boxes_libvirt_broker_construct (GType object_type) {
	BoxesLibvirtBroker * self = NULL;
	GHashFunc _tmp0_;
	GEqualFunc _tmp1_;
	GHashTable* _tmp2_;
#line 17 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	self = (BoxesLibvirtBroker*) boxes_broker_construct (object_type);
#line 18 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp0_ = g_str_hash;
#line 18 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp1_ = g_str_equal;
#line 18 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, _g_object_unref0_);
#line 18 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_hash_table_unref0 (self->priv->connections);
#line 18 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	self->priv->connections = _tmp2_;
#line 19 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	__g_list_free__g_object_unref0_0 (self->priv->pending_domains);
#line 19 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	self->priv->pending_domains = NULL;
#line 17 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return self;
#line 735 "libvirt-broker.c"
}


static BoxesLibvirtBroker* boxes_libvirt_broker_new (void) {
#line 17 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return boxes_libvirt_broker_construct (BOXES_TYPE_LIBVIRT_BROKER);
#line 742 "libvirt-broker.c"
}


GVirConnection* boxes_libvirt_broker_get_connection (BoxesLibvirtBroker* self, const gchar* name) {
	GVirConnection* result = NULL;
	BoxesLibvirtBroker* _tmp0_;
	BoxesLibvirtBroker* _tmp1_;
	GHashTable* _tmp2_;
	const gchar* _tmp3_;
	gconstpointer _tmp4_;
	GVirConnection* _tmp5_;
#line 22 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 22 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_return_val_if_fail (name != NULL, NULL);
#line 23 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp0_ = boxes_libvirt_broker_broker;
#line 23 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_return_if_fail (_tmp0_ != NULL);
#line 24 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp1_ = boxes_libvirt_broker_broker;
#line 24 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp2_ = _tmp1_->priv->connections;
#line 24 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp3_ = name;
#line 24 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp4_ = g_hash_table_lookup (_tmp2_, _tmp3_);
#line 24 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp5_ = _g_object_ref0 ((GVirConnection*) _tmp4_);
#line 24 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	result = _tmp5_;
#line 24 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return result;
#line 776 "libvirt-broker.c"
}


static void boxes_libvirt_broker_add_domain_data_free (gpointer _data) {
	BoxesLibvirtBrokerAddDomainData* _data_;
	_data_ = _data;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->source);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->connection);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->result);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_slice_free (BoxesLibvirtBrokerAddDomainData, _data_);
#line 793 "libvirt-broker.c"
}


void boxes_libvirt_broker_add_domain (BoxesLibvirtBroker* self, BoxesCollectionSource* source, GVirConnection* connection, GVirDomain* domain, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesLibvirtBrokerAddDomainData* _data_;
	BoxesLibvirtBroker* _tmp0_;
	BoxesCollectionSource* _tmp1_;
	BoxesCollectionSource* _tmp2_;
	GVirConnection* _tmp3_;
	GVirConnection* _tmp4_;
	GVirDomain* _tmp5_;
	GVirDomain* _tmp6_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_ = g_slice_new0 (BoxesLibvirtBrokerAddDomainData);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_callback_ == NULL) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_task_complete_ = TRUE;
#line 814 "libvirt-broker.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_libvirt_broker_add_domain_data_free);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->self = _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp1_ = source;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->source);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->source = _tmp2_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp3_ = connection;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->connection);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->connection = _tmp4_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp5_ = domain;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp6_ = _g_object_ref0 (_tmp5_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->domain);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->domain = _tmp6_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_libvirt_broker_add_domain_co (_data_);
#line 848 "libvirt-broker.c"
}


BoxesLibvirtMachine* boxes_libvirt_broker_add_domain_finish (BoxesLibvirtBroker* self, GAsyncResult* _res_, GError** error) {
	BoxesLibvirtMachine* result;
	BoxesLibvirtBrokerAddDomainData* _data_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (NULL == _data_) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return NULL;
#line 861 "libvirt-broker.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_task_complete_ = TRUE;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	result = _data_->result;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->result = NULL;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return result;
#line 871 "libvirt-broker.c"
}


static Block34Data* block34_data_ref (Block34Data* _data34_) {
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_atomic_int_inc (&_data34_->_ref_count_);
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return _data34_;
#line 880 "libvirt-broker.c"
}


static void block34_data_unref (void * _userdata_) {
	Block34Data* _data34_;
	_data34_ = (Block34Data*) _userdata_;
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (g_atomic_int_dec_and_test (&_data34_->_ref_count_)) {
#line 889 "libvirt-broker.c"
		BoxesLibvirtBroker* self;
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		self = _data34_->self;
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data34_->domain);
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (self);
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_slice_free (Block34Data, _data34_);
#line 899 "libvirt-broker.c"
	}
}


static Block35Data* block35_data_ref (Block35Data* _data35_) {
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_atomic_int_inc (&_data35_->_ref_count_);
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return _data35_;
#line 909 "libvirt-broker.c"
}


static void block35_data_unref (void * _userdata_) {
	Block35Data* _data35_;
	_data35_ = (Block35Data*) _userdata_;
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (g_atomic_int_dec_and_test (&_data35_->_ref_count_)) {
#line 918 "libvirt-broker.c"
		BoxesLibvirtBroker* self;
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		self = _data35_->_data34_->self;
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		(_data35_->callback_target_destroy_notify == NULL) ? NULL : (_data35_->callback_target_destroy_notify (_data35_->callback_target), NULL);
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data35_->callback = NULL;
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data35_->callback_target = NULL;
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data35_->callback_target_destroy_notify = NULL;
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		block34_data_unref (_data35_->_data34_);
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data35_->_data34_ = NULL;
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_slice_free (Block35Data, _data35_);
#line 936 "libvirt-broker.c"
	}
}


static gboolean _boxes_libvirt_broker_add_domain_co_gsource_func (gpointer self) {
	gboolean result;
	result = boxes_libvirt_broker_add_domain_co (self);
#line 33 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return result;
#line 946 "libvirt-broker.c"
}


static void ___lambda19_ (Block35Data* _data35_, BoxesCollectionItem* item) {
	Block34Data* _data34_;
	BoxesLibvirtBroker* self;
	gboolean _tmp0_ = FALSE;
	BoxesCollectionItem* _tmp1_;
	BoxesApp* _tmp6_;
	BoxesCollection* _tmp7_;
	gulong _tmp8_;
	GSourceFunc _tmp9_;
	void* _tmp9__target;
#line 35 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data34_ = _data35_->_data34_;
#line 35 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	self = _data34_->self;
#line 35 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_return_if_fail (item != NULL);
#line 36 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp1_ = item;
#line 36 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (!G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, BOXES_TYPE_LIBVIRT_MACHINE)) {
#line 36 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_tmp0_ = TRUE;
#line 972 "libvirt-broker.c"
	} else {
		BoxesCollectionItem* _tmp2_;
		GVirDomain* _tmp3_;
		GVirDomain* _tmp4_;
		GVirDomain* _tmp5_;
#line 36 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_tmp2_ = item;
#line 36 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_tmp3_ = boxes_libvirt_machine_get_domain (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, BOXES_TYPE_LIBVIRT_MACHINE) ? ((BoxesLibvirtMachine*) _tmp2_) : NULL);
#line 36 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_tmp4_ = _tmp3_;
#line 36 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_tmp5_ = _data34_->domain;
#line 36 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_tmp0_ = _tmp4_ != _tmp5_;
#line 988 "libvirt-broker.c"
	}
#line 36 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_tmp0_) {
#line 37 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return;
#line 994 "libvirt-broker.c"
	}
#line 39 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp6_ = boxes_app_app;
#line 39 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp7_ = _tmp6_->collection;
#line 39 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp8_ = _data35_->id;
#line 39 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_signal_handler_disconnect ((GObject*) _tmp7_, _tmp8_);
#line 40 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp9_ = _data35_->callback;
#line 40 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp9__target = _data35_->callback_target;
#line 40 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp9_ (_tmp9__target);
#line 1010 "libvirt-broker.c"
}


static void ____lambda19__boxes_collection_item_added (BoxesCollection* _sender, BoxesCollectionItem* item, gpointer self) {
#line 35 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	___lambda19_ (self, item);
#line 1017 "libvirt-broker.c"
}


static void boxes_libvirt_broker_add_domain_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	BoxesLibvirtBrokerAddDomainData* _data_;
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_ = _user_data_;
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_source_object_ = source_object;
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_res_ = _res_;
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_task_complete_ = TRUE;
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_libvirt_broker_add_domain_co (_data_);
#line 1033 "libvirt-broker.c"
}


static gboolean boxes_libvirt_broker_add_domain_co (BoxesLibvirtBrokerAddDomainData* _data_) {
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	switch (_data_->_state_) {
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 0:
#line 1042 "libvirt-broker.c"
		goto _state_0;
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 1:
#line 1046 "libvirt-broker.c"
		goto _state_1;
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 2:
#line 1050 "libvirt-broker.c"
		goto _state_2;
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 3:
#line 1054 "libvirt-broker.c"
		goto _state_3;
		default:
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_assert_not_reached ();
#line 1059 "libvirt-broker.c"
	}
	_state_0:
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_data34_ = g_slice_new0 (Block34Data);
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_data34_->_ref_count_ = 1;
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_data34_->self = g_object_ref (_data_->self);
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp0_ = _data_->domain;
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->_data34_->domain);
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_data34_->domain = _data_->_tmp0_;
#line 27 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_data34_->_async_data_ = _data_;
#line 29 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp1_ = boxes_libvirt_broker_broker;
#line 29 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_return_if_fail (_data_->_tmp1_ != NULL);
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp2_ = _data_->self->priv->pending_domains;
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp3_ = _data_->_data34_->domain;
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp4_ = g_list_find (_data_->_tmp2_, _data_->_tmp3_);
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_data_->_tmp4_ != NULL) {
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data35_ = g_slice_new0 (Block35Data);
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data35_->_ref_count_ = 1;
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data35_->_data34_ = block34_data_ref (_data_->_data34_);
#line 33 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data35_->callback = _boxes_libvirt_broker_add_domain_co_gsource_func;
#line 33 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data35_->callback_target = _data_;
#line 33 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data35_->callback_target_destroy_notify = NULL;
#line 34 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data35_->id = (gulong) 0;
#line 35 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp5_ = boxes_app_app;
#line 35 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp6_ = _data_->_tmp5_->collection;
#line 35 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp7_ = g_signal_connect_data (_data_->_tmp6_, "item-added", (GCallback) ____lambda19__boxes_collection_item_added, block35_data_ref (_data_->_data35_), (GClosureNotify) block35_data_unref, 0);
#line 35 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data35_->id = _data_->_tmp7_;
#line 43 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_state_ = 1;
#line 43 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 1114 "libvirt-broker.c"
		_state_1:
		;
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		block35_data_unref (_data_->_data35_);
#line 31 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data35_ = NULL;
#line 1121 "libvirt-broker.c"
	}
#line 46 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp8_ = _data_->_data34_->domain;
#line 46 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp9_ = g_object_get_data ((GObject*) _data_->_tmp8_, "machine");
#line 46 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp10_ = _g_object_ref0 ((BoxesLibvirtMachine*) _data_->_tmp9_);
#line 46 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->machine = _data_->_tmp10_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp11_ = _data_->machine;
#line 47 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_data_->_tmp11_ != NULL) {
#line 48 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->result = _data_->machine;
#line 48 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		block34_data_unref (_data_->_data34_);
#line 48 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data34_ = NULL;
#line 48 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 48 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		if (_data_->_state_ != 0) {
#line 48 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			while (_data_->_task_complete_ != TRUE) {
#line 48 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 1149 "libvirt-broker.c"
			}
		}
#line 48 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 48 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 1156 "libvirt-broker.c"
	}
#line 50 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp12_ = _data_->_data34_->domain;
#line 50 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp13_ = _g_object_ref0 (_data_->_tmp12_);
#line 50 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->self->priv->pending_domains = g_list_append (_data_->self->priv->pending_domains, _data_->_tmp13_);
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp15_ = _data_->source;
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp16_ = _data_->connection;
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp17_ = _data_->_data34_->domain;
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_state_ = 2;
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_libvirt_machine_new (_data_->_tmp15_, _data_->_tmp16_, _data_->_tmp17_, boxes_libvirt_broker_add_domain_ready, _data_);
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return FALSE;
#line 1176 "libvirt-broker.c"
	_state_2:
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp18_ = boxes_libvirt_machine_new_finish (_data_->_res_, &_data_->_inner_error_);
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp14_ = _data_->_tmp18_;
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_task_return_error (_data_->_async_result, _data_->_inner_error_);
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data_->machine);
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		block34_data_unref (_data_->_data34_);
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data34_ = NULL;
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 1196 "libvirt-broker.c"
	}
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp19_ = _data_->_tmp14_;
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp14_ = NULL;
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->machine);
#line 51 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->machine = _data_->_tmp19_;
#line 52 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp20_ = _data_->_data34_->domain;
#line 52 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->self->priv->pending_domains = g_list_remove (_data_->self->priv->pending_domains, _data_->_tmp20_);
#line 54 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp21_ = _data_->_data34_->domain;
#line 54 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp22_ = _data_->machine;
#line 54 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp23_ = _g_object_ref0 (_data_->_tmp22_);
#line 54 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_object_set_data_full ((GObject*) _data_->_tmp21_, "machine", _data_->_tmp23_, g_object_unref);
#line 55 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp24_ = boxes_app_app;
#line 55 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp25_ = _data_->_tmp24_->collection;
#line 55 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp26_ = _data_->machine;
#line 55 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_collection_add_item (_data_->_tmp25_, (BoxesCollectionItem*) _data_->_tmp26_);
#line 57 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp27_ = _data_->source;
#line 57 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp28_ = boxes_collection_source_get_name (_data_->_tmp27_);
#line 57 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp29_ = _data_->_tmp28_;
#line 57 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp30_ = _data_->_tmp29_;
#line 57 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp31_ = g_strcmp0 (_data_->_tmp30_, BOXES_APP_DEFAULT_SOURCE_NAME) != 0;
#line 57 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_free0 (_data_->_tmp30_);
#line 57 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_data_->_tmp31_) {
#line 58 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->result = _data_->machine;
#line 58 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data_->_tmp14_);
#line 58 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		block34_data_unref (_data_->_data34_);
#line 58 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data34_ = NULL;
#line 58 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 58 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		if (_data_->_state_ != 0) {
#line 58 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			while (_data_->_task_complete_ != TRUE) {
#line 58 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 1256 "libvirt-broker.c"
			}
		}
#line 58 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 58 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 1263 "libvirt-broker.c"
	}
	{
#line 62 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp32_ = _data_->machine;
#line 62 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp33_ = boxes_libvirt_machine_get_domain (_data_->_tmp32_);
#line 62 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp34_ = _data_->_tmp33_;
#line 62 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp35_ = gvir_domain_get_config (_data_->_tmp34_, (guint) 0, &_data_->_inner_error_);
#line 62 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->config = _data_->_tmp35_;
#line 62 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 1278 "libvirt-broker.c"
			goto __catch13_g_error;
		}
#line 63 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp36_ = _data_->config;
#line 63 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp37_ = _data_->connection;
#line 63 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_state_ = 3;
#line 63 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		boxes_vm_configurator_update_existing_domain (_data_->_tmp36_, _data_->_tmp37_, boxes_libvirt_broker_add_domain_ready, _data_);
#line 63 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 1291 "libvirt-broker.c"
		_state_3:
#line 63 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		boxes_vm_configurator_update_existing_domain_finish (_data_->_res_);
#line 64 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp38_ = _data_->machine;
#line 64 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp39_ = boxes_libvirt_machine_get_domain (_data_->_tmp38_);
#line 64 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp40_ = _data_->_tmp39_;
#line 64 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp41_ = _data_->config;
#line 64 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		gvir_domain_set_config (_data_->_tmp40_, _data_->_tmp41_, &_data_->_inner_error_);
#line 64 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 64 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_g_object_unref0 (_data_->config);
#line 1309 "libvirt-broker.c"
			goto __catch13_g_error;
		}
#line 61 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data_->config);
#line 1314 "libvirt-broker.c"
	}
	goto __finally13;
	__catch13_g_error:
	{
#line 61 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->e = _data_->_inner_error_;
#line 61 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_inner_error_ = NULL;
#line 66 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp42_ = _data_->_data34_->domain;
#line 66 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp43_ = gvir_domain_get_name (_data_->_tmp42_);
#line 66 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp44_ = _data_->e;
#line 66 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp45_ = _data_->_tmp44_->message;
#line 66 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_warning ("libvirt-broker.vala:66: Failed to update domain '%s': %s", _data_->_tmp43_, _data_->_tmp45_);
#line 61 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_error_free0 (_data_->e);
#line 1335 "libvirt-broker.c"
	}
	__finally13:
#line 61 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 61 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_task_return_error (_data_->_async_result, _data_->_inner_error_);
#line 61 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data_->_tmp14_);
#line 61 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data_->machine);
#line 61 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		block34_data_unref (_data_->_data34_);
#line 61 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data34_ = NULL;
#line 61 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 61 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 1354 "libvirt-broker.c"
	}
#line 69 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->result = _data_->machine;
#line 69 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->_tmp14_);
#line 69 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	block34_data_unref (_data_->_data34_);
#line 69 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_data34_ = NULL;
#line 69 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 69 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_data_->_state_ != 0) {
#line 69 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		while (_data_->_task_complete_ != TRUE) {
#line 69 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 1372 "libvirt-broker.c"
		}
	}
#line 69 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_object_unref (_data_->_async_result);
#line 69 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return FALSE;
#line 1379 "libvirt-broker.c"
}


static void boxes_libvirt_broker_try_add_new_domain_data_free (gpointer _data) {
	BoxesLibvirtBrokerTryAddNewDomainData* _data_;
	_data_ = _data;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->source);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->connection);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->domain);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_slice_free (BoxesLibvirtBrokerTryAddNewDomainData, _data_);
#line 1396 "libvirt-broker.c"
}


static void boxes_libvirt_broker_try_add_new_domain (BoxesLibvirtBroker* self, BoxesCollectionSource* source, GVirConnection* connection, GVirDomain* domain, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesLibvirtBrokerTryAddNewDomainData* _data_;
	BoxesLibvirtBroker* _tmp0_;
	BoxesCollectionSource* _tmp1_;
	BoxesCollectionSource* _tmp2_;
	GVirConnection* _tmp3_;
	GVirConnection* _tmp4_;
	GVirDomain* _tmp5_;
	GVirDomain* _tmp6_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_ = g_slice_new0 (BoxesLibvirtBrokerTryAddNewDomainData);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_callback_ == NULL) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_task_complete_ = TRUE;
#line 1417 "libvirt-broker.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_libvirt_broker_try_add_new_domain_data_free);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->self = _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp1_ = source;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->source);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->source = _tmp2_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp3_ = connection;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->connection);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->connection = _tmp4_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp5_ = domain;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp6_ = _g_object_ref0 (_tmp5_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->domain);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->domain = _tmp6_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_libvirt_broker_try_add_new_domain_co (_data_);
#line 1451 "libvirt-broker.c"
}


static void boxes_libvirt_broker_try_add_new_domain_finish (BoxesLibvirtBroker* self, GAsyncResult* _res_) {
	BoxesLibvirtBrokerTryAddNewDomainData* _data_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_task_complete_ = TRUE;
#line 1461 "libvirt-broker.c"
}


static void boxes_libvirt_broker_try_add_new_domain_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	BoxesLibvirtBrokerTryAddNewDomainData* _data_;
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_ = _user_data_;
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_source_object_ = source_object;
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_res_ = _res_;
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_task_complete_ = TRUE;
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_libvirt_broker_try_add_new_domain_co (_data_);
#line 1477 "libvirt-broker.c"
}


static gboolean boxes_libvirt_broker_try_add_new_domain_co (BoxesLibvirtBrokerTryAddNewDomainData* _data_) {
#line 73 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	switch (_data_->_state_) {
#line 73 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 0:
#line 1486 "libvirt-broker.c"
		goto _state_0;
#line 73 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 1:
#line 1490 "libvirt-broker.c"
		goto _state_1;
		default:
#line 73 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_assert_not_reached ();
#line 1495 "libvirt-broker.c"
	}
	_state_0:
#line 74 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp0_ = _data_->domain;
#line 74 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp1_ = gvir_domain_get_name (_data_->_tmp0_);
#line 74 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp2_ = g_str_has_prefix (_data_->_tmp1_, "guestfs-");
#line 74 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_data_->_tmp2_) {
#line 75 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp3_ = _data_->domain;
#line 75 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp4_ = gvir_domain_get_name (_data_->_tmp3_);
#line 75 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_debug ("libvirt-broker.vala:75: Ignoring guestfs domain '%s'", _data_->_tmp4_);
#line 77 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 77 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		if (_data_->_state_ != 0) {
#line 77 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			while (_data_->_task_complete_ != TRUE) {
#line 77 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 1520 "libvirt-broker.c"
			}
		}
#line 77 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 77 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 1527 "libvirt-broker.c"
	}
	{
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp5_ = _data_->source;
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp6_ = _data_->connection;
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp7_ = _data_->domain;
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_state_ = 1;
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		boxes_libvirt_broker_add_domain (_data_->self, _data_->_tmp5_, _data_->_tmp6_, _data_->_tmp7_, boxes_libvirt_broker_try_add_new_domain_ready, _data_);
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 1542 "libvirt-broker.c"
		_state_1:
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp8_ = boxes_libvirt_broker_add_domain_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp9_ = _data_->_tmp8_;
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data_->_tmp9_);
#line 81 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 1552 "libvirt-broker.c"
			goto __catch14_g_error;
		}
	}
	goto __finally14;
	__catch14_g_error:
	{
#line 80 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_error_ = _data_->_inner_error_;
#line 80 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_inner_error_ = NULL;
#line 83 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp10_ = _data_->source;
#line 83 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp11_ = boxes_collection_source_get_name (_data_->_tmp10_);
#line 83 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp12_ = _data_->_tmp11_;
#line 83 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp13_ = _data_->_tmp12_;
#line 83 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp14_ = _data_->_error_;
#line 83 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp15_ = _data_->_tmp14_->message;
#line 83 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_warning ("libvirt-broker.vala:83: Failed to create source '%s': %s", _data_->_tmp13_, _data_->_tmp15_);
#line 83 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_free0 (_data_->_tmp13_);
#line 80 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_error_free0 (_data_->_error_);
#line 1581 "libvirt-broker.c"
	}
	__finally14:
#line 80 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 80 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.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 80 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_clear_error (&_data_->_inner_error_);
#line 80 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 80 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 1594 "libvirt-broker.c"
	}
#line 73 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 73 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_data_->_state_ != 0) {
#line 73 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		while (_data_->_task_complete_ != TRUE) {
#line 73 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 1604 "libvirt-broker.c"
		}
	}
#line 73 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_object_unref (_data_->_async_result);
#line 73 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return FALSE;
#line 1611 "libvirt-broker.c"
}


static void boxes_libvirt_broker_try_add_existing_domain_data_free (gpointer _data) {
	BoxesLibvirtBrokerTryAddExistingDomainData* _data_;
	_data_ = _data;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->source);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->connection);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->domain);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->result);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_slice_free (BoxesLibvirtBrokerTryAddExistingDomainData, _data_);
#line 1630 "libvirt-broker.c"
}


static void boxes_libvirt_broker_try_add_existing_domain (BoxesLibvirtBroker* self, BoxesCollectionSource* source, GVirConnection* connection, GVirDomain* domain, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesLibvirtBrokerTryAddExistingDomainData* _data_;
	BoxesLibvirtBroker* _tmp0_;
	BoxesCollectionSource* _tmp1_;
	BoxesCollectionSource* _tmp2_;
	GVirConnection* _tmp3_;
	GVirConnection* _tmp4_;
	GVirDomain* _tmp5_;
	GVirDomain* _tmp6_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_ = g_slice_new0 (BoxesLibvirtBrokerTryAddExistingDomainData);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_callback_ == NULL) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_task_complete_ = TRUE;
#line 1651 "libvirt-broker.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_libvirt_broker_try_add_existing_domain_data_free);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->self = _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp1_ = source;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->source);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->source = _tmp2_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp3_ = connection;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->connection);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->connection = _tmp4_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp5_ = domain;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp6_ = _g_object_ref0 (_tmp5_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->domain);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->domain = _tmp6_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_libvirt_broker_try_add_existing_domain_co (_data_);
#line 1685 "libvirt-broker.c"
}


static BoxesLibvirtMachine* boxes_libvirt_broker_try_add_existing_domain_finish (BoxesLibvirtBroker* self, GAsyncResult* _res_) {
	BoxesLibvirtMachine* result;
	BoxesLibvirtBrokerTryAddExistingDomainData* _data_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_task_complete_ = TRUE;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	result = _data_->result;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->result = NULL;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return result;
#line 1702 "libvirt-broker.c"
}


static void boxes_libvirt_broker_try_add_existing_domain_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	BoxesLibvirtBrokerTryAddExistingDomainData* _data_;
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_ = _user_data_;
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_source_object_ = source_object;
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_res_ = _res_;
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_task_complete_ = TRUE;
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_libvirt_broker_try_add_existing_domain_co (_data_);
#line 1718 "libvirt-broker.c"
}


static gboolean boxes_libvirt_broker_try_add_existing_domain_co (BoxesLibvirtBrokerTryAddExistingDomainData* _data_) {
#line 88 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	switch (_data_->_state_) {
#line 88 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 0:
#line 1727 "libvirt-broker.c"
		goto _state_0;
#line 88 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 1:
#line 1731 "libvirt-broker.c"
		goto _state_1;
		default:
#line 88 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_assert_not_reached ();
#line 1736 "libvirt-broker.c"
	}
	_state_0:
	{
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp0_ = _data_->source;
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp1_ = _data_->connection;
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp2_ = _data_->domain;
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_state_ = 1;
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		boxes_libvirt_broker_add_domain (_data_->self, _data_->_tmp0_, _data_->_tmp1_, _data_->_tmp2_, boxes_libvirt_broker_try_add_existing_domain_ready, _data_);
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 1752 "libvirt-broker.c"
		_state_1:
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp3_ = boxes_libvirt_broker_add_domain_finish (_data_->self, _data_->_res_, &_data_->_inner_error_);
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->machine = _data_->_tmp3_;
#line 92 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 1760 "libvirt-broker.c"
			goto __catch15_g_error;
		}
#line 93 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp4_ = boxes_libvirt_machine_get_domain_config (_data_->machine);
#line 93 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp5_ = _data_->_tmp4_;
#line 93 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp6_ = _g_object_ref0 (_data_->_tmp5_);
#line 93 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->config = _data_->_tmp6_;
#line 96 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp8_ = _data_->config;
#line 96 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp9_ = boxes_vm_configurator_is_install_config (_data_->_tmp8_);
#line 96 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		if (_data_->_tmp9_) {
#line 96 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->_tmp7_ = TRUE;
#line 1779 "libvirt-broker.c"
		} else {
#line 96 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->_tmp10_ = _data_->config;
#line 96 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->_tmp11_ = boxes_vm_configurator_is_live_config (_data_->_tmp10_);
#line 96 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->_tmp7_ = _data_->_tmp11_;
#line 1787 "libvirt-broker.c"
		}
#line 96 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		if (_data_->_tmp7_) {
#line 97 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->_tmp12_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _data_->machine);
#line 97 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->_tmp13_ = _data_->_tmp12_;
#line 97 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			g_debug ("libvirt-broker.vala:97: Continuing installation/live session for '%s'," \
" ..", _data_->_tmp13_);
#line 98 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->_tmp14_ = boxes_vm_creator_new_for_install_completion (_data_->machine);
#line 98 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->_tmp15_ = _data_->_tmp14_;
#line 98 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_boxes_vm_creator_unref0 (_data_->_tmp15_);
#line 1803 "libvirt-broker.c"
		} else {
#line 99 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->_tmp16_ = _data_->config;
#line 99 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->_tmp17_ = boxes_vm_configurator_is_import_config (_data_->_tmp16_);
#line 99 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			if (_data_->_tmp17_) {
#line 100 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp18_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _data_->machine);
#line 100 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp19_ = _data_->_tmp18_;
#line 100 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				g_debug ("libvirt-broker.vala:100: Continuing import of '%s', ..", _data_->_tmp19_);
#line 101 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp20_ = boxes_vm_importer_new_for_import_completion (_data_->machine);
#line 101 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp21_ = _data_->_tmp20_;
#line 101 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_boxes_vm_creator_unref0 (_data_->_tmp21_);
#line 1823 "libvirt-broker.c"
			} else {
#line 102 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp22_ = _data_->config;
#line 102 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp23_ = boxes_vm_configurator_is_libvirt_system_import_config (_data_->_tmp22_);
#line 102 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				if (_data_->_tmp23_) {
#line 103 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->_tmp24_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _data_->machine);
#line 103 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->_tmp25_ = _data_->_tmp24_;
#line 103 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					g_debug ("libvirt-broker.vala:103: Continuing import of '%s', ..", _data_->_tmp25_);
#line 104 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->_tmp26_ = boxes_libvirt_vm_importer_new_for_import_completion (_data_->machine);
#line 104 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->_tmp27_ = _data_->_tmp26_;
#line 104 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_boxes_vm_creator_unref0 (_data_->_tmp27_);
#line 1843 "libvirt-broker.c"
				} else {
#line 105 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->_tmp28_ = _data_->config;
#line 105 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->_tmp29_ = boxes_vm_configurator_is_libvirt_cloning_config (_data_->_tmp28_);
#line 105 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					if (_data_->_tmp29_) {
#line 106 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
						_data_->_tmp30_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _data_->machine);
#line 106 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
						_data_->_tmp31_ = _data_->_tmp30_;
#line 106 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
						g_debug ("libvirt-broker.vala:106: Continuing cloning of '%s', ..", _data_->_tmp31_);
#line 107 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
						_data_->_tmp32_ = boxes_libvirt_vm_cloner_new_for_cloning_completion (_data_->machine);
#line 107 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
						_data_->_tmp33_ = _data_->_tmp32_;
#line 107 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
						_boxes_vm_creator_unref0 (_data_->_tmp33_);
#line 1863 "libvirt-broker.c"
					}
				}
			}
		}
#line 110 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->result = _data_->machine;
#line 110 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data_->config);
#line 110 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 110 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		if (_data_->_state_ != 0) {
#line 110 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			while (_data_->_task_complete_ != TRUE) {
#line 110 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 1880 "libvirt-broker.c"
			}
		}
#line 110 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 110 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 1887 "libvirt-broker.c"
	}
	goto __finally15;
	__catch15_g_error:
	{
#line 91 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_error_ = _data_->_inner_error_;
#line 91 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_inner_error_ = NULL;
#line 112 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp34_ = _data_->source;
#line 112 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp35_ = boxes_collection_source_get_name (_data_->_tmp34_);
#line 112 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp36_ = _data_->_tmp35_;
#line 112 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp37_ = _data_->_tmp36_;
#line 112 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp38_ = _data_->_error_;
#line 112 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_tmp39_ = _data_->_tmp38_->message;
#line 112 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_warning ("libvirt-broker.vala:112: Failed to create source '%s': %s", _data_->_tmp37_, _data_->_tmp39_);
#line 112 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_free0 (_data_->_tmp37_);
#line 114 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->result = NULL;
#line 114 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_error_free0 (_data_->_error_);
#line 114 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 114 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		if (_data_->_state_ != 0) {
#line 114 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			while (_data_->_task_complete_ != TRUE) {
#line 114 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 1924 "libvirt-broker.c"
			}
		}
#line 114 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 114 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 1931 "libvirt-broker.c"
	}
	__finally15:
#line 91 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.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 91 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_clear_error (&_data_->_inner_error_);
#line 91 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_object_unref (_data_->_async_result);
#line 91 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return FALSE;
#line 1942 "libvirt-broker.c"
}


static void boxes_libvirt_broker_real_add_source_data_free (gpointer _data) {
	BoxesLibvirtBrokerAddSourceData* _data_;
	_data_ = _data;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_slice_free (BoxesLibvirtBrokerAddSourceData, _data_);
#line 1953 "libvirt-broker.c"
}


static void boxes_libvirt_broker_real_add_source (BoxesBroker* base, BoxesCollectionSource* source, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesLibvirtBroker * self;
	BoxesLibvirtBrokerAddSourceData* _data_;
	BoxesLibvirtBroker* _tmp0_;
	BoxesCollectionSource* _tmp1_;
	BoxesCollectionSource* _tmp2_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	self = (BoxesLibvirtBroker*) base;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_ = g_slice_new0 (BoxesLibvirtBrokerAddSourceData);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_callback_ == NULL) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_task_complete_ = TRUE;
#line 1973 "libvirt-broker.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_task_set_task_data (_data_->_async_result, _data_, boxes_libvirt_broker_real_add_source_data_free);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->self = _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp1_ = source;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->source);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->source = _tmp2_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_libvirt_broker_real_add_source_co (_data_);
#line 1991 "libvirt-broker.c"
}


static void boxes_libvirt_broker_real_add_source_finish (BoxesBroker* base, GAsyncResult* _res_, GError** error) {
	BoxesLibvirtBrokerAddSourceData* _data_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_ = g_task_propagate_pointer (G_TASK (_res_), error);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (NULL == _data_) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return;
#line 2003 "libvirt-broker.c"
	}
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_task_complete_ = TRUE;
#line 2007 "libvirt-broker.c"
}


static Block36Data* block36_data_ref (Block36Data* _data36_) {
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_atomic_int_inc (&_data36_->_ref_count_);
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return _data36_;
#line 2016 "libvirt-broker.c"
}


static void block36_data_unref (void * _userdata_) {
	Block36Data* _data36_;
	_data36_ = (Block36Data*) _userdata_;
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (g_atomic_int_dec_and_test (&_data36_->_ref_count_)) {
#line 2025 "libvirt-broker.c"
		BoxesLibvirtBroker* self;
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		self = _data36_->self;
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data36_->source);
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (self);
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_slice_free (Block36Data, _data36_);
#line 2035 "libvirt-broker.c"
	}
}


static void boxes_libvirt_broker_add_source_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	BoxesLibvirtBrokerAddSourceData* _data_;
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_ = _user_data_;
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_source_object_ = source_object;
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_res_ = _res_;
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_task_complete_ = TRUE;
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_libvirt_broker_real_add_source_co (_data_);
#line 2052 "libvirt-broker.c"
}


static Block37Data* block37_data_ref (Block37Data* _data37_) {
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_atomic_int_inc (&_data37_->_ref_count_);
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return _data37_;
#line 2061 "libvirt-broker.c"
}


static void block37_data_unref (void * _userdata_) {
	Block37Data* _data37_;
	_data37_ = (Block37Data*) _userdata_;
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (g_atomic_int_dec_and_test (&_data37_->_ref_count_)) {
#line 2070 "libvirt-broker.c"
		BoxesLibvirtBroker* self;
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		self = _data37_->_data36_->self;
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data37_->cloned);
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data37_->clone);
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		block36_data_unref (_data37_->_data36_);
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data37_->_data36_ = NULL;
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_slice_free (Block37Data, _data37_);
#line 2084 "libvirt-broker.c"
	}
}


static void ____lambda20_ (Block37Data* _data37_) {
	Block36Data* _data36_;
	BoxesLibvirtBroker* self;
	BoxesLibvirtMachine* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
#line 164 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data36_ = _data37_->_data36_;
#line 164 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	self = _data36_->self;
#line 165 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp0_ = _data37_->clone;
#line 165 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp1_ = boxes_machine_get_under_construction ((BoxesMachine*) _tmp0_);
#line 165 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp2_ = _tmp1_;
#line 165 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (!_tmp2_) {
#line 2107 "libvirt-broker.c"
		BoxesLibvirtMachine* _tmp3_;
		BoxesLibvirtMachine* _tmp4_;
		gulong _tmp5_;
#line 166 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_tmp3_ = _data37_->cloned;
#line 166 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		boxes_machine_set_can_delete ((BoxesMachine*) _tmp3_, TRUE);
#line 167 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_tmp4_ = _data37_->clone;
#line 167 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_tmp5_ = _data37_->under_construct_id;
#line 167 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_signal_handler_disconnect ((GObject*) _tmp4_, _tmp5_);
#line 2121 "libvirt-broker.c"
	}
}


static void _____lambda20__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 164 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	____lambda20_ (self);
#line 2129 "libvirt-broker.c"
}


static void __lambda21_ (BoxesLibvirtBroker* self, GVirConnection* connection, GVirDomain* domain) {
	BoxesLibvirtMachine* machine = NULL;
	GVirDomain* _tmp0_;
	gconstpointer _tmp1_;
	BoxesLibvirtMachine* _tmp2_;
	BoxesLibvirtMachine* _tmp3_;
	BoxesApp* _tmp4_;
	BoxesLibvirtMachine* _tmp5_;
#line 172 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_return_if_fail (connection != NULL);
#line 172 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_return_if_fail (domain != NULL);
#line 173 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp0_ = domain;
#line 173 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp1_ = g_object_get_data ((GObject*) _tmp0_, "machine");
#line 173 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp2_ = _g_object_ref0 ((BoxesLibvirtMachine*) _tmp1_);
#line 173 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	machine = _tmp2_;
#line 174 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp3_ = machine;
#line 174 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_tmp3_ == NULL) {
#line 175 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (machine);
#line 175 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return;
#line 2161 "libvirt-broker.c"
	}
#line 177 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp4_ = boxes_app_app;
#line 177 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp5_ = machine;
#line 177 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_app_delete_machine (_tmp4_, (BoxesMachine*) _tmp5_, FALSE);
#line 172 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (machine);
#line 2171 "libvirt-broker.c"
}


static void ___lambda21__gvir_connection_domain_removed (GVirConnection* _sender, GVirDomain* dom, gpointer self) {
#line 172 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	__lambda21_ ((BoxesLibvirtBroker*) self, _sender, dom);
#line 2178 "libvirt-broker.c"
}


static void __lambda23_ (Block36Data* _data36_, GVirConnection* connection, GVirDomain* domain) {
	BoxesLibvirtBroker* self;
	GVirDomain* _tmp0_;
	const gchar* _tmp1_;
	BoxesCollectionSource* _tmp2_;
	GVirConnection* _tmp3_;
	GVirDomain* _tmp4_;
#line 180 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	self = _data36_->self;
#line 180 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_return_if_fail (connection != NULL);
#line 180 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_return_if_fail (domain != NULL);
#line 181 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp0_ = domain;
#line 181 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp1_ = gvir_domain_get_name (_tmp0_);
#line 181 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_debug ("libvirt-broker.vala:181: New domain '%s'", _tmp1_);
#line 182 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp2_ = _data36_->source;
#line 182 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp3_ = connection;
#line 182 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_tmp4_ = domain;
#line 182 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_libvirt_broker_try_add_new_domain (self, _tmp2_, _tmp3_, _tmp4_, NULL, NULL);
#line 2209 "libvirt-broker.c"
}


static void ___lambda23__gvir_connection_domain_added (GVirConnection* _sender, GVirDomain* dom, gpointer self) {
#line 180 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	__lambda23_ (self, _sender, dom);
#line 2216 "libvirt-broker.c"
}


static gboolean boxes_libvirt_broker_real_add_source_co (BoxesLibvirtBrokerAddSourceData* _data_) {
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	switch (_data_->_state_) {
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 0:
#line 2225 "libvirt-broker.c"
		goto _state_0;
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 1:
#line 2229 "libvirt-broker.c"
		goto _state_1;
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 2:
#line 2233 "libvirt-broker.c"
		goto _state_2;
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 3:
#line 2237 "libvirt-broker.c"
		goto _state_3;
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 4:
#line 2241 "libvirt-broker.c"
		goto _state_4;
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 5:
#line 2245 "libvirt-broker.c"
		goto _state_5;
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		case 6:
#line 2249 "libvirt-broker.c"
		goto _state_6;
		default:
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_assert_not_reached ();
#line 2254 "libvirt-broker.c"
	}
	_state_0:
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_data36_ = g_slice_new0 (Block36Data);
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_data36_->_ref_count_ = 1;
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_data36_->self = g_object_ref (_data_->self);
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp0_ = _data_->source;
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->_data36_->source);
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_data36_->source = _data_->_tmp0_;
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_data36_->_async_data_ = _data_;
#line 119 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp1_ = _data_->self->priv->connections;
#line 119 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp2_ = _data_->_data36_->source;
#line 119 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp3_ = boxes_collection_source_get_name (_data_->_tmp2_);
#line 119 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp4_ = _data_->_tmp3_;
#line 119 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp5_ = _data_->_tmp4_;
#line 119 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp6_ = g_hash_table_lookup (_data_->_tmp1_, _data_->_tmp5_);
#line 119 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp7_ = ((GVirConnection*) _data_->_tmp6_) != NULL;
#line 119 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_free0 (_data_->_tmp5_);
#line 119 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_data_->_tmp7_) {
#line 120 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		block36_data_unref (_data_->_data36_);
#line 120 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data36_ = NULL;
#line 120 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 120 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		if (_data_->_state_ != 0) {
#line 120 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			while (_data_->_task_complete_ != TRUE) {
#line 120 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 2301 "libvirt-broker.c"
			}
		}
#line 120 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 120 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 2308 "libvirt-broker.c"
	}
#line 122 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp8_ = _data_->_data36_->source;
#line 122 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp9_ = boxes_collection_source_get_uri (_data_->_tmp8_);
#line 122 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp10_ = _data_->_tmp9_;
#line 122 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp11_ = _data_->_tmp10_;
#line 122 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp12_ = gvir_connection_new (_data_->_tmp11_);
#line 122 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp13_ = _data_->_tmp12_;
#line 122 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_free0 (_data_->_tmp11_);
#line 122 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->connection = _data_->_tmp13_;
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp14_ = _data_->connection;
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_state_ = 1;
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	gvir_connection_open_async (_data_->_tmp14_, NULL, boxes_libvirt_broker_add_source_ready, _data_);
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return FALSE;
#line 2334 "libvirt-broker.c"
	_state_1:
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	gvir_connection_open_finish (_data_->_tmp14_, _data_->_res_, &_data_->_inner_error_);
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_task_return_error (_data_->_async_result, _data_->_inner_error_);
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data_->connection);
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		block36_data_unref (_data_->_data36_);
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data36_ = NULL;
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 124 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 2352 "libvirt-broker.c"
	}
#line 125 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp15_ = _data_->connection;
#line 125 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_state_ = 2;
#line 125 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	gvir_connection_fetch_domains_async (_data_->_tmp15_, NULL, boxes_libvirt_broker_add_source_ready, _data_);
#line 125 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return FALSE;
#line 2362 "libvirt-broker.c"
	_state_2:
#line 125 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	gvir_connection_fetch_domains_finish (_data_->_tmp15_, _data_->_res_, &_data_->_inner_error_);
#line 125 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 125 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_task_return_error (_data_->_async_result, _data_->_inner_error_);
#line 125 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data_->connection);
#line 125 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		block36_data_unref (_data_->_data36_);
#line 125 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data36_ = NULL;
#line 125 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 125 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 2380 "libvirt-broker.c"
	}
#line 126 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp16_ = _data_->connection;
#line 126 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_state_ = 3;
#line 126 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	gvir_connection_fetch_storage_pools_async (_data_->_tmp16_, NULL, boxes_libvirt_broker_add_source_ready, _data_);
#line 126 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return FALSE;
#line 2390 "libvirt-broker.c"
	_state_3:
#line 126 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	gvir_connection_fetch_storage_pools_finish (_data_->_tmp16_, _data_->_res_, &_data_->_inner_error_);
#line 126 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 126 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_task_return_error (_data_->_async_result, _data_->_inner_error_);
#line 126 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data_->connection);
#line 126 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		block36_data_unref (_data_->_data36_);
#line 126 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data36_ = NULL;
#line 126 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 126 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 2408 "libvirt-broker.c"
	}
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp17_ = _data_->connection;
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_state_ = 4;
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_ensure_storage_pool (_data_->_tmp17_, boxes_libvirt_broker_add_source_ready, _data_);
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return FALSE;
#line 2418 "libvirt-broker.c"
	_state_4:
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp18_ = boxes_ensure_storage_pool_finish (_data_->_res_, &_data_->_inner_error_);
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp19_ = _data_->_tmp18_;
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->_tmp19_);
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_task_return_error (_data_->_async_result, _data_->_inner_error_);
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data_->connection);
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		block36_data_unref (_data_->_data36_);
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data36_ = NULL;
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 127 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 2440 "libvirt-broker.c"
	}
#line 129 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp20_ = _data_->self->priv->connections;
#line 129 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp21_ = _data_->_data36_->source;
#line 129 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp22_ = boxes_collection_source_get_name (_data_->_tmp21_);
#line 129 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp23_ = _data_->_tmp22_;
#line 129 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp24_ = _data_->connection;
#line 129 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp25_ = _g_object_ref0 (_data_->_tmp24_);
#line 129 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_hash_table_insert (_data_->_tmp20_, _data_->_tmp23_, _data_->_tmp25_);
#line 131 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->clones = NULL;
#line 132 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp26_ = _data_->connection;
#line 132 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp27_ = gvir_connection_get_domains (_data_->_tmp26_);
#line 2462 "libvirt-broker.c"
	{
#line 132 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->domain_collection = _data_->_tmp27_;
#line 132 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		for (_data_->domain_it = _data_->domain_collection; _data_->domain_it != NULL; _data_->domain_it = _data_->domain_it->next) {
#line 132 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->_tmp28_ = _g_object_ref0 ((GVirDomain*) _data_->domain_it->data);
#line 132 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->domain = _data_->_tmp28_;
#line 2472 "libvirt-broker.c"
			{
#line 133 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp29_ = _data_->_data36_->source;
#line 133 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp30_ = _data_->connection;
#line 133 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp31_ = _data_->domain;
#line 133 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_state_ = 5;
#line 133 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				boxes_libvirt_broker_try_add_existing_domain (_data_->self, _data_->_tmp29_, _data_->_tmp30_, _data_->_tmp31_, boxes_libvirt_broker_add_source_ready, _data_);
#line 133 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				return FALSE;
#line 2486 "libvirt-broker.c"
				_state_5:
#line 133 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp32_ = boxes_libvirt_broker_try_add_existing_domain_finish (_data_->self, _data_->_res_);
#line 133 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->machine = _data_->_tmp32_;
#line 135 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp33_ = _data_->machine;
#line 135 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp34_ = boxes_libvirt_machine_get_domain_config (_data_->_tmp33_);
#line 135 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp35_ = _data_->_tmp34_;
#line 135 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp36_ = boxes_vm_configurator_is_libvirt_cloning_config (_data_->_tmp35_);
#line 135 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				if (_data_->_tmp36_) {
#line 136 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->_tmp37_ = _data_->machine;
#line 136 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->_tmp38_ = _g_object_ref0 (_data_->_tmp37_);
#line 136 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->clones = g_list_append (_data_->clones, _data_->_tmp38_);
#line 2508 "libvirt-broker.c"
				}
#line 132 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_g_object_unref0 (_data_->machine);
#line 132 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_g_object_unref0 (_data_->domain);
#line 2514 "libvirt-broker.c"
			}
		}
#line 132 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		__g_list_free__g_object_unref0_0 (_data_->domain_collection);
#line 2519 "libvirt-broker.c"
	}
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp39_ = _data_->clones;
#line 2523 "libvirt-broker.c"
	{
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->clone_collection = _data_->_tmp39_;
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		for (_data_->clone_it = _data_->clone_collection; _data_->clone_it != NULL; _data_->clone_it = _data_->clone_it->next) {
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->_tmp40_ = _g_object_ref0 ((BoxesLibvirtMachine*) _data_->clone_it->data);
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			_data_->clone = _data_->_tmp40_;
#line 2533 "libvirt-broker.c"
			{
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_data37_ = g_slice_new0 (Block37Data);
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_data37_->_ref_count_ = 1;
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_data37_->_data36_ = block36_data_ref (_data_->_data36_);
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_data37_->clone = _data_->clone;
#line 140 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp41_ = _data_->_data37_->clone;
#line 140 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp42_ = boxes_libvirt_machine_get_vm_creator (_data_->_tmp41_);
#line 140 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp43_ = _data_->_tmp42_;
#line 140 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp44_ = boxes_vm_importer_get_source_media (G_TYPE_CHECK_INSTANCE_TYPE (_data_->_tmp43_, BOXES_TYPE_VM_IMPORTER) ? ((BoxesVMImporter*) _data_->_tmp43_) : NULL);
#line 140 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp45_ = _data_->_tmp44_;
#line 140 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp46_ = ((BoxesInstallerMedia*) _data_->_tmp45_)->device_file;
#line 140 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp47_ = g_strdup (_data_->_tmp46_);
#line 140 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->disk_path = _data_->_tmp47_;
#line 141 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_data37_->cloned = NULL;
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp48_ = boxes_app_app;
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp49_ = _data_->_tmp48_->collection;
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp50_ = _data_->_tmp49_->items;
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp51_ = _data_->_tmp50_->pdata;
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp51__length1 = (gint) _data_->_tmp50_->len;
#line 2571 "libvirt-broker.c"
				{
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->item_collection_length1 = 0;
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->_item_collection_size_ = 0;
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->item_collection = _data_->_tmp51_;
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->item_collection_length1 = _data_->_tmp51__length1;
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					for (_data_->item_it = 0; _data_->item_it < _data_->_tmp51__length1; _data_->item_it = _data_->item_it + 1) {
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
						_data_->_tmp52_ = _g_object_ref0 (_data_->item_collection[_data_->item_it]);
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
						_data_->item = _data_->_tmp52_;
#line 2587 "libvirt-broker.c"
						{
#line 144 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							_data_->_tmp53_ = _data_->item;
#line 144 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							if (!G_TYPE_CHECK_INSTANCE_TYPE (_data_->_tmp53_, BOXES_TYPE_LIBVIRT_MACHINE)) {
#line 145 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_g_object_unref0 (_data_->item);
#line 145 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								continue;
#line 2597 "libvirt-broker.c"
							}
#line 147 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							_data_->_tmp54_ = _data_->item;
#line 147 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							_data_->_tmp55_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_data_->_tmp54_, BOXES_TYPE_LIBVIRT_MACHINE) ? ((BoxesLibvirtMachine*) _data_->_tmp54_) : NULL);
#line 147 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							_data_->_vala1_machine = _data_->_tmp55_;
#line 148 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							_data_->_tmp56_ = _data_->_vala1_machine;
#line 148 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							_data_->_tmp57_ = boxes_libvirt_machine_get_storage_volume (_data_->_tmp56_);
#line 148 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							_data_->_tmp58_ = _data_->_tmp57_;
#line 148 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							_data_->_tmp59_ = _g_object_ref0 (_data_->_tmp58_);
#line 148 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							_data_->volume = _data_->_tmp59_;
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							_data_->_tmp61_ = _data_->volume;
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							if (_data_->_tmp61_ != NULL) {
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_data_->_tmp63_ = _data_->volume;
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_data_->_tmp64_ = gvir_storage_vol_get_path (_data_->_tmp63_, &_data_->_inner_error_);
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_data_->_tmp62_ = _data_->_tmp64_;
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
									g_task_return_error (_data_->_async_result, _data_->_inner_error_);
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
									_g_object_unref0 (_data_->volume);
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
									_g_object_unref0 (_data_->_vala1_machine);
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
									_g_object_unref0 (_data_->item);
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
									_g_free0 (_data_->disk_path);
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
									block37_data_unref (_data_->_data37_);
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
									_data_->_data37_ = NULL;
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
									__g_list_free__g_object_unref0_0 (_data_->clones);
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
									_g_object_unref0 (_data_->connection);
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
									block36_data_unref (_data_->_data36_);
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
									_data_->_data36_ = NULL;
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
									g_object_unref (_data_->_async_result);
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
									return FALSE;
#line 2653 "libvirt-broker.c"
								}
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_data_->_tmp65_ = _data_->disk_path;
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_data_->_tmp60_ = g_strcmp0 (_data_->_tmp62_, _data_->_tmp65_) == 0;
#line 2659 "libvirt-broker.c"
							} else {
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_data_->_tmp60_ = FALSE;
#line 2663 "libvirt-broker.c"
							}
#line 149 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							if (_data_->_tmp60_) {
#line 150 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_data_->_tmp66_ = _data_->_vala1_machine;
#line 150 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_data_->_tmp67_ = _g_object_ref0 (_data_->_tmp66_);
#line 150 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_g_object_unref0 (_data_->_data37_->cloned);
#line 150 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_data_->_data37_->cloned = _data_->_tmp67_;
#line 152 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_g_object_unref0 (_data_->volume);
#line 152 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_g_object_unref0 (_data_->_vala1_machine);
#line 152 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								_g_object_unref0 (_data_->item);
#line 152 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
								break;
#line 2683 "libvirt-broker.c"
							}
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							_g_object_unref0 (_data_->volume);
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							_g_object_unref0 (_data_->_vala1_machine);
#line 143 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
							_g_object_unref0 (_data_->item);
#line 2691 "libvirt-broker.c"
						}
					}
				}
#line 156 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp68_ = _data_->_data37_->cloned;
#line 156 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				if (_data_->_tmp68_ == NULL) {
#line 157 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->_tmp69_ = _data_->_data37_->clone;
#line 157 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->_tmp70_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _data_->_tmp69_);
#line 157 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->_tmp71_ = _data_->_tmp70_;
#line 157 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					g_warning ("libvirt-broker.vala:157: Failed to find source machine of clone %s", _data_->_tmp71_);
#line 159 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_g_free0 (_data_->disk_path);
#line 159 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					block37_data_unref (_data_->_data37_);
#line 159 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					_data_->_data37_ = NULL;
#line 159 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
					continue;
#line 2715 "libvirt-broker.c"
				}
#line 162 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp72_ = _data_->_data37_->cloned;
#line 162 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				boxes_machine_set_can_delete ((BoxesMachine*) _data_->_tmp72_, FALSE);
#line 163 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_data37_->under_construct_id = (gulong) 0;
#line 164 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp73_ = _data_->_data37_->clone;
#line 164 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_tmp74_ = g_signal_connect_data ((GObject*) _data_->_tmp73_, "notify::under-construction", (GCallback) _____lambda20__g_object_notify, block37_data_ref (_data_->_data37_), (GClosureNotify) block37_data_unref, 0);
#line 164 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_data37_->under_construct_id = _data_->_tmp74_;
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_g_free0 (_data_->disk_path);
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				block37_data_unref (_data_->_data37_);
#line 139 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
				_data_->_data37_ = NULL;
#line 2735 "libvirt-broker.c"
			}
		}
	}
#line 172 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp75_ = _data_->connection;
#line 172 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_signal_connect_object (_data_->_tmp75_, "domain-removed", (GCallback) ___lambda21__gvir_connection_domain_removed, _data_->self, 0);
#line 180 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp76_ = _data_->connection;
#line 180 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_signal_connect_data (_data_->_tmp76_, "domain-added", (GCallback) ___lambda23__gvir_connection_domain_added, block36_data_ref (_data_->_data36_), (GClosureNotify) block36_data_unref, 0);
#line 185 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_tmp77_ = _data_->_data36_->source;
#line 185 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_state_ = 6;
#line 185 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	BOXES_BROKER_CLASS (boxes_libvirt_broker_parent_class)->add_source (G_TYPE_CHECK_INSTANCE_CAST (_data_->self, BOXES_TYPE_BROKER, BoxesBroker), _data_->_tmp77_, boxes_libvirt_broker_add_source_ready, _data_);
#line 185 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return FALSE;
#line 2755 "libvirt-broker.c"
	_state_6:
#line 185 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	BOXES_BROKER_CLASS (boxes_libvirt_broker_parent_class)->add_source_finish (G_TYPE_CHECK_INSTANCE_CAST (_data_->self, BOXES_TYPE_BROKER, BoxesBroker), _data_->_res_, &_data_->_inner_error_);
#line 185 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 185 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_task_return_error (_data_->_async_result, _data_->_inner_error_);
#line 185 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		__g_list_free__g_object_unref0_0 (_data_->clones);
#line 185 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_g_object_unref0 (_data_->connection);
#line 185 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		block36_data_unref (_data_->_data36_);
#line 185 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		_data_->_data36_ = NULL;
#line 185 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		g_object_unref (_data_->_async_result);
#line 185 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		return FALSE;
#line 2775 "libvirt-broker.c"
	}
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	__g_list_free__g_object_unref0_0 (_data_->clones);
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_object_unref0 (_data_->connection);
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	block36_data_unref (_data_->_data36_);
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_data_->_data36_ = NULL;
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	if (_data_->_state_ != 0) {
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
		while (_data_->_task_complete_ != TRUE) {
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
#line 2793 "libvirt-broker.c"
		}
	}
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_object_unref (_data_->_async_result);
#line 118 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	return FALSE;
#line 2800 "libvirt-broker.c"
}


static void boxes_libvirt_broker_class_init (BoxesLibvirtBrokerClass * klass) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	boxes_libvirt_broker_parent_class = g_type_class_peek_parent (klass);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	g_type_class_add_private (klass, sizeof (BoxesLibvirtBrokerPrivate));
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	((BoxesBrokerClass *) klass)->add_source = (void (*) (BoxesBroker *, BoxesCollectionSource*, GAsyncReadyCallback, gpointer)) boxes_libvirt_broker_real_add_source;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	((BoxesBrokerClass *) klass)->add_source_finish = (void (*) (BoxesBroker *, GAsyncResult*, GError**)) boxes_libvirt_broker_real_add_source_finish;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_libvirt_broker_finalize;
#line 2815 "libvirt-broker.c"
}


static void boxes_libvirt_broker_instance_init (BoxesLibvirtBroker * self) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	self->priv = BOXES_LIBVIRT_BROKER_GET_PRIVATE (self);
#line 2822 "libvirt-broker.c"
}


static void boxes_libvirt_broker_finalize (GObject * obj) {
	BoxesLibvirtBroker * self;
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_LIBVIRT_BROKER, BoxesLibvirtBroker);
#line 7 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	_g_hash_table_unref0 (self->priv->connections);
#line 8 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	__g_list_free__g_object_unref0_0 (self->priv->pending_domains);
#line 5 "/home/fborges/checkout/gnome-boxes/src/libvirt-broker.vala"
	G_OBJECT_CLASS (boxes_libvirt_broker_parent_class)->finalize (obj);
#line 2836 "libvirt-broker.c"
}


GType boxes_libvirt_broker_get_type (void) {
	static volatile gsize boxes_libvirt_broker_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_libvirt_broker_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesLibvirtBrokerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_libvirt_broker_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesLibvirtBroker), 0, (GInstanceInitFunc) boxes_libvirt_broker_instance_init, NULL };
		GType boxes_libvirt_broker_type_id;
		boxes_libvirt_broker_type_id = g_type_register_static (BOXES_TYPE_BROKER, "BoxesLibvirtBroker", &g_define_type_info, 0);
		g_once_init_leave (&boxes_libvirt_broker_type_id__volatile, boxes_libvirt_broker_type_id);
	}
	return boxes_libvirt_broker_type_id__volatile;
}



