/* box-config.c generated by valac 0.20.1.16-ff48-dirty, the Vala compiler
 * generated from box-config.vala, do not modify */

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

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>


#define BOXES_TYPE_ICONFIG (boxes_iconfig_get_type ())
#define BOXES_ICONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_ICONFIG, BoxesIConfig))
#define BOXES_IS_ICONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_ICONFIG))
#define BOXES_ICONFIG_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_TYPE_ICONFIG, BoxesIConfigIface))

typedef struct _BoxesIConfig BoxesIConfig;
typedef struct _BoxesIConfigIface BoxesIConfigIface;

#define BOXES_TYPE_BOX_CONFIG (boxes_box_config_get_type ())
#define BOXES_BOX_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_BOX_CONFIG, BoxesBoxConfig))
#define BOXES_BOX_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_BOX_CONFIG, BoxesBoxConfigClass))
#define BOXES_IS_BOX_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_BOX_CONFIG))
#define BOXES_IS_BOX_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_BOX_CONFIG))
#define BOXES_BOX_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_BOX_CONFIG, BoxesBoxConfigClass))

typedef struct _BoxesBoxConfig BoxesBoxConfig;
typedef struct _BoxesBoxConfigClass BoxesBoxConfigClass;
typedef struct _BoxesBoxConfigPrivate BoxesBoxConfigPrivate;

#define BOXES_TYPE_COLLECTION_SOURCE (boxes_collection_source_get_type ())
#define BOXES_COLLECTION_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_SOURCE, BoxesCollectionSource))
#define BOXES_COLLECTION_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_SOURCE, BoxesCollectionSourceClass))
#define BOXES_IS_COLLECTION_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_SOURCE))
#define BOXES_IS_COLLECTION_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_SOURCE))
#define BOXES_COLLECTION_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_SOURCE, BoxesCollectionSourceClass))

typedef struct _BoxesCollectionSource BoxesCollectionSource;
typedef struct _BoxesCollectionSourceClass BoxesCollectionSourceClass;

#define BOXES_BOX_CONFIG_TYPE_SYNC_PROPERTY (boxes_box_config_sync_property_get_type ())
typedef struct _BoxesBoxConfigSyncProperty BoxesBoxConfigSyncProperty;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _g_param_spec_unref0(var) ((var == NULL) ? NULL : (var = (g_param_spec_unref (var), NULL)))
typedef struct _Block1Data Block1Data;
#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))

struct _BoxesIConfigIface {
	GTypeInterface parent_iface;
	GKeyFile* (*get_keyfile) (BoxesIConfig* self);
	const gchar* (*get_filename) (BoxesIConfig* self);
	void (*set_filename) (BoxesIConfig* self, const gchar* value);
	gboolean (*get_has_file) (BoxesIConfig* self);
	void (*set_has_file) (BoxesIConfig* self, gboolean value);
};

struct _BoxesBoxConfig {
	GObject parent_instance;
	BoxesBoxConfigPrivate * priv;
};

struct _BoxesBoxConfigClass {
	GObjectClass parent_class;
};

struct _BoxesBoxConfigSyncProperty {
	gchar* name;
	GValue default_value;
};

struct _BoxesBoxConfigPrivate {
	BoxesCollectionSource* source;
	gchar* _group;
	gint64 _access_last_time;
	gint64 _access_first_time;
	gint64 _access_total_time;
	gint64 _access_ntimes;
	BoxesBoxConfigSyncProperty* access_properties;
	gint access_properties_length1;
	gint _access_properties_size_;
	gchar* filter_data;
};

struct _Block1Data {
	int _ref_count_;
	BoxesBoxConfig * self;
	GObject* object;
	BoxesBoxConfigSyncProperty* properties;
	gint properties_length1;
};


static gpointer boxes_box_config_parent_class = NULL;
static BoxesIConfigIface* boxes_box_config_boxes_iconfig_parent_iface = NULL;

GType boxes_iconfig_get_type (void) G_GNUC_CONST;
GType boxes_box_config_get_type (void) G_GNUC_CONST;
GType boxes_collection_source_get_type (void) G_GNUC_CONST;
GType boxes_box_config_sync_property_get_type (void) G_GNUC_CONST;
BoxesBoxConfigSyncProperty* boxes_box_config_sync_property_dup (const BoxesBoxConfigSyncProperty* self);
void boxes_box_config_sync_property_free (BoxesBoxConfigSyncProperty* self);
void boxes_box_config_sync_property_copy (const BoxesBoxConfigSyncProperty* self, BoxesBoxConfigSyncProperty* dest);
void boxes_box_config_sync_property_destroy (BoxesBoxConfigSyncProperty* self);
#define BOXES_BOX_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_BOX_CONFIG, BoxesBoxConfigPrivate))
enum  {
	BOXES_BOX_CONFIG_DUMMY_PROPERTY,
	BOXES_BOX_CONFIG_GROUP,
	BOXES_BOX_CONFIG_LAST_SEEN_NAME,
	BOXES_BOX_CONFIG_UUID,
	BOXES_BOX_CONFIG_CATEGORIES,
	BOXES_BOX_CONFIG_ACCESS_LAST_TIME,
	BOXES_BOX_CONFIG_ACCESS_FIRST_TIME,
	BOXES_BOX_CONFIG_ACCESS_TOTAL_TIME,
	BOXES_BOX_CONFIG_ACCESS_NTIMES
};
static void _vala_BoxesBoxConfigSyncProperty_array_free (BoxesBoxConfigSyncProperty* array, gint array_length);
BoxesBoxConfig* boxes_box_config_new_with_group (BoxesCollectionSource* source, const gchar* group);
BoxesBoxConfig* boxes_box_config_construct_with_group (GType object_type, BoxesCollectionSource* source, const gchar* group);
static void boxes_box_config_set_group (BoxesBoxConfig* self, const gchar* value);
void boxes_box_config_sync_properties (BoxesBoxConfig* self, GObject* object, BoxesBoxConfigSyncProperty* properties, int properties_length1);
void boxes_box_config_delete (BoxesBoxConfig* self);
GKeyFile* boxes_iconfig_get_keyfile (BoxesIConfig* self);
const gchar* boxes_box_config_get_group (BoxesBoxConfig* self);
void boxes_iconfig_save (BoxesIConfig* self);
static void boxes_box_config_remove_category (BoxesBoxConfig* self, const gchar* category);
gchar** boxes_box_config_get_categories (BoxesBoxConfig* self, int* result_length1);
static void _vala_array_add1 (gchar*** array, int* length, int* size, gchar* value);
void boxes_box_config_set_categories (BoxesBoxConfig* self, gchar** value, int value_length1);
static void boxes_box_config_add_category (BoxesBoxConfig* self, const gchar* category);
static gboolean _vala_string_array_contains (gchar** stack, int stack_length, gchar* needle);
static void _vala_array_add2 (gchar*** array, int* length, int* size, gchar* value);
void boxes_box_config_set_category (BoxesBoxConfig* self, const gchar* category, gboolean enabled);
static void boxes_box_config_save_property (BoxesBoxConfig* self, GObject* object, const gchar* property_name);
static void boxes_box_config_load_property (BoxesBoxConfig* self, GObject* object, const gchar* property_name, GValue* default_value);
static Block1Data* block1_data_ref (Block1Data* _data1_);
static void block1_data_unref (void * _userdata_);
static void __lambda2_ (Block1Data* _data1_, GParamSpec* pspec);
static void ___lambda2__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
static void boxes_box_config_update_filter_data (BoxesBoxConfig* self);
gchar* boxes_box_config_get_last_seen_name (BoxesBoxConfig* self);
gchar* boxes_canonicalize_for_search (const gchar* str);
gboolean boxes_box_config_contains_strings (BoxesBoxConfig* self, gchar** strings, int strings_length1);
gint boxes_box_config_compare (BoxesBoxConfig* self, BoxesBoxConfig* other);
gint64 boxes_box_config_get_access_last_time (BoxesBoxConfig* self);
gboolean boxes_is_set (const gchar* str);
BoxesBoxConfig* boxes_box_config_new (void);
BoxesBoxConfig* boxes_box_config_construct (GType object_type);
gboolean boxes_iconfig_get_has_file (BoxesIConfig* self);
void boxes_iconfig_set_has_file (BoxesIConfig* self, gboolean value);
const gchar* boxes_iconfig_get_filename (BoxesIConfig* self);
gchar* boxes_iconfig_get_string (BoxesIConfig* self, const gchar* group, const gchar* key);
void boxes_box_config_set_last_seen_name (BoxesBoxConfig* self, const gchar* value);
gchar* boxes_box_config_get_uuid (BoxesBoxConfig* self);
void boxes_box_config_set_uuid (BoxesBoxConfig* self, const gchar* value);
gchar** boxes_iconfig_get_string_list (BoxesIConfig* self, const gchar* group, const gchar* key, int* result_length1);
void boxes_box_config_set_access_last_time (BoxesBoxConfig* self, gint64 value);
gint64 boxes_box_config_get_access_first_time (BoxesBoxConfig* self);
void boxes_box_config_set_access_first_time (BoxesBoxConfig* self, gint64 value);
gint64 boxes_box_config_get_access_total_time (BoxesBoxConfig* self);
void boxes_box_config_set_access_total_time (BoxesBoxConfig* self, gint64 value);
gint64 boxes_box_config_get_access_ntimes (BoxesBoxConfig* self);
void boxes_box_config_set_access_ntimes (BoxesBoxConfig* self, gint64 value);
static GObject * boxes_box_config_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
static void boxes_box_config_finalize (GObject* obj);
static void _vala_boxes_box_config_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_boxes_box_config_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);


static void _vala_BoxesBoxConfigSyncProperty_array_free (BoxesBoxConfigSyncProperty* array, gint array_length) {
#line 44 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (array != NULL) {
#line 177 "box-config.c"
		int i;
#line 44 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		for (i = 0; i < array_length; i = i + 1) {
#line 44 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			boxes_box_config_sync_property_destroy (&array[i]);
#line 183 "box-config.c"
		}
	}
#line 44 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_free (array);
#line 188 "box-config.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return self ? g_object_ref (self) : NULL;
#line 195 "box-config.c"
}


BoxesBoxConfig* boxes_box_config_construct_with_group (GType object_type, BoxesCollectionSource* source, const gchar* group) {
	BoxesBoxConfig * self = NULL;
	BoxesCollectionSource* _tmp0_;
	BoxesCollectionSource* _tmp1_;
	const gchar* _tmp2_;
	gboolean _tmp3_ = FALSE;
	const gchar* _tmp4_;
	BoxesBoxConfigSyncProperty* _tmp5_;
	gint _tmp5__length1;
#line 55 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (source != NULL, NULL);
#line 55 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (group != NULL, NULL);
#line 55 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self = (BoxesBoxConfig*) g_object_new (object_type, NULL);
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = source;
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_object_unref0 (self->priv->source);
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self->priv->source = _tmp1_;
#line 58 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = group;
#line 58 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3_ = g_str_has_prefix (_tmp2_, "display");
#line 58 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_warn_if_fail (_tmp3_);
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp4_ = group;
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	boxes_box_config_set_group (self, _tmp4_);
#line 61 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp5_ = self->priv->access_properties;
#line 61 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp5__length1 = self->priv->access_properties_length1;
#line 61 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	boxes_box_config_sync_properties (self, (GObject*) self, _tmp5_, _tmp5__length1);
#line 55 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return self;
#line 240 "box-config.c"
}


BoxesBoxConfig* boxes_box_config_new_with_group (BoxesCollectionSource* source, const gchar* group) {
#line 55 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return boxes_box_config_construct_with_group (BOXES_TYPE_BOX_CONFIG, source, group);
#line 247 "box-config.c"
}


void boxes_box_config_delete (BoxesBoxConfig* self) {
	GError * _inner_error_ = NULL;
#line 64 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 255 "box-config.c"
	{
		GKeyFile* _tmp0_;
		GKeyFile* _tmp1_;
		const gchar* _tmp2_;
#line 66 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp0_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 66 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp1_ = _tmp0_;
#line 66 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp2_ = self->priv->_group;
#line 66 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_key_file_remove_group (_tmp1_, _tmp2_, &_inner_error_);
#line 66 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		if (_inner_error_ != NULL) {
#line 270 "box-config.c"
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* _error_ = NULL;
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_error_ = _inner_error_;
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_inner_error_ = NULL;
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_g_error_free0 (_error_);
#line 284 "box-config.c"
	}
	__finally0:
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_inner_error_ != NULL) {
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_clear_error (&_inner_error_);
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		return;
#line 295 "box-config.c"
	}
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	boxes_iconfig_save ((BoxesIConfig*) self);
#line 299 "box-config.c"
}


static void _vala_array_add1 (gchar*** array, int* length, int* size, gchar* value) {
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if ((*length) == (*size)) {
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		*array = g_renew (gchar*, *array, (*size) + 1);
#line 310 "box-config.c"
	}
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	(*array)[(*length)++] = value;
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	(*array)[*length] = NULL;
#line 316 "box-config.c"
}


static void boxes_box_config_remove_category (BoxesBoxConfig* self, const gchar* category) {
	gchar** categories = NULL;
	gchar** _tmp0_ = NULL;
	gint categories_length1;
	gint _categories_size_;
	gchar** _tmp1_;
	gint _tmp1__length1;
	gchar** _tmp2_;
	gint _tmp2__length1;
	gchar** _tmp9_;
	gint _tmp9__length1;
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (category != NULL);
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = g_new0 (gchar*, 0 + 1);
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	categories = _tmp0_;
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	categories_length1 = 0;
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_categories_size_ = categories_length1;
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = boxes_box_config_get_categories (self, &_tmp1__length1);
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_;
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2__length1 = _tmp1__length1;
#line 349 "box-config.c"
	{
		gchar** it_collection = NULL;
		gint it_collection_length1 = 0;
		gint _it_collection_size_ = 0;
		gint it_it = 0;
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		it_collection = _tmp2_;
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		it_collection_length1 = _tmp2__length1;
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		for (it_it = 0; it_it < _tmp2__length1; it_it = it_it + 1) {
#line 361 "box-config.c"
			gchar* _tmp3_;
			gchar* it = NULL;
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp3_ = g_strdup (it_collection[it_it]);
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			it = _tmp3_;
#line 368 "box-config.c"
			{
				const gchar* _tmp4_;
				const gchar* _tmp5_;
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp4_ = it;
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp5_ = category;
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				if (g_strcmp0 (_tmp4_, _tmp5_) != 0) {
#line 378 "box-config.c"
					gchar** _tmp6_;
					gint _tmp6__length1;
					const gchar* _tmp7_;
					gchar* _tmp8_;
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp6_ = categories;
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp6__length1 = categories_length1;
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp7_ = it;
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp8_ = g_strdup (_tmp7_);
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_vala_array_add1 (&categories, &categories_length1, &_categories_size_, _tmp8_);
#line 393 "box-config.c"
				}
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_g_free0 (it);
#line 397 "box-config.c"
			}
		}
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		it_collection = (_vala_array_free (it_collection, it_collection_length1, (GDestroyNotify) g_free), NULL);
#line 402 "box-config.c"
	}
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp9_ = categories;
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp9__length1 = categories_length1;
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	boxes_box_config_set_categories (self, _tmp9_, _tmp9__length1);
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	categories = (_vala_array_free (categories, categories_length1, (GDestroyNotify) g_free), NULL);
#line 412 "box-config.c"
}


static gboolean _vala_string_array_contains (gchar** stack, int stack_length, gchar* needle) {
	int i;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	for (i = 0; i < stack_length; i++) {
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		if (g_strcmp0 (stack[i], needle) == 0) {
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			return TRUE;
#line 424 "box-config.c"
		}
	}
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return FALSE;
#line 429 "box-config.c"
}


static void _vala_array_add2 (gchar*** array, int* length, int* size, gchar* value) {
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if ((*length) == (*size)) {
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		*array = g_renew (gchar*, *array, (*size) + 1);
#line 440 "box-config.c"
	}
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	(*array)[(*length)++] = value;
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	(*array)[*length] = NULL;
#line 446 "box-config.c"
}


static void boxes_box_config_add_category (BoxesBoxConfig* self, const gchar* category) {
	const gchar* _tmp0_;
	gchar** _tmp1_;
	gint _tmp1__length1;
	gchar** _tmp2_;
	gint _tmp2__length1;
	gchar** _tmp3_;
	gint _tmp3__length1;
	gboolean _tmp4_;
	gchar** categories = NULL;
	gchar** _tmp5_;
	gint _tmp5__length1;
	gchar** _tmp6_;
	gint _tmp6__length1;
	gint categories_length1;
	gint _categories_size_;
	gchar** _tmp7_;
	gint _tmp7__length1;
	const gchar* _tmp8_;
	gchar* _tmp9_;
	gchar** _tmp10_;
	gint _tmp10__length1;
#line 83 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 83 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (category != NULL);
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = category;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = boxes_box_config_get_categories (self, &_tmp1__length1);
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2__length1 = _tmp1__length1;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3_ = _tmp2_;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3__length1 = _tmp2__length1;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp4_ = _vala_string_array_contains (_tmp3_, _tmp2__length1, _tmp0_);
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL);
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_tmp4_) {
#line 85 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		return;
#line 496 "box-config.c"
	}
#line 88 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp5_ = boxes_box_config_get_categories (self, &_tmp5__length1);
#line 88 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp6_ = _tmp5_;
#line 88 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp6__length1 = _tmp5__length1;
#line 88 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	categories = _tmp6_;
#line 88 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	categories_length1 = _tmp6__length1;
#line 88 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_categories_size_ = categories_length1;
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp7_ = categories;
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp7__length1 = categories_length1;
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp8_ = category;
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp9_ = g_strdup (_tmp8_);
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_vala_array_add2 (&categories, &categories_length1, &_categories_size_, _tmp9_);
#line 90 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp10_ = categories;
#line 90 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp10__length1 = categories_length1;
#line 90 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	boxes_box_config_set_categories (self, _tmp10_, _tmp10__length1);
#line 83 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	categories = (_vala_array_free (categories, categories_length1, (GDestroyNotify) g_free), NULL);
#line 528 "box-config.c"
}


void boxes_box_config_set_category (BoxesBoxConfig* self, const gchar* category, gboolean enabled) {
	gboolean _tmp0_;
#line 93 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 93 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (category != NULL);
#line 94 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = enabled;
#line 94 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_tmp0_) {
#line 542 "box-config.c"
		const gchar* _tmp1_;
#line 95 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp1_ = category;
#line 95 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		boxes_box_config_add_category (self, _tmp1_);
#line 548 "box-config.c"
	} else {
		const gchar* _tmp2_;
#line 97 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp2_ = category;
#line 97 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		boxes_box_config_remove_category (self, _tmp2_);
#line 555 "box-config.c"
	}
#line 99 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	boxes_iconfig_save ((BoxesIConfig*) self);
#line 559 "box-config.c"
}


static void boxes_box_config_save_property (BoxesBoxConfig* self, GObject* object, const gchar* property_name) {
	GValue value = {0};
	GObject* _tmp0_;
	GObjectClass* _tmp1_ = NULL;
	const gchar* _tmp2_;
	GParamSpec* _tmp3_ = NULL;
	GType _tmp4_;
	GValue _tmp5_ = {0};
	GObject* _tmp6_;
	const gchar* _tmp7_;
	GType _tmp8_ = 0UL;
#line 102 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 102 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (object != NULL);
#line 102 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (property_name != NULL);
#line 103 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = object;
#line 103 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = G_OBJECT_GET_CLASS (_tmp0_);
#line 103 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = property_name;
#line 103 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3_ = g_object_class_find_property (_tmp1_, _tmp2_);
#line 103 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp4_ = _tmp3_->value_type;
#line 103 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_value_init (&_tmp5_, _tmp4_);
#line 103 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	value = _tmp5_;
#line 105 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp6_ = object;
#line 105 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp7_ = property_name;
#line 105 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_get_property (_tmp6_, _tmp7_, &value);
#line 107 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp8_ = G_VALUE_TYPE (&value);
#line 107 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_tmp8_ == G_TYPE_STRING) {
#line 604 "box-config.c"
		GKeyFile* _tmp9_;
		GKeyFile* _tmp10_;
		const gchar* _tmp11_;
		const gchar* _tmp12_;
		const gchar* _tmp13_ = NULL;
#line 108 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp9_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 108 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp10_ = _tmp9_;
#line 108 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp11_ = self->priv->_group;
#line 108 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp12_ = property_name;
#line 108 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp13_ = g_value_get_string (&value);
#line 108 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_key_file_set_string (_tmp10_, _tmp11_, _tmp12_, _tmp13_);
#line 622 "box-config.c"
	} else {
		GType _tmp14_ = 0UL;
#line 109 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp14_ = G_VALUE_TYPE (&value);
#line 109 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		if (_tmp14_ == G_TYPE_UINT64) {
#line 629 "box-config.c"
			GKeyFile* _tmp15_;
			GKeyFile* _tmp16_;
			const gchar* _tmp17_;
			const gchar* _tmp18_;
			guint64 _tmp19_ = 0ULL;
#line 110 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp15_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 110 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp16_ = _tmp15_;
#line 110 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp17_ = self->priv->_group;
#line 110 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp18_ = property_name;
#line 110 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp19_ = g_value_get_uint64 (&value);
#line 110 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			g_key_file_set_uint64 (_tmp16_, _tmp17_, _tmp18_, _tmp19_);
#line 647 "box-config.c"
		} else {
			GType _tmp20_ = 0UL;
#line 111 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp20_ = G_VALUE_TYPE (&value);
#line 111 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			if (_tmp20_ == G_TYPE_INT64) {
#line 654 "box-config.c"
				GKeyFile* _tmp21_;
				GKeyFile* _tmp22_;
				const gchar* _tmp23_;
				const gchar* _tmp24_;
				gint64 _tmp25_ = 0LL;
#line 112 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp21_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 112 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp22_ = _tmp21_;
#line 112 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp23_ = self->priv->_group;
#line 112 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp24_ = property_name;
#line 112 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp25_ = g_value_get_int64 (&value);
#line 112 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				g_key_file_set_int64 (_tmp22_, _tmp23_, _tmp24_, _tmp25_);
#line 672 "box-config.c"
			} else {
				GType _tmp26_ = 0UL;
#line 113 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp26_ = G_VALUE_TYPE (&value);
#line 113 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				if (_tmp26_ == G_TYPE_BOOLEAN) {
#line 679 "box-config.c"
					GKeyFile* _tmp27_;
					GKeyFile* _tmp28_;
					const gchar* _tmp29_;
					const gchar* _tmp30_;
					gboolean _tmp31_ = FALSE;
#line 114 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp27_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 114 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp28_ = _tmp27_;
#line 114 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp29_ = self->priv->_group;
#line 114 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp30_ = property_name;
#line 114 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp31_ = g_value_get_boolean (&value);
#line 114 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					g_key_file_set_boolean (_tmp28_, _tmp29_, _tmp30_, _tmp31_);
#line 697 "box-config.c"
				} else {
					const gchar* _tmp32_;
					gchar* _tmp33_ = NULL;
					gchar* _tmp34_;
					gchar* _tmp35_ = NULL;
					gchar* _tmp36_;
#line 116 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp32_ = property_name;
#line 116 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp33_ = g_strdup_value_contents (&value);
#line 116 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp34_ = _tmp33_;
#line 116 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp35_ = g_strdup_printf ("unhandled property %s type, value: %s", _tmp32_, _tmp34_);
#line 116 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp36_ = _tmp35_;
#line 116 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					g_warning ("box-config.vala:116: %s", _tmp36_);
#line 116 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_g_free0 (_tmp36_);
#line 116 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_g_free0 (_tmp34_);
#line 720 "box-config.c"
				}
			}
		}
	}
#line 119 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	boxes_iconfig_save ((BoxesIConfig*) self);
#line 102 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 729 "box-config.c"
}


static gpointer _g_param_spec_ref0 (gpointer self) {
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return self ? g_param_spec_ref (self) : NULL;
#line 736 "box-config.c"
}


static void boxes_box_config_load_property (BoxesBoxConfig* self, GObject* object, const gchar* property_name, GValue* default_value) {
	GParamSpec* property = NULL;
	GObject* _tmp0_;
	GObjectClass* _tmp1_ = NULL;
	const gchar* _tmp2_;
	GParamSpec* _tmp3_ = NULL;
	GParamSpec* _tmp4_;
	GParamSpec* _tmp5_;
	GValue value = {0};
	GParamSpec* _tmp7_;
	GType _tmp8_;
	GValue _tmp9_ = {0};
	GObject* _tmp44_;
	const gchar* _tmp45_;
	GValue _tmp46_;
	GError * _inner_error_ = NULL;
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (object != NULL);
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (property_name != NULL);
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (default_value != NULL);
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = object;
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = G_OBJECT_GET_CLASS (_tmp0_);
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = property_name;
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3_ = g_object_class_find_property (_tmp1_, _tmp2_);
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp4_ = _g_param_spec_ref0 (_tmp3_);
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	property = _tmp4_;
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp5_ = property;
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_tmp5_ == NULL) {
#line 780 "box-config.c"
		const gchar* _tmp6_;
#line 125 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp6_ = property_name;
#line 125 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_debug ("box-config.vala:125: You forgot the property '%s' needs to have public" \
" getter!", _tmp6_);
#line 786 "box-config.c"
	}
#line 128 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp7_ = property;
#line 128 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp8_ = _tmp7_->value_type;
#line 128 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_value_init (&_tmp9_, _tmp8_);
#line 128 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	value = _tmp9_;
#line 796 "box-config.c"
	{
		GType _tmp10_ = 0UL;
		GType _tmp18_ = 0UL;
		GType _tmp26_ = 0UL;
		GType _tmp34_ = 0UL;
#line 131 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp10_ = G_VALUE_TYPE (&value);
#line 131 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		if (_tmp10_ == G_TYPE_STRING) {
#line 806 "box-config.c"
			gchar* _tmp11_ = NULL;
			GKeyFile* _tmp12_;
			GKeyFile* _tmp13_;
			const gchar* _tmp14_;
			const gchar* _tmp15_;
			gchar* _tmp16_ = NULL;
			GValue _tmp17_ = {0};
#line 132 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp12_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 132 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp13_ = _tmp12_;
#line 132 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp14_ = self->priv->_group;
#line 132 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp15_ = property_name;
#line 132 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp16_ = g_key_file_get_string (_tmp13_, _tmp14_, _tmp15_, &_inner_error_);
#line 132 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp11_ = _tmp16_;
#line 132 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			if (_inner_error_ != NULL) {
#line 828 "box-config.c"
				goto __catch1_g_error;
			}
#line 132 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			g_value_init (&_tmp17_, G_TYPE_STRING);
#line 132 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			g_value_take_string (&_tmp17_, _tmp11_);
#line 132 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 132 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			value = _tmp17_;
#line 839 "box-config.c"
		}
#line 133 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp18_ = G_VALUE_TYPE (&value);
#line 133 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		if (_tmp18_ == G_TYPE_UINT64) {
#line 845 "box-config.c"
			guint64 _tmp19_ = 0ULL;
			GKeyFile* _tmp20_;
			GKeyFile* _tmp21_;
			const gchar* _tmp22_;
			const gchar* _tmp23_;
			guint64 _tmp24_ = 0ULL;
			GValue _tmp25_ = {0};
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp20_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp21_ = _tmp20_;
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp22_ = self->priv->_group;
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp23_ = property_name;
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp24_ = g_key_file_get_uint64 (_tmp21_, _tmp22_, _tmp23_, &_inner_error_);
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp19_ = _tmp24_;
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			if (_inner_error_ != NULL) {
#line 867 "box-config.c"
				goto __catch1_g_error;
			}
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			g_value_init (&_tmp25_, G_TYPE_UINT64);
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			g_value_set_uint64 (&_tmp25_, _tmp19_);
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			value = _tmp25_;
#line 878 "box-config.c"
		}
#line 135 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp26_ = G_VALUE_TYPE (&value);
#line 135 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		if (_tmp26_ == G_TYPE_INT64) {
#line 884 "box-config.c"
			gint64 _tmp27_ = 0LL;
			GKeyFile* _tmp28_;
			GKeyFile* _tmp29_;
			const gchar* _tmp30_;
			const gchar* _tmp31_;
			gint64 _tmp32_ = 0LL;
			GValue _tmp33_ = {0};
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp28_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp29_ = _tmp28_;
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp30_ = self->priv->_group;
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp31_ = property_name;
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp32_ = g_key_file_get_int64 (_tmp29_, _tmp30_, _tmp31_, &_inner_error_);
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp27_ = _tmp32_;
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			if (_inner_error_ != NULL) {
#line 906 "box-config.c"
				goto __catch1_g_error;
			}
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			g_value_init (&_tmp33_, G_TYPE_INT64);
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			g_value_set_int64 (&_tmp33_, _tmp27_);
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			value = _tmp33_;
#line 917 "box-config.c"
		}
#line 137 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp34_ = G_VALUE_TYPE (&value);
#line 137 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		if (_tmp34_ == G_TYPE_BOOLEAN) {
#line 923 "box-config.c"
			gboolean _tmp35_ = FALSE;
			GKeyFile* _tmp36_;
			GKeyFile* _tmp37_;
			const gchar* _tmp38_;
			const gchar* _tmp39_;
			gboolean _tmp40_ = FALSE;
			GValue _tmp41_ = {0};
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp36_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp37_ = _tmp36_;
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp38_ = self->priv->_group;
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp39_ = property_name;
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp40_ = g_key_file_get_boolean (_tmp37_, _tmp38_, _tmp39_, &_inner_error_);
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp35_ = _tmp40_;
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			if (_inner_error_ != NULL) {
#line 945 "box-config.c"
				goto __catch1_g_error;
			}
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			g_value_init (&_tmp41_, G_TYPE_BOOLEAN);
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			g_value_set_boolean (&_tmp41_, _tmp35_);
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			value = _tmp41_;
#line 956 "box-config.c"
		}
	}
	goto __finally1;
	__catch1_g_error:
	{
		GError* err = NULL;
		GValue _tmp42_;
		GValue _tmp43_ = {0};
#line 130 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		err = _inner_error_;
#line 130 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_inner_error_ = NULL;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp42_ = *default_value;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		if (G_IS_VALUE (&_tmp42_)) {
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			g_value_init (&_tmp43_, G_VALUE_TYPE (&_tmp42_));
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			g_value_copy (&_tmp42_, &_tmp43_);
#line 977 "box-config.c"
		} else {
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp43_ = _tmp42_;
#line 981 "box-config.c"
		}
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		value = _tmp43_;
#line 130 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_g_error_free0 (err);
#line 989 "box-config.c"
	}
	__finally1:
#line 130 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_inner_error_ != NULL) {
#line 130 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 130 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_g_param_spec_unref0 (property);
#line 130 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 130 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_clear_error (&_inner_error_);
#line 130 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		return;
#line 1004 "box-config.c"
	}
#line 143 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp44_ = object;
#line 143 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp45_ = property_name;
#line 143 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp46_ = value;
#line 143 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_set_property (_tmp44_, _tmp45_, &_tmp46_);
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_param_spec_unref0 (property);
#line 1018 "box-config.c"
}


static Block1Data* block1_data_ref (Block1Data* _data1_) {
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_atomic_int_inc (&_data1_->_ref_count_);
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return _data1_;
#line 1027 "box-config.c"
}


static void block1_data_unref (void * _userdata_) {
	Block1Data* _data1_;
	_data1_ = (Block1Data*) _userdata_;
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) {
#line 1036 "box-config.c"
		BoxesBoxConfig * self;
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		self = _data1_->self;
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_g_object_unref0 (_data1_->object);
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_g_object_unref0 (self);
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_slice_free (Block1Data, _data1_);
#line 1046 "box-config.c"
	}
}


static void __lambda2_ (Block1Data* _data1_, GParamSpec* pspec) {
	BoxesBoxConfig * self;
	BoxesBoxConfigSyncProperty* _tmp0_;
	gint _tmp0__length1;
#line 150 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self = _data1_->self;
#line 150 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (pspec != NULL);
#line 151 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = _data1_->properties;
#line 151 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0__length1 = _data1_->properties_length1;
#line 1063 "box-config.c"
	{
		BoxesBoxConfigSyncProperty* prop_collection = NULL;
		gint prop_collection_length1 = 0;
		gint _prop_collection_size_ = 0;
		gint prop_it = 0;
#line 151 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		prop_collection = _tmp0_;
#line 151 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		prop_collection_length1 = _tmp0__length1;
#line 151 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		for (prop_it = 0; prop_it < _tmp0__length1; prop_it = prop_it + 1) {
#line 1075 "box-config.c"
			BoxesBoxConfigSyncProperty _tmp1_ = {0};
			BoxesBoxConfigSyncProperty prop = {0};
#line 151 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			boxes_box_config_sync_property_copy (&prop_collection[prop_it], &_tmp1_);
#line 151 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			prop = _tmp1_;
#line 1082 "box-config.c"
			{
				GParamSpec* _tmp2_;
				const gchar* _tmp3_;
				BoxesBoxConfigSyncProperty _tmp4_;
				const gchar* _tmp5_;
#line 152 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp2_ = pspec;
#line 152 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp3_ = _tmp2_->name;
#line 152 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp4_ = prop;
#line 152 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp5_ = _tmp4_.name;
#line 152 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				if (g_strcmp0 (_tmp3_, _tmp5_) == 0) {
#line 1098 "box-config.c"
					GObject* _tmp6_;
					GParamSpec* _tmp7_;
					const gchar* _tmp8_;
#line 153 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp6_ = _data1_->object;
#line 153 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp7_ = pspec;
#line 153 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_tmp8_ = _tmp7_->name;
#line 153 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					boxes_box_config_save_property (self, _tmp6_, _tmp8_);
#line 154 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					boxes_box_config_sync_property_destroy (&prop);
#line 154 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					break;
#line 1114 "box-config.c"
				}
#line 151 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				boxes_box_config_sync_property_destroy (&prop);
#line 1118 "box-config.c"
			}
		}
	}
}


static void ___lambda2__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 150 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	__lambda2_ (self, pspec);
#line 1128 "box-config.c"
}


void boxes_box_config_sync_properties (BoxesBoxConfig* self, GObject* object, BoxesBoxConfigSyncProperty* properties, int properties_length1) {
	Block1Data* _data1_;
	GObject* _tmp0_;
	GObject* _tmp1_;
	BoxesBoxConfigSyncProperty* _tmp2_;
	gint _tmp2__length1;
	BoxesBoxConfigSyncProperty* _tmp3_;
	gint _tmp3__length1;
	GObject* _tmp10_;
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (object != NULL);
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_data1_ = g_slice_new0 (Block1Data);
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_data1_->_ref_count_ = 1;
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_data1_->self = g_object_ref (self);
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = object;
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_object_unref0 (_data1_->object);
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_data1_->object = _tmp1_;
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = properties;
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2__length1 = properties_length1;
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_data1_->properties = _tmp2_;
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_data1_->properties_length1 = _tmp2__length1;
#line 147 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3_ = _data1_->properties;
#line 147 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3__length1 = _data1_->properties_length1;
#line 1171 "box-config.c"
	{
		BoxesBoxConfigSyncProperty* prop_collection = NULL;
		gint prop_collection_length1 = 0;
		gint _prop_collection_size_ = 0;
		gint prop_it = 0;
#line 147 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		prop_collection = _tmp3_;
#line 147 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		prop_collection_length1 = _tmp3__length1;
#line 147 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		for (prop_it = 0; prop_it < _tmp3__length1; prop_it = prop_it + 1) {
#line 1183 "box-config.c"
			BoxesBoxConfigSyncProperty _tmp4_ = {0};
			BoxesBoxConfigSyncProperty prop = {0};
#line 147 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			boxes_box_config_sync_property_copy (&prop_collection[prop_it], &_tmp4_);
#line 147 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			prop = _tmp4_;
#line 1190 "box-config.c"
			{
				GObject* _tmp5_;
				BoxesBoxConfigSyncProperty _tmp6_;
				const gchar* _tmp7_;
				BoxesBoxConfigSyncProperty _tmp8_;
				GValue _tmp9_;
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp5_ = _data1_->object;
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp6_ = prop;
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp7_ = _tmp6_.name;
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp8_ = prop;
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp9_ = _tmp8_.default_value;
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				boxes_box_config_load_property (self, _tmp5_, _tmp7_, &_tmp9_);
#line 147 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				boxes_box_config_sync_property_destroy (&prop);
#line 1211 "box-config.c"
			}
		}
	}
#line 150 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp10_ = _data1_->object;
#line 150 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_signal_connect_data (_tmp10_, "notify", (GCallback) ___lambda2__g_object_notify, block1_data_ref (_data1_), (GClosureNotify) block1_data_unref, 0);
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	block1_data_unref (_data1_);
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_data1_ = NULL;
#line 1223 "box-config.c"
}


static void boxes_box_config_update_filter_data (BoxesBoxConfig* self) {
	GString* builder = NULL;
	GString* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gboolean _tmp4_;
	GString* _tmp12_;
	const gchar* _tmp13_;
	gchar* _tmp14_;
#line 161 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 162 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = g_string_new ("");
#line 162 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	builder = _tmp0_;
#line 164 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = boxes_box_config_get_last_seen_name (self);
#line 164 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_;
#line 164 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3_ = _tmp2_;
#line 164 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp4_ = _tmp3_ != NULL;
#line 164 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_free0 (_tmp3_);
#line 164 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_tmp4_) {
#line 1255 "box-config.c"
		GString* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
		gchar* _tmp8_;
		gchar* _tmp9_ = NULL;
		gchar* _tmp10_;
		GString* _tmp11_;
#line 165 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp5_ = builder;
#line 165 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp6_ = boxes_box_config_get_last_seen_name (self);
#line 165 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp7_ = _tmp6_;
#line 165 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp8_ = _tmp7_;
#line 165 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp9_ = boxes_canonicalize_for_search (_tmp8_);
#line 165 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp10_ = _tmp9_;
#line 165 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_string_append (_tmp5_, _tmp10_);
#line 165 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_g_free0 (_tmp10_);
#line 165 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_g_free0 (_tmp8_);
#line 166 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp11_ = builder;
#line 166 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_string_append_unichar (_tmp11_, (gunichar) ' ');
#line 1285 "box-config.c"
	}
#line 171 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp12_ = builder;
#line 171 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp13_ = _tmp12_->str;
#line 171 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp14_ = g_strdup (_tmp13_);
#line 171 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_free0 (self->priv->filter_data);
#line 171 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self->priv->filter_data = _tmp14_;
#line 161 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_string_free0 (builder);
#line 1299 "box-config.c"
}


static gboolean string_contains (const gchar* self, const gchar* needle) {
	gboolean result = FALSE;
	const gchar* _tmp0_;
	gchar* _tmp1_ = NULL;
#line 1238 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, FALSE);
#line 1238 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	g_return_val_if_fail (needle != NULL, FALSE);
#line 1239 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	_tmp0_ = needle;
#line 1239 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	_tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_);
#line 1239 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	result = _tmp1_ != NULL;
#line 1239 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	return result;
#line 1319 "box-config.c"
}


gboolean boxes_box_config_contains_strings (BoxesBoxConfig* self, gchar** strings, int strings_length1) {
	gboolean result = FALSE;
	const gchar* _tmp0_;
	gchar** _tmp1_;
	gint _tmp1__length1;
#line 174 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 175 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->filter_data;
#line 175 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_tmp0_ == NULL) {
#line 176 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		boxes_box_config_update_filter_data (self);
#line 1336 "box-config.c"
	}
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = strings;
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1__length1 = strings_length1;
#line 1342 "box-config.c"
	{
		gchar** i_collection = NULL;
		gint i_collection_length1 = 0;
		gint _i_collection_size_ = 0;
		gint i_it = 0;
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		i_collection = _tmp1_;
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		i_collection_length1 = _tmp1__length1;
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		for (i_it = 0; i_it < _tmp1__length1; i_it = i_it + 1) {
#line 1354 "box-config.c"
			gchar* _tmp2_;
			gchar* i = NULL;
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp2_ = g_strdup (i_collection[i_it]);
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			i = _tmp2_;
#line 1361 "box-config.c"
			{
				const gchar* _tmp3_;
				const gchar* _tmp4_;
				gboolean _tmp5_ = FALSE;
#line 179 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp3_ = self->priv->filter_data;
#line 179 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp4_ = i;
#line 179 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_tmp5_ = string_contains (_tmp3_, _tmp4_);
#line 179 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				if (!_tmp5_) {
#line 180 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					result = FALSE;
#line 180 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					_g_free0 (i);
#line 180 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
					return result;
#line 1380 "box-config.c"
				}
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				_g_free0 (i);
#line 1384 "box-config.c"
			}
		}
	}
#line 182 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	result = TRUE;
#line 182 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return result;
#line 1392 "box-config.c"
}


gint boxes_box_config_compare (BoxesBoxConfig* self, BoxesBoxConfig* other) {
	gint result = 0;
	gchar** _tmp0_;
	gint _tmp0__length1;
	gchar** _tmp1_;
	gint _tmp1__length1;
	gchar** _tmp2_;
	gint _tmp2__length1;
	gboolean _tmp3_;
	gboolean _tmp14_ = FALSE;
	gint64 _tmp15_;
	gboolean _tmp18_;
	gchar* name = NULL;
	gchar* _tmp25_;
	gchar* _tmp26_;
	gchar* other_name = NULL;
	BoxesBoxConfig* _tmp27_;
	gchar* _tmp28_;
	gchar* _tmp29_;
	gboolean _tmp30_ = FALSE;
	const gchar* _tmp31_;
	gboolean _tmp32_ = FALSE;
	gboolean _tmp35_;
	const gchar* _tmp39_;
	gboolean _tmp40_ = FALSE;
	const gchar* _tmp41_;
	gboolean _tmp42_ = FALSE;
#line 185 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 185 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (other != NULL, 0);
#line 188 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = boxes_box_config_get_categories (self, &_tmp0__length1);
#line 188 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = _tmp0_;
#line 188 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1__length1 = _tmp0__length1;
#line 188 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_;
#line 188 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2__length1 = _tmp1__length1;
#line 188 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3_ = _vala_string_array_contains (_tmp2_, _tmp1__length1, "favorite");
#line 188 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = (_vala_array_free (_tmp2_, _tmp2__length1, (GDestroyNotify) g_free), NULL);
#line 188 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_tmp3_) {
#line 1443 "box-config.c"
		BoxesBoxConfig* _tmp4_;
		gchar** _tmp5_;
		gint _tmp5__length1;
		gchar** _tmp6_;
		gint _tmp6__length1;
		gchar** _tmp7_;
		gint _tmp7__length1;
		gboolean _tmp8_;
#line 189 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp4_ = other;
#line 189 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp5_ = boxes_box_config_get_categories (_tmp4_, &_tmp5__length1);
#line 189 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp6_ = _tmp5_;
#line 189 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp6__length1 = _tmp5__length1;
#line 189 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp7_ = _tmp6_;
#line 189 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp7__length1 = _tmp6__length1;
#line 189 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp8_ = !_vala_string_array_contains (_tmp7_, _tmp6__length1, "favorite");
#line 189 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) g_free), NULL);
#line 189 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		if (_tmp8_) {
#line 190 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			result = -1;
#line 190 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			return result;
#line 1474 "box-config.c"
		}
	} else {
		BoxesBoxConfig* _tmp9_;
		gchar** _tmp10_;
		gint _tmp10__length1;
		gchar** _tmp11_;
		gint _tmp11__length1;
		gchar** _tmp12_;
		gint _tmp12__length1;
		gboolean _tmp13_;
#line 191 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp9_ = other;
#line 191 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp10_ = boxes_box_config_get_categories (_tmp9_, &_tmp10__length1);
#line 191 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp11_ = _tmp10_;
#line 191 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp11__length1 = _tmp10__length1;
#line 191 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp12_ = _tmp11_;
#line 191 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp12__length1 = _tmp11__length1;
#line 191 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp13_ = _vala_string_array_contains (_tmp12_, _tmp11__length1, "favorite");
#line 191 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp12_ = (_vala_array_free (_tmp12_, _tmp12__length1, (GDestroyNotify) g_free), NULL);
#line 191 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		if (_tmp13_) {
#line 192 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			result = 1;
#line 192 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			return result;
#line 1507 "box-config.c"
		}
	}
#line 195 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp15_ = self->priv->_access_last_time;
#line 195 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_tmp15_ > ((gint64) 0)) {
#line 195 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp14_ = TRUE;
#line 1516 "box-config.c"
	} else {
		BoxesBoxConfig* _tmp16_;
		gint64 _tmp17_;
#line 195 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp16_ = other;
#line 195 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp17_ = _tmp16_->priv->_access_last_time;
#line 195 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp14_ = _tmp17_ > ((gint64) 0);
#line 1526 "box-config.c"
	}
#line 195 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp18_ = _tmp14_;
#line 195 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_tmp18_) {
#line 1532 "box-config.c"
		gint64 _tmp19_;
		BoxesBoxConfig* _tmp20_;
		gint64 _tmp21_;
#line 196 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp19_ = self->priv->_access_last_time;
#line 196 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp20_ = other;
#line 196 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp21_ = _tmp20_->priv->_access_last_time;
#line 196 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		if (_tmp19_ > _tmp21_) {
#line 197 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			result = -1;
#line 197 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			return result;
#line 1548 "box-config.c"
		} else {
			gint64 _tmp22_;
			BoxesBoxConfig* _tmp23_;
			gint64 _tmp24_;
#line 198 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp22_ = self->priv->_access_last_time;
#line 198 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp23_ = other;
#line 198 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			_tmp24_ = _tmp23_->priv->_access_last_time;
#line 198 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			if (_tmp22_ < _tmp24_) {
#line 199 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				result = 1;
#line 199 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
				return result;
#line 1565 "box-config.c"
			}
		}
	}
#line 202 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp25_ = boxes_box_config_get_last_seen_name (self);
#line 202 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp26_ = _tmp25_;
#line 202 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	name = _tmp26_;
#line 203 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp27_ = other;
#line 203 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp28_ = boxes_box_config_get_last_seen_name (_tmp27_);
#line 203 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp29_ = _tmp28_;
#line 203 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	other_name = _tmp29_;
#line 206 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp31_ = name;
#line 206 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp32_ = boxes_is_set (_tmp31_);
#line 206 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_tmp32_) {
#line 1589 "box-config.c"
		const gchar* _tmp33_;
		gboolean _tmp34_ = FALSE;
#line 206 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp33_ = other_name;
#line 206 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp34_ = boxes_is_set (_tmp33_);
#line 206 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp30_ = _tmp34_;
#line 1598 "box-config.c"
	} else {
#line 206 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp30_ = FALSE;
#line 1602 "box-config.c"
	}
#line 206 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp35_ = _tmp30_;
#line 206 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_tmp35_) {
#line 1608 "box-config.c"
		const gchar* _tmp36_;
		const gchar* _tmp37_;
		gint _tmp38_ = 0;
#line 207 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp36_ = name;
#line 207 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp37_ = other_name;
#line 207 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp38_ = g_utf8_collate (_tmp36_, _tmp37_);
#line 207 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		result = _tmp38_;
#line 207 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_g_free0 (other_name);
#line 207 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_g_free0 (name);
#line 207 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		return result;
#line 1626 "box-config.c"
	}
#line 210 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp39_ = name;
#line 210 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp40_ = boxes_is_set (_tmp39_);
#line 210 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_tmp40_) {
#line 211 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		result = -1;
#line 211 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_g_free0 (other_name);
#line 211 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_g_free0 (name);
#line 211 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		return result;
#line 1642 "box-config.c"
	}
#line 212 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp41_ = other_name;
#line 212 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp42_ = boxes_is_set (_tmp41_);
#line 212 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (_tmp42_) {
#line 213 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		result = 1;
#line 213 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_g_free0 (other_name);
#line 213 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_g_free0 (name);
#line 213 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		return result;
#line 1658 "box-config.c"
	}
#line 215 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	result = 0;
#line 215 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_free0 (other_name);
#line 215 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_free0 (name);
#line 215 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return result;
#line 1668 "box-config.c"
}


BoxesBoxConfig* boxes_box_config_construct (GType object_type) {
	BoxesBoxConfig * self = NULL;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self = (BoxesBoxConfig*) g_object_new (object_type, NULL);
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return self;
#line 1678 "box-config.c"
}


BoxesBoxConfig* boxes_box_config_new (void) {
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return boxes_box_config_construct (BOXES_TYPE_BOX_CONFIG);
#line 1685 "box-config.c"
}


static gboolean boxes_box_config_real_get_has_file (BoxesIConfig* base) {
	gboolean result;
	BoxesBoxConfig* self;
	BoxesCollectionSource* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
#line 12 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self = (BoxesBoxConfig*) base;
#line 12 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->source;
#line 12 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = boxes_iconfig_get_has_file ((BoxesIConfig*) _tmp0_);
#line 12 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_;
#line 12 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	result = _tmp2_;
#line 12 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return result;
#line 1707 "box-config.c"
}


static void boxes_box_config_real_set_has_file (BoxesIConfig* base, gboolean value) {
	BoxesBoxConfig* self;
	BoxesCollectionSource* _tmp0_;
	gboolean _tmp1_;
#line 13 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self = (BoxesBoxConfig*) base;
#line 13 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->source;
#line 13 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = value;
#line 13 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	boxes_iconfig_set_has_file ((BoxesIConfig*) _tmp0_, _tmp1_);
#line 1723 "box-config.c"
}


static const gchar* boxes_box_config_real_get_filename (BoxesIConfig* base) {
	const gchar* result;
	BoxesBoxConfig* self;
	BoxesCollectionSource* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
#line 16 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self = (BoxesBoxConfig*) base;
#line 16 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->source;
#line 16 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = boxes_iconfig_get_filename ((BoxesIConfig*) _tmp0_);
#line 16 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_;
#line 16 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	result = _tmp2_;
#line 16 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return result;
#line 1745 "box-config.c"
}


static void boxes_box_config_real_set_filename (BoxesIConfig* base, const gchar* value) {
	BoxesBoxConfig* self;
#line 17 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self = (BoxesBoxConfig*) base;
#line 17 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_warning ("box-config.vala:17: not allowed to change filename");
#line 1755 "box-config.c"
}


static GKeyFile* boxes_box_config_real_get_keyfile (BoxesIConfig* base) {
	GKeyFile* result;
	BoxesBoxConfig* self;
	BoxesCollectionSource* _tmp0_;
	GKeyFile* _tmp1_;
	GKeyFile* _tmp2_;
#line 20 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self = (BoxesBoxConfig*) base;
#line 20 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->source;
#line 20 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) _tmp0_);
#line 20 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_;
#line 20 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	result = _tmp2_;
#line 20 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return result;
#line 1777 "box-config.c"
}


const gchar* boxes_box_config_get_group (BoxesBoxConfig* self) {
	const gchar* result;
	const gchar* _tmp0_;
#line 23 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 23 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->_group;
#line 23 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	result = _tmp0_;
#line 23 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return result;
#line 1792 "box-config.c"
}


static void boxes_box_config_set_group (BoxesBoxConfig* self, const gchar* value) {
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 23 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 23 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = value;
#line 23 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 23 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_free0 (self->priv->_group);
#line 23 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self->priv->_group = _tmp1_;
#line 23 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_notify ((GObject *) self, "group");
#line 1811 "box-config.c"
}


gchar* boxes_box_config_get_last_seen_name (BoxesBoxConfig* self) {
	gchar* result;
	const gchar* _tmp0_;
	gchar* _tmp1_ = NULL;
#line 26 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 26 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->_group;
#line 26 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = boxes_iconfig_get_string ((BoxesIConfig*) self, _tmp0_, "last-seen-name");
#line 26 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	result = _tmp1_;
#line 26 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return result;
#line 1829 "box-config.c"
}


void boxes_box_config_set_last_seen_name (BoxesBoxConfig* self, const gchar* value) {
	GKeyFile* _tmp0_;
	GKeyFile* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
#line 27 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 27 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 27 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = _tmp0_;
#line 27 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = self->priv->_group;
#line 27 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3_ = value;
#line 27 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_key_file_set_string (_tmp1_, _tmp2_, "last-seen-name", _tmp3_);
#line 27 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_notify ((GObject *) self, "last-seen-name");
#line 1852 "box-config.c"
}


gchar* boxes_box_config_get_uuid (BoxesBoxConfig* self) {
	gchar* result;
	const gchar* _tmp0_;
	gchar* _tmp1_ = NULL;
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->_group;
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = boxes_iconfig_get_string ((BoxesIConfig*) self, _tmp0_, "uuid");
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	result = _tmp1_;
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return result;
#line 1870 "box-config.c"
}


void boxes_box_config_set_uuid (BoxesBoxConfig* self, const gchar* value) {
	GKeyFile* _tmp0_;
	GKeyFile* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = _tmp0_;
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = self->priv->_group;
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3_ = value;
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_key_file_set_string (_tmp1_, _tmp2_, "uuid", _tmp3_);
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_notify ((GObject *) self, "uuid");
#line 1893 "box-config.c"
}


gchar** boxes_box_config_get_categories (BoxesBoxConfig* self, int* result_length1) {
	gchar** result;
	const gchar* _tmp0_;
	gint _tmp1_ = 0;
	gchar** _tmp2_ = NULL;
	gchar** _tmp3_;
	gint _tmp3__length1;
#line 36 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 36 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->_group;
#line 36 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = boxes_iconfig_get_string_list ((BoxesIConfig*) self, _tmp0_, "categories", &_tmp1_);
#line 36 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3_ = _tmp2_;
#line 36 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3__length1 = _tmp1_;
#line 36 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (result_length1) {
#line 36 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		*result_length1 = _tmp3__length1;
#line 1918 "box-config.c"
	}
#line 36 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	result = _tmp3_;
#line 36 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return result;
#line 1924 "box-config.c"
}


void boxes_box_config_set_categories (BoxesBoxConfig* self, gchar** value, int value_length1) {
	GKeyFile* _tmp0_;
	GKeyFile* _tmp1_;
	const gchar* _tmp2_;
	gchar** _tmp3_;
	gint _tmp3__length1;
#line 37 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 37 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 37 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = _tmp0_;
#line 37 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = self->priv->_group;
#line 37 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3_ = value;
#line 37 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3__length1 = value_length1;
#line 37 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_key_file_set_string_list (_tmp1_, _tmp2_, "categories", (const gchar* const*) _tmp3_, _tmp3__length1);
#line 37 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_notify ((GObject *) self, "categories");
#line 1950 "box-config.c"
}


gint64 boxes_box_config_get_access_last_time (BoxesBoxConfig* self) {
	gint64 result;
	gint64 _tmp0_;
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (self != NULL, 0LL);
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->_access_last_time;
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	result = _tmp0_;
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return result;
#line 1965 "box-config.c"
}


void boxes_box_config_set_access_last_time (BoxesBoxConfig* self, gint64 value) {
	gint64 _tmp0_;
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = value;
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self->priv->_access_last_time = _tmp0_;
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_notify ((GObject *) self, "access-last-time");
#line 1979 "box-config.c"
}


gint64 boxes_box_config_get_access_first_time (BoxesBoxConfig* self) {
	gint64 result;
	gint64 _tmp0_;
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (self != NULL, 0LL);
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->_access_first_time;
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	result = _tmp0_;
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return result;
#line 1994 "box-config.c"
}


void boxes_box_config_set_access_first_time (BoxesBoxConfig* self, gint64 value) {
	gint64 _tmp0_;
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = value;
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self->priv->_access_first_time = _tmp0_;
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_notify ((GObject *) self, "access-first-time");
#line 2008 "box-config.c"
}


gint64 boxes_box_config_get_access_total_time (BoxesBoxConfig* self) {
	gint64 result;
	gint64 _tmp0_;
#line 42 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (self != NULL, 0LL);
#line 42 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->_access_total_time;
#line 42 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	result = _tmp0_;
#line 42 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return result;
#line 2023 "box-config.c"
}


void boxes_box_config_set_access_total_time (BoxesBoxConfig* self, gint64 value) {
	gint64 _tmp0_;
#line 42 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 42 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = value;
#line 42 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self->priv->_access_total_time = _tmp0_;
#line 42 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_notify ((GObject *) self, "access-total-time");
#line 2037 "box-config.c"
}


gint64 boxes_box_config_get_access_ntimes (BoxesBoxConfig* self) {
	gint64 result;
	gint64 _tmp0_;
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (self != NULL, 0LL);
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->_access_ntimes;
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	result = _tmp0_;
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return result;
#line 2052 "box-config.c"
}


void boxes_box_config_set_access_ntimes (BoxesBoxConfig* self, gint64 value) {
	gint64 _tmp0_;
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = value;
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self->priv->_access_ntimes = _tmp0_;
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_notify ((GObject *) self, "access-ntimes");
#line 2066 "box-config.c"
}


static GObject * boxes_box_config_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	BoxesBoxConfig * self;
	gchar* _tmp0_;
	GValue _tmp1_ = {0};
	BoxesBoxConfigSyncProperty _tmp2_ = {0};
	gchar* _tmp3_;
	GValue _tmp4_ = {0};
	BoxesBoxConfigSyncProperty _tmp5_ = {0};
	gchar* _tmp6_;
	GValue _tmp7_ = {0};
	BoxesBoxConfigSyncProperty _tmp8_ = {0};
	gchar* _tmp9_;
	GValue _tmp10_ = {0};
	BoxesBoxConfigSyncProperty _tmp11_ = {0};
	BoxesBoxConfigSyncProperty* _tmp12_ = NULL;
#line 46 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	parent_class = G_OBJECT_CLASS (boxes_box_config_parent_class);
#line 46 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
#line 46 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_BOX_CONFIG, BoxesBoxConfig);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = g_strdup ("access-last-time");
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_value_init (&_tmp1_, G_TYPE_INT64);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_value_set_int64 (&_tmp1_, (gint64) (-1));
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	memset (&_tmp2_, 0, sizeof (BoxesBoxConfigSyncProperty));
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_free0 (_tmp2_.name);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_.name = _tmp0_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&_tmp2_.default_value) ? (g_value_unset (&_tmp2_.default_value), NULL) : NULL;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_.default_value = _tmp1_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp3_ = g_strdup ("access-first-time");
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_value_init (&_tmp4_, G_TYPE_INT64);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_value_set_int64 (&_tmp4_, (gint64) (-1));
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	memset (&_tmp5_, 0, sizeof (BoxesBoxConfigSyncProperty));
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_free0 (_tmp5_.name);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp5_.name = _tmp3_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&_tmp5_.default_value) ? (g_value_unset (&_tmp5_.default_value), NULL) : NULL;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp5_.default_value = _tmp4_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp6_ = g_strdup ("access-total-time");
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_value_init (&_tmp7_, G_TYPE_INT64);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_value_set_int64 (&_tmp7_, (gint64) (-1));
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	memset (&_tmp8_, 0, sizeof (BoxesBoxConfigSyncProperty));
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_free0 (_tmp8_.name);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp8_.name = _tmp6_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&_tmp8_.default_value) ? (g_value_unset (&_tmp8_.default_value), NULL) : NULL;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp8_.default_value = _tmp7_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp9_ = g_strdup ("access-ntimes");
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_value_init (&_tmp10_, G_TYPE_UINT64);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_value_set_uint64 (&_tmp10_, (guint64) 0);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	memset (&_tmp11_, 0, sizeof (BoxesBoxConfigSyncProperty));
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_free0 (_tmp11_.name);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp11_.name = _tmp9_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&_tmp11_.default_value) ? (g_value_unset (&_tmp11_.default_value), NULL) : NULL;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp11_.default_value = _tmp10_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp12_ = g_new0 (BoxesBoxConfigSyncProperty, 4);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp12_[0] = _tmp2_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp12_[1] = _tmp5_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp12_[2] = _tmp8_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp12_[3] = _tmp11_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self->priv->access_properties = (_vala_BoxesBoxConfigSyncProperty_array_free (self->priv->access_properties, self->priv->access_properties_length1), NULL);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self->priv->access_properties = _tmp12_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self->priv->access_properties_length1 = 4;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self->priv->_access_properties_size_ = self->priv->access_properties_length1;
#line 46 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return obj;
#line 2177 "box-config.c"
}


void boxes_box_config_sync_property_copy (const BoxesBoxConfigSyncProperty* self, BoxesBoxConfigSyncProperty* dest) {
	const gchar* _tmp0_;
	gchar* _tmp1_;
	GValue _tmp2_;
	GValue _tmp3_ = {0};
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp0_ = (*self).name;
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_free0 ((*dest).name);
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	(*dest).name = _tmp1_;
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_tmp2_ = (*self).default_value;
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	if (G_IS_VALUE (&_tmp2_)) {
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_value_init (&_tmp3_, G_VALUE_TYPE (&_tmp2_));
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_value_copy (&_tmp2_, &_tmp3_);
#line 2202 "box-config.c"
	} else {
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		_tmp3_ = _tmp2_;
#line 2206 "box-config.c"
	}
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&(*dest).default_value) ? (g_value_unset (&(*dest).default_value), NULL) : NULL;
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	(*dest).default_value = _tmp3_;
#line 2212 "box-config.c"
}


void boxes_box_config_sync_property_destroy (BoxesBoxConfigSyncProperty* self) {
#line 5 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_free0 ((*self).name);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&(*self).default_value) ? (g_value_unset (&(*self).default_value), NULL) : NULL;
#line 2221 "box-config.c"
}


BoxesBoxConfigSyncProperty* boxes_box_config_sync_property_dup (const BoxesBoxConfigSyncProperty* self) {
	BoxesBoxConfigSyncProperty* dup;
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	dup = g_new0 (BoxesBoxConfigSyncProperty, 1);
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	boxes_box_config_sync_property_copy (self, dup);
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	return dup;
#line 2233 "box-config.c"
}


void boxes_box_config_sync_property_free (BoxesBoxConfigSyncProperty* self) {
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	boxes_box_config_sync_property_destroy (self);
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_free (self);
#line 2242 "box-config.c"
}


GType boxes_box_config_sync_property_get_type (void) {
	static volatile gsize boxes_box_config_sync_property_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_box_config_sync_property_type_id__volatile)) {
		GType boxes_box_config_sync_property_type_id;
		boxes_box_config_sync_property_type_id = g_boxed_type_register_static ("BoxesBoxConfigSyncProperty", (GBoxedCopyFunc) boxes_box_config_sync_property_dup, (GBoxedFreeFunc) boxes_box_config_sync_property_free);
		g_once_init_leave (&boxes_box_config_sync_property_type_id__volatile, boxes_box_config_sync_property_type_id);
	}
	return boxes_box_config_sync_property_type_id__volatile;
}


static void boxes_box_config_class_init (BoxesBoxConfigClass * klass) {
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	boxes_box_config_parent_class = g_type_class_peek_parent (klass);
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_type_class_add_private (klass, sizeof (BoxesBoxConfigPrivate));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_box_config_get_property;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_boxes_box_config_set_property;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	G_OBJECT_CLASS (klass)->constructor = boxes_box_config_constructor;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_box_config_finalize;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_GROUP, g_param_spec_string ("group", "group", "group", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_LAST_SEEN_NAME, g_param_spec_string ("last-seen-name", "last-seen-name", "last-seen-name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_UUID, g_param_spec_string ("uuid", "uuid", "uuid", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_CATEGORIES, g_param_spec_boxed ("categories", "categories", "categories", G_TYPE_STRV, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_ACCESS_LAST_TIME, g_param_spec_int64 ("access-last-time", "access-last-time", "access-last-time", G_MININT64, G_MAXINT64, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_ACCESS_FIRST_TIME, g_param_spec_int64 ("access-first-time", "access-first-time", "access-first-time", G_MININT64, G_MAXINT64, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_ACCESS_TOTAL_TIME, g_param_spec_int64 ("access-total-time", "access-total-time", "access-total-time", G_MININT64, G_MAXINT64, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_ACCESS_NTIMES, g_param_spec_int64 ("access-ntimes", "access-ntimes", "access-ntimes", G_MININT64, G_MAXINT64, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 2286 "box-config.c"
}


static void boxes_box_config_boxes_iconfig_interface_init (BoxesIConfigIface * iface) {
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	boxes_box_config_boxes_iconfig_parent_iface = g_type_interface_peek_parent (iface);
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	iface->get_has_file = boxes_box_config_real_get_has_file;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	iface->set_has_file = boxes_box_config_real_set_has_file;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	iface->get_filename = boxes_box_config_real_get_filename;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	iface->set_filename = boxes_box_config_real_set_filename;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	iface->get_keyfile = boxes_box_config_real_get_keyfile;
#line 2303 "box-config.c"
}


static void boxes_box_config_instance_init (BoxesBoxConfig * self) {
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self->priv = BOXES_BOX_CONFIG_GET_PRIVATE (self);
#line 2310 "box-config.c"
}


static void boxes_box_config_finalize (GObject* obj) {
	BoxesBoxConfig * self;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_BOX_CONFIG, BoxesBoxConfig);
#line 9 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_object_unref0 (self->priv->source);
#line 23 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_free0 (self->priv->_group);
#line 44 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	self->priv->access_properties = (_vala_BoxesBoxConfigSyncProperty_array_free (self->priv->access_properties, self->priv->access_properties_length1), NULL);
#line 159 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	_g_free0 (self->priv->filter_data);
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	G_OBJECT_CLASS (boxes_box_config_parent_class)->finalize (obj);
#line 2328 "box-config.c"
}


GType boxes_box_config_get_type (void) {
	static volatile gsize boxes_box_config_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_box_config_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesBoxConfigClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_box_config_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesBoxConfig), 0, (GInstanceInitFunc) boxes_box_config_instance_init, NULL };
		static const GInterfaceInfo boxes_iconfig_info = { (GInterfaceInitFunc) boxes_box_config_boxes_iconfig_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType boxes_box_config_type_id;
		boxes_box_config_type_id = g_type_register_static (G_TYPE_OBJECT, "BoxesBoxConfig", &g_define_type_info, 0);
		g_type_add_interface_static (boxes_box_config_type_id, BOXES_TYPE_ICONFIG, &boxes_iconfig_info);
		g_once_init_leave (&boxes_box_config_type_id__volatile, boxes_box_config_type_id);
	}
	return boxes_box_config_type_id__volatile;
}


static void _vala_boxes_box_config_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	BoxesBoxConfig * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_BOX_CONFIG, BoxesBoxConfig);
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	switch (property_id) {
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_GROUP:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_value_set_string (value, boxes_box_config_get_group (self));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_LAST_SEEN_NAME:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_value_take_string (value, boxes_box_config_get_last_seen_name (self));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_UUID:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_value_take_string (value, boxes_box_config_get_uuid (self));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_CATEGORIES:
#line 2371 "box-config.c"
		{
			int length;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			g_value_take_boxed (value, boxes_box_config_get_categories (self, &length));
#line 2376 "box-config.c"
		}
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_LAST_TIME:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_value_set_int64 (value, boxes_box_config_get_access_last_time (self));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_FIRST_TIME:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_value_set_int64 (value, boxes_box_config_get_access_first_time (self));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_TOTAL_TIME:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_value_set_int64 (value, boxes_box_config_get_access_total_time (self));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_NTIMES:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		g_value_set_int64 (value, boxes_box_config_get_access_ntimes (self));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 2404 "box-config.c"
		default:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 2410 "box-config.c"
	}
}


static void _vala_boxes_box_config_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	BoxesBoxConfig * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_BOX_CONFIG, BoxesBoxConfig);
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
	switch (property_id) {
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_GROUP:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_group (self, g_value_get_string (value));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_LAST_SEEN_NAME:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_last_seen_name (self, g_value_get_string (value));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_UUID:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_uuid (self, g_value_get_string (value));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_CATEGORIES:
#line 2440 "box-config.c"
		{
			gpointer boxed;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			boxed = g_value_get_boxed (value);
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
			boxes_box_config_set_categories (self, boxed, g_strv_length (boxed));
#line 2447 "box-config.c"
		}
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_LAST_TIME:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_access_last_time (self, g_value_get_int64 (value));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_FIRST_TIME:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_access_first_time (self, g_value_get_int64 (value));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_TOTAL_TIME:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_access_total_time (self, g_value_get_int64 (value));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_NTIMES:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_access_ntimes (self, g_value_get_int64 (value));
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 2475 "box-config.c"
		default:
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 3 "/extra-data/checkout/gnome/gnome-boxes/src/box-config.vala"
		break;
#line 2481 "box-config.c"
	}
}


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


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



