/* box-config.c generated by valac 0.39.5, 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_SAVED_PROPERTY (boxes_box_config_saved_property_get_type ())
typedef struct _BoxesBoxConfigSavedProperty BoxesBoxConfigSavedProperty;
enum  {
	BOXES_BOX_CONFIG_0_PROPERTY,
	BOXES_BOX_CONFIG_GROUP_PROPERTY,
	BOXES_BOX_CONFIG_LAST_SEEN_NAME_PROPERTY,
	BOXES_BOX_CONFIG_UUID_PROPERTY,
	BOXES_BOX_CONFIG_CATEGORIES_PROPERTY,
	BOXES_BOX_CONFIG_ACCESS_LAST_TIME_PROPERTY,
	BOXES_BOX_CONFIG_ACCESS_FIRST_TIME_PROPERTY,
	BOXES_BOX_CONFIG_ACCESS_TOTAL_TIME_PROPERTY,
	BOXES_BOX_CONFIG_ACCESS_NTIMES_PROPERTY,
	BOXES_BOX_CONFIG_NUM_PROPERTIES
};
static GParamSpec* boxes_box_config_properties[BOXES_BOX_CONFIG_NUM_PROPERTIES];
#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 _Block2Data Block2Data;
#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 _BoxesBoxConfigSavedProperty {
	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;
	BoxesBoxConfigSavedProperty* access_properties;
	gint access_properties_length1;
	gint _access_properties_size_;
	gchar* filter_data;
};

struct _Block2Data {
	int _ref_count_;
	BoxesBoxConfig* self;
	GParamSpec* property;
};


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_saved_property_get_type (void) G_GNUC_CONST;
BoxesBoxConfigSavedProperty* boxes_box_config_saved_property_dup (const BoxesBoxConfigSavedProperty* self);
void boxes_box_config_saved_property_free (BoxesBoxConfigSavedProperty* self);
void boxes_box_config_saved_property_copy (const BoxesBoxConfigSavedProperty* self,
                                           BoxesBoxConfigSavedProperty* dest);
void boxes_box_config_saved_property_destroy (BoxesBoxConfigSavedProperty* self);
#define BOXES_BOX_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_BOX_CONFIG, BoxesBoxConfigPrivate))
static void _vala_BoxesBoxConfigSavedProperty_array_free (BoxesBoxConfigSavedProperty * 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_save_properties (BoxesBoxConfig* self,
                                       GObject* object,
                                       BoxesBoxConfigSavedProperty* 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 GParamSpec* boxes_box_config_load_property (BoxesBoxConfig* self,
                                            GObject* object,
                                            const gchar* property_name,
                                            GValue* default_value);
static Block2Data* block2_data_ref (Block2Data* _data2_);
static void block2_data_unref (void * _userdata_);
static void ____lambda5_ (Block2Data* _data2_,
                   GObject* object,
                   GParamSpec* pspec);
static void _____lambda5__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_BoxesBoxConfigSavedProperty_array_free (BoxesBoxConfigSavedProperty * array,
                                              gint array_length)
{
#line 44 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (array != NULL) {
#line 240 "box-config.c"
		int i;
#line 44 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		for (i = 0; i < array_length; i = i + 1) {
#line 44 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			boxes_box_config_saved_property_destroy (&array[i]);
#line 246 "box-config.c"
		}
	}
#line 44 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_free (array);
#line 251 "box-config.c"
}


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


BoxesBoxConfig*
boxes_box_config_construct_with_group (GType object_type,
                                       BoxesCollectionSource* source,
                                       const gchar* group)
{
	BoxesBoxConfig * self = NULL;
	BoxesCollectionSource* _tmp0_;
	BoxesBoxConfigSavedProperty* _tmp1_;
	gint _tmp1__length1;
#line 55 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (source != NULL, NULL);
#line 55 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (group != NULL, NULL);
#line 55 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self = (BoxesBoxConfig*) g_object_new (object_type, NULL);
#line 56 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = _g_object_ref0 (source);
#line 56 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_object_unref0 (self->priv->source);
#line 56 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self->priv->source = _tmp0_;
#line 58 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_warn_if_fail (g_str_has_prefix (group, "display"));
#line 59 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	boxes_box_config_set_group (self, group);
#line 61 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = self->priv->access_properties;
#line 61 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1__length1 = self->priv->access_properties_length1;
#line 61 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	boxes_box_config_save_properties (self, (GObject*) self, _tmp1_, _tmp1__length1);
#line 55 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	return self;
#line 297 "box-config.c"
}


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


void
boxes_box_config_delete (BoxesBoxConfig* self)
{
	GError * _inner_error_ = NULL;
#line 64 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 317 "box-config.c"
	{
		GKeyFile* _tmp0_;
		GKeyFile* _tmp1_;
		const gchar* _tmp2_;
#line 66 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp0_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 66 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp1_ = _tmp0_;
#line 66 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp2_ = self->priv->_group;
#line 66 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_key_file_remove_group (_tmp1_, _tmp2_, &_inner_error_);
#line 66 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 332 "box-config.c"
			goto __catch1_g_error;
		}
	}
	goto __finally1;
	__catch1_g_error:
	{
		GError* _error_ = NULL;
#line 65 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_error_ = _inner_error_;
#line 65 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_inner_error_ = NULL;
#line 65 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_error_free0 (_error_);
#line 346 "box-config.c"
	}
	__finally1:
#line 65 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 65 "/home/fborges/checkout/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 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_clear_error (&_inner_error_);
#line 65 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		return;
#line 357 "box-config.c"
	}
#line 70 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	boxes_iconfig_save ((BoxesIConfig*) self);
#line 361 "box-config.c"
}


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


static void
boxes_box_config_remove_category (BoxesBoxConfig* self,
                                  const gchar* category)
{
	gchar** categories = NULL;
	gchar** _tmp0_;
	gint categories_length1;
	gint _categories_size_;
	gchar** _tmp1_;
	gint _tmp1__length1;
	gchar** _tmp2_;
	gint _tmp2__length1;
	gchar** _tmp8_;
	gint _tmp8__length1;
#line 73 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 73 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (category != NULL);
#line 74 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = g_new0 (gchar*, 0 + 1);
#line 74 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	categories = _tmp0_;
#line 74 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	categories_length1 = 0;
#line 74 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_categories_size_ = categories_length1;
#line 76 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = boxes_box_config_get_categories (self, &_tmp1__length1);
#line 76 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_;
#line 76 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2__length1 = _tmp1__length1;
#line 419 "box-config.c"
	{
		gchar** it_collection = NULL;
		gint it_collection_length1 = 0;
		gint _it_collection_size_ = 0;
		gint it_it = 0;
#line 76 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		it_collection = _tmp2_;
#line 76 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		it_collection_length1 = _tmp2__length1;
#line 76 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		for (it_it = 0; it_it < _tmp2__length1; it_it = it_it + 1) {
#line 431 "box-config.c"
			gchar* _tmp3_;
			gchar* it = NULL;
#line 76 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp3_ = g_strdup (it_collection[it_it]);
#line 76 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			it = _tmp3_;
#line 438 "box-config.c"
			{
				const gchar* _tmp4_;
#line 77 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_tmp4_ = it;
#line 77 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				if (g_strcmp0 (_tmp4_, category) != 0) {
#line 445 "box-config.c"
					gchar** _tmp5_;
					gint _tmp5__length1;
					const gchar* _tmp6_;
					gchar* _tmp7_;
#line 78 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_tmp5_ = categories;
#line 78 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_tmp5__length1 = categories_length1;
#line 78 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_tmp6_ = it;
#line 78 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_tmp7_ = g_strdup (_tmp6_);
#line 78 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_vala_array_add1 (&categories, &categories_length1, &_categories_size_, _tmp7_);
#line 460 "box-config.c"
				}
#line 76 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_g_free0 (it);
#line 464 "box-config.c"
			}
		}
#line 76 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		it_collection = (_vala_array_free (it_collection, it_collection_length1, (GDestroyNotify) g_free), NULL);
#line 469 "box-config.c"
	}
#line 80 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp8_ = categories;
#line 80 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp8__length1 = categories_length1;
#line 80 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	boxes_box_config_set_categories (self, _tmp8_, _tmp8__length1);
#line 73 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	categories = (_vala_array_free (categories, categories_length1, (GDestroyNotify) g_free), NULL);
#line 479 "box-config.c"
}


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


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


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


void
boxes_box_config_set_category (BoxesBoxConfig* self,
                               const gchar* category,
                               gboolean enabled)
{
#line 93 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 93 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (category != NULL);
#line 94 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (enabled) {
#line 95 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		boxes_box_config_add_category (self, category);
#line 618 "box-config.c"
	} else {
#line 97 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		boxes_box_config_remove_category (self, category);
#line 622 "box-config.c"
	}
#line 99 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	boxes_iconfig_save ((BoxesIConfig*) self);
#line 626 "box-config.c"
}


static void
boxes_box_config_save_property (BoxesBoxConfig* self,
                                GObject* object,
                                const gchar* property_name)
{
	GValue value = {0};
	GObjectClass* _tmp0_;
	GParamSpec* _tmp1_;
	GType _tmp2_;
	GValue _tmp3_ = {0};
#line 102 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 102 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (object != NULL);
#line 102 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (property_name != NULL);
#line 103 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = G_OBJECT_GET_CLASS (object);
#line 103 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = g_object_class_find_property (_tmp0_, property_name);
#line 103 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_->value_type;
#line 103 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_value_init (&_tmp3_, _tmp2_);
#line 103 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	value = _tmp3_;
#line 105 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_object_get_property (object, property_name, &value);
#line 107 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (G_VALUE_TYPE (&value) == G_TYPE_STRING) {
#line 660 "box-config.c"
		GKeyFile* _tmp4_;
		GKeyFile* _tmp5_;
		const gchar* _tmp6_;
		const gchar* _tmp7_;
#line 108 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp4_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 108 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp5_ = _tmp4_;
#line 108 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp6_ = self->priv->_group;
#line 108 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp7_ = g_value_get_string (&value);
#line 108 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_key_file_set_string (_tmp5_, _tmp6_, property_name, _tmp7_);
#line 675 "box-config.c"
	} else {
#line 109 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		if (G_VALUE_TYPE (&value) == G_TYPE_UINT64) {
#line 679 "box-config.c"
			GKeyFile* _tmp8_;
			GKeyFile* _tmp9_;
			const gchar* _tmp10_;
#line 110 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp8_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 110 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp9_ = _tmp8_;
#line 110 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp10_ = self->priv->_group;
#line 110 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			g_key_file_set_uint64 (_tmp9_, _tmp10_, property_name, g_value_get_uint64 (&value));
#line 691 "box-config.c"
		} else {
#line 111 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			if (G_VALUE_TYPE (&value) == G_TYPE_INT64) {
#line 695 "box-config.c"
				GKeyFile* _tmp11_;
				GKeyFile* _tmp12_;
				const gchar* _tmp13_;
#line 112 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_tmp11_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 112 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_tmp12_ = _tmp11_;
#line 112 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_tmp13_ = self->priv->_group;
#line 112 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				g_key_file_set_int64 (_tmp12_, _tmp13_, property_name, g_value_get_int64 (&value));
#line 707 "box-config.c"
			} else {
#line 113 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				if (G_VALUE_TYPE (&value) == G_TYPE_BOOLEAN) {
#line 711 "box-config.c"
					GKeyFile* _tmp14_;
					GKeyFile* _tmp15_;
					const gchar* _tmp16_;
#line 114 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_tmp14_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 114 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_tmp15_ = _tmp14_;
#line 114 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_tmp16_ = self->priv->_group;
#line 114 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					g_key_file_set_boolean (_tmp15_, _tmp16_, property_name, g_value_get_boolean (&value));
#line 723 "box-config.c"
				} else {
					gchar* _tmp17_;
					gchar* _tmp18_;
					gchar* _tmp19_;
					gchar* _tmp20_;
#line 116 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_tmp17_ = g_strdup_value_contents (&value);
#line 116 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_tmp18_ = _tmp17_;
#line 116 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_tmp19_ = g_strdup_printf ("unhandled property %s type, value: %s", property_name, _tmp18_);
#line 116 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_tmp20_ = _tmp19_;
#line 116 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					g_warning ("box-config.vala:116: %s", _tmp20_);
#line 116 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_g_free0 (_tmp20_);
#line 116 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_g_free0 (_tmp18_);
#line 743 "box-config.c"
				}
			}
		}
	}
#line 119 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	boxes_iconfig_save ((BoxesIConfig*) self);
#line 102 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 752 "box-config.c"
}


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


static GParamSpec*
boxes_box_config_load_property (BoxesBoxConfig* self,
                                GObject* object,
                                const gchar* property_name,
                                GValue* default_value)
{
	GParamSpec* result = NULL;
	GParamSpec* property = NULL;
	GObjectClass* _tmp0_;
	GParamSpec* _tmp1_;
	GParamSpec* _tmp2_;
	GParamSpec* _tmp3_;
	GValue value = {0};
	GParamSpec* _tmp4_;
	GType _tmp5_;
	GValue _tmp6_ = {0};
	GValue _tmp31_;
	GError * _inner_error_ = NULL;
#line 122 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 122 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (object != NULL, NULL);
#line 122 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (property_name != NULL, NULL);
#line 122 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (default_value != NULL, NULL);
#line 123 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = G_OBJECT_GET_CLASS (object);
#line 123 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = g_object_class_find_property (_tmp0_, property_name);
#line 123 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = _g_param_spec_ref0 (_tmp1_);
#line 123 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	property = _tmp2_;
#line 124 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp3_ = property;
#line 124 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (_tmp3_ == NULL) {
#line 125 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_debug ("box-config.vala:125: You forgot the property '%s' needs to have public" \
" getter!", property_name);
#line 126 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		result = NULL;
#line 126 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_param_spec_unref0 (property);
#line 126 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		return result;
#line 811 "box-config.c"
	}
#line 129 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp4_ = property;
#line 129 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp5_ = _tmp4_->value_type;
#line 129 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_value_init (&_tmp6_, _tmp5_);
#line 129 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	value = _tmp6_;
#line 821 "box-config.c"
	{
#line 132 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		if (G_VALUE_TYPE (&value) == G_TYPE_STRING) {
#line 825 "box-config.c"
			gchar* _tmp7_ = NULL;
			GKeyFile* _tmp8_;
			GKeyFile* _tmp9_;
			const gchar* _tmp10_;
			gchar* _tmp11_;
			gchar* _tmp12_;
			GValue _tmp13_ = {0};
#line 133 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp8_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 133 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp9_ = _tmp8_;
#line 133 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp10_ = self->priv->_group;
#line 133 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp11_ = g_key_file_get_string (_tmp9_, _tmp10_, property_name, &_inner_error_);
#line 133 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp7_ = _tmp11_;
#line 133 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 845 "box-config.c"
				goto __catch2_g_error;
			}
#line 133 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp12_ = _tmp7_;
#line 133 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp7_ = NULL;
#line 133 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			g_value_init (&_tmp13_, G_TYPE_STRING);
#line 133 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			g_value_take_string (&_tmp13_, _tmp12_);
#line 133 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 133 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			value = _tmp13_;
#line 132 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_g_free0 (_tmp7_);
#line 862 "box-config.c"
		}
#line 134 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		if (G_VALUE_TYPE (&value) == G_TYPE_UINT64) {
#line 866 "box-config.c"
			guint64 _tmp14_ = 0ULL;
			GKeyFile* _tmp15_;
			GKeyFile* _tmp16_;
			const gchar* _tmp17_;
			GValue _tmp18_ = {0};
#line 135 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp15_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 135 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp16_ = _tmp15_;
#line 135 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp17_ = self->priv->_group;
#line 135 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp14_ = g_key_file_get_uint64 (_tmp16_, _tmp17_, property_name, &_inner_error_);
#line 135 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 882 "box-config.c"
				goto __catch2_g_error;
			}
#line 135 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			g_value_init (&_tmp18_, G_TYPE_UINT64);
#line 135 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			g_value_set_uint64 (&_tmp18_, _tmp14_);
#line 135 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 135 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			value = _tmp18_;
#line 893 "box-config.c"
		}
#line 136 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		if (G_VALUE_TYPE (&value) == G_TYPE_INT64) {
#line 897 "box-config.c"
			gint64 _tmp19_ = 0LL;
			GKeyFile* _tmp20_;
			GKeyFile* _tmp21_;
			const gchar* _tmp22_;
			GValue _tmp23_ = {0};
#line 137 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp20_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 137 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp21_ = _tmp20_;
#line 137 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp22_ = self->priv->_group;
#line 137 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp19_ = g_key_file_get_int64 (_tmp21_, _tmp22_, property_name, &_inner_error_);
#line 137 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 913 "box-config.c"
				goto __catch2_g_error;
			}
#line 137 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			g_value_init (&_tmp23_, G_TYPE_INT64);
#line 137 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			g_value_set_int64 (&_tmp23_, _tmp19_);
#line 137 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 137 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			value = _tmp23_;
#line 924 "box-config.c"
		}
#line 138 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		if (G_VALUE_TYPE (&value) == G_TYPE_BOOLEAN) {
#line 928 "box-config.c"
			gboolean _tmp24_ = FALSE;
			GKeyFile* _tmp25_;
			GKeyFile* _tmp26_;
			const gchar* _tmp27_;
			GValue _tmp28_ = {0};
#line 139 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp25_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 139 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp26_ = _tmp25_;
#line 139 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp27_ = self->priv->_group;
#line 139 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp24_ = g_key_file_get_boolean (_tmp26_, _tmp27_, property_name, &_inner_error_);
#line 139 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 944 "box-config.c"
				goto __catch2_g_error;
			}
#line 139 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			g_value_init (&_tmp28_, G_TYPE_BOOLEAN);
#line 139 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			g_value_set_boolean (&_tmp28_, _tmp24_);
#line 139 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 139 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			value = _tmp28_;
#line 955 "box-config.c"
		}
	}
	goto __finally2;
	__catch2_g_error:
	{
		GError* err = NULL;
		GValue _tmp29_;
		GValue _tmp30_ = {0};
#line 131 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		err = _inner_error_;
#line 131 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_inner_error_ = NULL;
#line 141 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp29_ = *default_value;
#line 141 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		if (G_IS_VALUE (&_tmp29_)) {
#line 141 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			g_value_init (&_tmp30_, G_VALUE_TYPE (&_tmp29_));
#line 141 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			g_value_copy (&_tmp29_, &_tmp30_);
#line 976 "box-config.c"
		} else {
#line 141 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp30_ = _tmp29_;
#line 980 "box-config.c"
		}
#line 141 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 141 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		value = _tmp30_;
#line 131 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_error_free0 (err);
#line 988 "box-config.c"
	}
	__finally2:
#line 131 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 131 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 131 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_param_spec_unref0 (property);
#line 131 "/home/fborges/checkout/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 131 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_clear_error (&_inner_error_);
#line 131 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		return NULL;
#line 1003 "box-config.c"
	}
#line 144 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp31_ = value;
#line 144 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_object_set_property (object, property_name, &_tmp31_);
#line 146 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	result = property;
#line 146 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 146 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	return result;
#line 1015 "box-config.c"
}


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


static void
block2_data_unref (void * _userdata_)
{
	Block2Data* _data2_;
	_data2_ = (Block2Data*) _userdata_;
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) {
#line 1037 "box-config.c"
		BoxesBoxConfig* self;
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		self = _data2_->self;
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_param_spec_unref0 (_data2_->property);
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_object_unref0 (self);
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_slice_free (Block2Data, _data2_);
#line 1047 "box-config.c"
	}
}


static void
____lambda5_ (Block2Data* _data2_,
              GObject* object,
              GParamSpec* pspec)
{
	BoxesBoxConfig* self;
	const gchar* _tmp0_;
	GParamSpec* _tmp1_;
	const gchar* _tmp2_;
#line 155 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self = _data2_->self;
#line 155 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (object != NULL);
#line 155 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (pspec != NULL);
#line 156 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = pspec->name;
#line 156 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = _data2_->property;
#line 156 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_->name;
#line 156 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (g_strcmp0 (_tmp0_, _tmp2_) == 0) {
#line 1075 "box-config.c"
		const gchar* _tmp3_;
#line 157 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp3_ = pspec->name;
#line 157 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		boxes_box_config_save_property (self, object, _tmp3_);
#line 1081 "box-config.c"
	}
}


static void
_____lambda5__g_object_notify (GObject* _sender,
                               GParamSpec* pspec,
                               gpointer self)
{
#line 155 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	____lambda5_ (self, _sender, pspec);
#line 1093 "box-config.c"
}


void
boxes_box_config_save_properties (BoxesBoxConfig* self,
                                  GObject* object,
                                  BoxesBoxConfigSavedProperty* properties,
                                  int properties_length1)
{
#line 149 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 149 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (object != NULL);
#line 1107 "box-config.c"
	{
		BoxesBoxConfigSavedProperty* prop_collection = NULL;
		gint prop_collection_length1 = 0;
		gint _prop_collection_size_ = 0;
		gint prop_it = 0;
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		prop_collection = properties;
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		prop_collection_length1 = properties_length1;
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		for (prop_it = 0; prop_it < properties_length1; prop_it = prop_it + 1) {
#line 1119 "box-config.c"
			BoxesBoxConfigSavedProperty _tmp0_ = {0};
			BoxesBoxConfigSavedProperty prop = {0};
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			boxes_box_config_saved_property_copy (&prop_collection[prop_it], &_tmp0_);
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			prop = _tmp0_;
#line 1126 "box-config.c"
			{
				Block2Data* _data2_;
				BoxesBoxConfigSavedProperty _tmp1_;
				const gchar* _tmp2_;
				BoxesBoxConfigSavedProperty _tmp3_;
				GValue _tmp4_;
				GParamSpec* _tmp5_;
				GParamSpec* _tmp6_;
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_data2_ = g_slice_new0 (Block2Data);
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_data2_->_ref_count_ = 1;
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_data2_->self = g_object_ref (self);
#line 151 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_tmp1_ = prop;
#line 151 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_tmp2_ = _tmp1_.name;
#line 151 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_tmp3_ = prop;
#line 151 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_tmp4_ = _tmp3_.default_value;
#line 151 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_tmp5_ = boxes_box_config_load_property (self, object, _tmp2_, &_tmp4_);
#line 151 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_data2_->property = _tmp5_;
#line 152 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_tmp6_ = _data2_->property;
#line 152 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				if (_tmp6_ == NULL) {
#line 153 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					boxes_box_config_saved_property_destroy (&prop);
#line 153 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					block2_data_unref (_data2_);
#line 153 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_data2_ = NULL;
#line 153 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					return;
#line 1165 "box-config.c"
				}
#line 155 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				g_signal_connect_data (object, "notify", (GCallback) _____lambda5__g_object_notify, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0);
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				boxes_box_config_saved_property_destroy (&prop);
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				block2_data_unref (_data2_);
#line 150 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_data2_ = NULL;
#line 1175 "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 164 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 165 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = g_string_new ("");
#line 165 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	builder = _tmp0_;
#line 167 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = boxes_box_config_get_last_seen_name (self);
#line 167 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_;
#line 167 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp3_ = _tmp2_;
#line 167 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp4_ = _tmp3_ != NULL;
#line 167 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_free0 (_tmp3_);
#line 167 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (_tmp4_) {
#line 1212 "box-config.c"
		GString* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
		gchar* _tmp8_;
		gchar* _tmp9_;
		gchar* _tmp10_;
		GString* _tmp11_;
#line 168 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp5_ = builder;
#line 168 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp6_ = boxes_box_config_get_last_seen_name (self);
#line 168 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp7_ = _tmp6_;
#line 168 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp8_ = _tmp7_;
#line 168 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp9_ = boxes_canonicalize_for_search (_tmp8_);
#line 168 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp10_ = _tmp9_;
#line 168 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_string_append (_tmp5_, _tmp10_);
#line 168 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_free0 (_tmp10_);
#line 168 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_free0 (_tmp8_);
#line 169 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp11_ = builder;
#line 169 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_string_append_unichar (_tmp11_, (gunichar) ' ');
#line 1242 "box-config.c"
	}
#line 174 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp12_ = builder;
#line 174 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp13_ = _tmp12_->str;
#line 174 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp14_ = g_strdup (_tmp13_);
#line 174 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_free0 (self->priv->filter_data);
#line 174 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self->priv->filter_data = _tmp14_;
#line 164 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_string_free0 (builder);
#line 1256 "box-config.c"
}


static gboolean
string_contains (const gchar* self,
                 const gchar* needle)
{
	gboolean result = FALSE;
	gchar* _tmp0_;
#line 1417 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, FALSE);
#line 1417 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (needle != NULL, FALSE);
#line 1418 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp0_ = strstr ((gchar*) self, (gchar*) needle);
#line 1418 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
	result = _tmp0_ != NULL;
#line 1418 "/home/fborges/jhbuild/install/share/vala-0.40/vapi/glib-2.0.vapi"
	return result;
#line 1276 "box-config.c"
}


gboolean
boxes_box_config_contains_strings (BoxesBoxConfig* self,
                                   gchar** strings,
                                   int strings_length1)
{
	gboolean result = FALSE;
	const gchar* _tmp0_;
#line 177 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 178 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->filter_data;
#line 178 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (_tmp0_ == NULL) {
#line 179 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		boxes_box_config_update_filter_data (self);
#line 1295 "box-config.c"
	}
	{
		gchar** i_collection = NULL;
		gint i_collection_length1 = 0;
		gint _i_collection_size_ = 0;
		gint i_it = 0;
#line 181 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		i_collection = strings;
#line 181 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		i_collection_length1 = strings_length1;
#line 181 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		for (i_it = 0; i_it < strings_length1; i_it = i_it + 1) {
#line 1308 "box-config.c"
			gchar* _tmp1_;
			gchar* i = NULL;
#line 181 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp1_ = g_strdup (i_collection[i_it]);
#line 181 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			i = _tmp1_;
#line 1315 "box-config.c"
			{
				const gchar* _tmp2_;
				const gchar* _tmp3_;
#line 182 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_tmp2_ = self->priv->filter_data;
#line 182 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_tmp3_ = i;
#line 182 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				if (!string_contains (_tmp2_, _tmp3_)) {
#line 183 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					result = FALSE;
#line 183 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					_g_free0 (i);
#line 183 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
					return result;
#line 1331 "box-config.c"
				}
#line 181 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				_g_free0 (i);
#line 1335 "box-config.c"
			}
		}
	}
#line 185 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	result = TRUE;
#line 185 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	return result;
#line 1343 "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 _tmp12_ = FALSE;
	gint64 _tmp13_;
	gchar* name = NULL;
	gchar* _tmp19_;
	gchar* _tmp20_;
	gchar* other_name = NULL;
	gchar* _tmp21_;
	gchar* _tmp22_;
	gboolean _tmp23_ = FALSE;
	const gchar* _tmp24_;
	const gchar* _tmp28_;
	const gchar* _tmp29_;
#line 188 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 188 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_val_if_fail (other != NULL, 0);
#line 191 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = boxes_box_config_get_categories (self, &_tmp0__length1);
#line 191 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = _tmp0_;
#line 191 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1__length1 = _tmp0__length1;
#line 191 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_;
#line 191 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2__length1 = _tmp1__length1;
#line 191 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp3_ = _vala_string_array_contains (_tmp2_, _tmp1__length1, "favorite");
#line 191 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = (_vala_array_free (_tmp2_, _tmp2__length1, (GDestroyNotify) g_free), NULL);
#line 191 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (_tmp3_) {
#line 1391 "box-config.c"
		gchar** _tmp4_;
		gint _tmp4__length1;
		gchar** _tmp5_;
		gint _tmp5__length1;
		gchar** _tmp6_;
		gint _tmp6__length1;
		gboolean _tmp7_;
#line 192 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp4_ = boxes_box_config_get_categories (other, &_tmp4__length1);
#line 192 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp5_ = _tmp4_;
#line 192 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp5__length1 = _tmp4__length1;
#line 192 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp6_ = _tmp5_;
#line 192 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp6__length1 = _tmp5__length1;
#line 192 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp7_ = !_vala_string_array_contains (_tmp6_, _tmp5__length1, "favorite");
#line 192 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_free), NULL);
#line 192 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		if (_tmp7_) {
#line 193 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			result = -1;
#line 193 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			return result;
#line 1419 "box-config.c"
		}
	} else {
		gchar** _tmp8_;
		gint _tmp8__length1;
		gchar** _tmp9_;
		gint _tmp9__length1;
		gchar** _tmp10_;
		gint _tmp10__length1;
		gboolean _tmp11_;
#line 194 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp8_ = boxes_box_config_get_categories (other, &_tmp8__length1);
#line 194 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp9_ = _tmp8_;
#line 194 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp9__length1 = _tmp8__length1;
#line 194 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp10_ = _tmp9_;
#line 194 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp10__length1 = _tmp9__length1;
#line 194 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp11_ = _vala_string_array_contains (_tmp10_, _tmp9__length1, "favorite");
#line 194 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp10_ = (_vala_array_free (_tmp10_, _tmp10__length1, (GDestroyNotify) g_free), NULL);
#line 194 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		if (_tmp11_) {
#line 195 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			result = 1;
#line 195 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			return result;
#line 1449 "box-config.c"
		}
	}
#line 198 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp13_ = self->priv->_access_last_time;
#line 198 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (_tmp13_ > ((gint64) 0)) {
#line 198 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp12_ = TRUE;
#line 1458 "box-config.c"
	} else {
		gint64 _tmp14_;
#line 198 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp14_ = other->priv->_access_last_time;
#line 198 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp12_ = _tmp14_ > ((gint64) 0);
#line 1465 "box-config.c"
	}
#line 198 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (_tmp12_) {
#line 1469 "box-config.c"
		gint64 _tmp15_;
		gint64 _tmp16_;
#line 199 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp15_ = self->priv->_access_last_time;
#line 199 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp16_ = other->priv->_access_last_time;
#line 199 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		if (_tmp15_ > _tmp16_) {
#line 200 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			result = -1;
#line 200 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			return result;
#line 1482 "box-config.c"
		} else {
			gint64 _tmp17_;
			gint64 _tmp18_;
#line 201 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp17_ = self->priv->_access_last_time;
#line 201 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			_tmp18_ = other->priv->_access_last_time;
#line 201 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			if (_tmp17_ < _tmp18_) {
#line 202 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				result = 1;
#line 202 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
				return result;
#line 1496 "box-config.c"
			}
		}
	}
#line 205 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp19_ = boxes_box_config_get_last_seen_name (self);
#line 205 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp20_ = _tmp19_;
#line 205 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	name = _tmp20_;
#line 206 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp21_ = boxes_box_config_get_last_seen_name (other);
#line 206 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp22_ = _tmp21_;
#line 206 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	other_name = _tmp22_;
#line 209 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp24_ = name;
#line 209 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (boxes_is_set (_tmp24_)) {
#line 1516 "box-config.c"
		const gchar* _tmp25_;
#line 209 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp25_ = other_name;
#line 209 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp23_ = boxes_is_set (_tmp25_);
#line 1522 "box-config.c"
	} else {
#line 209 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp23_ = FALSE;
#line 1526 "box-config.c"
	}
#line 209 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (_tmp23_) {
#line 1530 "box-config.c"
		const gchar* _tmp26_;
		const gchar* _tmp27_;
#line 210 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp26_ = name;
#line 210 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp27_ = other_name;
#line 210 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		result = g_utf8_collate (_tmp26_, _tmp27_);
#line 210 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_free0 (other_name);
#line 210 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_free0 (name);
#line 210 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		return result;
#line 1545 "box-config.c"
	}
#line 213 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp28_ = name;
#line 213 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (boxes_is_set (_tmp28_)) {
#line 214 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		result = -1;
#line 214 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_free0 (other_name);
#line 214 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_free0 (name);
#line 214 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		return result;
#line 1559 "box-config.c"
	}
#line 215 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp29_ = other_name;
#line 215 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (boxes_is_set (_tmp29_)) {
#line 216 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		result = 1;
#line 216 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_free0 (other_name);
#line 216 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_free0 (name);
#line 216 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		return result;
#line 1573 "box-config.c"
	}
#line 218 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	result = 0;
#line 218 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_free0 (other_name);
#line 218 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_free0 (name);
#line 218 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	return result;
#line 1583 "box-config.c"
}


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


BoxesBoxConfig*
boxes_box_config_new (void)
{
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	return boxes_box_config_construct (BOXES_TYPE_BOX_CONFIG);
#line 1604 "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 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self = (BoxesBoxConfig*) base;
#line 12 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->source;
#line 12 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = boxes_iconfig_get_has_file ((BoxesIConfig*) _tmp0_);
#line 12 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_;
#line 12 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	result = _tmp2_;
#line 12 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	return result;
#line 1628 "box-config.c"
}


static void
boxes_box_config_real_set_has_file (BoxesIConfig* base,
                                    gboolean value)
{
	BoxesBoxConfig* self;
	BoxesCollectionSource* _tmp0_;
#line 13 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self = (BoxesBoxConfig*) base;
#line 13 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->source;
#line 13 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	boxes_iconfig_set_has_file ((BoxesIConfig*) _tmp0_, value);
#line 1644 "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 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self = (BoxesBoxConfig*) base;
#line 16 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->source;
#line 16 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = boxes_iconfig_get_filename ((BoxesIConfig*) _tmp0_);
#line 16 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_;
#line 16 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	result = _tmp2_;
#line 16 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	return result;
#line 1668 "box-config.c"
}


static void
boxes_box_config_real_set_filename (BoxesIConfig* base,
                                    const gchar* value)
{
	BoxesBoxConfig* self;
#line 17 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self = (BoxesBoxConfig*) base;
#line 17 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_warning ("box-config.vala:17: not allowed to change filename");
#line 1681 "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 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self = (BoxesBoxConfig*) base;
#line 20 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = self->priv->source;
#line 20 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) _tmp0_);
#line 20 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = _tmp1_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	result = _tmp2_;
#line 20 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	return result;
#line 1705 "box-config.c"
}


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


static void
boxes_box_config_set_group (BoxesBoxConfig* self,
                            const gchar* value)
{
#line 23 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 23 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (g_strcmp0 (value, boxes_box_config_get_group (self)) != 0) {
#line 1734 "box-config.c"
		gchar* _tmp0_;
#line 23 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp0_ = g_strdup (value);
#line 23 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_g_free0 (self->priv->_group);
#line 23 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		self->priv->_group = _tmp0_;
#line 23 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_box_config_properties[BOXES_BOX_CONFIG_GROUP_PROPERTY]);
#line 1744 "box-config.c"
	}
}


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


void
boxes_box_config_set_last_seen_name (BoxesBoxConfig* self,
                                     const gchar* value)
{
	GKeyFile* _tmp0_;
	GKeyFile* _tmp1_;
	const gchar* _tmp2_;
#line 27 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 27 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 27 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = _tmp0_;
#line 27 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = self->priv->_group;
#line 27 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_key_file_set_string (_tmp1_, _tmp2_, "last-seen-name", value);
#line 27 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_object_notify_by_pspec ((GObject *) self, boxes_box_config_properties[BOXES_BOX_CONFIG_LAST_SEEN_NAME_PROPERTY]);
#line 1788 "box-config.c"
}


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


void
boxes_box_config_set_uuid (BoxesBoxConfig* self,
                           const gchar* value)
{
	GKeyFile* _tmp0_;
	GKeyFile* _tmp1_;
	const gchar* _tmp2_;
#line 32 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 32 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 32 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = _tmp0_;
#line 32 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = self->priv->_group;
#line 32 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_key_file_set_string (_tmp1_, _tmp2_, "uuid", value);
#line 32 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_object_notify_by_pspec ((GObject *) self, boxes_box_config_properties[BOXES_BOX_CONFIG_UUID_PROPERTY]);
#line 1831 "box-config.c"
}


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


void
boxes_box_config_set_categories (BoxesBoxConfig* self,
                                 gchar** value,
                                 int value_length1)
{
	GKeyFile* _tmp0_;
	GKeyFile* _tmp1_;
	const gchar* _tmp2_;
#line 37 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 37 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = boxes_iconfig_get_keyfile ((BoxesIConfig*) self);
#line 37 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = _tmp0_;
#line 37 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = self->priv->_group;
#line 37 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_key_file_set_string_list (_tmp1_, _tmp2_, "categories", (const gchar* const*) value, value_length1);
#line 37 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_object_notify_by_pspec ((GObject *) self, boxes_box_config_properties[BOXES_BOX_CONFIG_CATEGORIES_PROPERTY]);
#line 1889 "box-config.c"
}


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


void
boxes_box_config_set_access_last_time (BoxesBoxConfig* self,
                                       gint64 value)
{
#line 40 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 40 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (boxes_box_config_get_access_last_time (self) != value) {
#line 40 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		self->priv->_access_last_time = value;
#line 40 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_box_config_properties[BOXES_BOX_CONFIG_ACCESS_LAST_TIME_PROPERTY]);
#line 1922 "box-config.c"
	}
}


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


void
boxes_box_config_set_access_first_time (BoxesBoxConfig* self,
                                        gint64 value)
{
#line 41 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 41 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (boxes_box_config_get_access_first_time (self) != value) {
#line 41 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		self->priv->_access_first_time = value;
#line 41 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_box_config_properties[BOXES_BOX_CONFIG_ACCESS_FIRST_TIME_PROPERTY]);
#line 1956 "box-config.c"
	}
}


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


void
boxes_box_config_set_access_total_time (BoxesBoxConfig* self,
                                        gint64 value)
{
#line 42 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 42 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (boxes_box_config_get_access_total_time (self) != value) {
#line 42 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		self->priv->_access_total_time = value;
#line 42 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_box_config_properties[BOXES_BOX_CONFIG_ACCESS_TOTAL_TIME_PROPERTY]);
#line 1990 "box-config.c"
	}
}


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


void
boxes_box_config_set_access_ntimes (BoxesBoxConfig* self,
                                    gint64 value)
{
#line 43 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_return_if_fail (self != NULL);
#line 43 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (boxes_box_config_get_access_ntimes (self) != value) {
#line 43 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		self->priv->_access_ntimes = value;
#line 43 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_box_config_properties[BOXES_BOX_CONFIG_ACCESS_NTIMES_PROPERTY]);
#line 2024 "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};
	BoxesBoxConfigSavedProperty _tmp2_ = {0};
	gchar* _tmp3_;
	GValue _tmp4_ = {0};
	BoxesBoxConfigSavedProperty _tmp5_ = {0};
	gchar* _tmp6_;
	GValue _tmp7_ = {0};
	BoxesBoxConfigSavedProperty _tmp8_ = {0};
	gchar* _tmp9_;
	GValue _tmp10_ = {0};
	BoxesBoxConfigSavedProperty _tmp11_ = {0};
	BoxesBoxConfigSavedProperty* _tmp12_;
#line 46 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	parent_class = G_OBJECT_CLASS (boxes_box_config_parent_class);
#line 46 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
#line 46 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_BOX_CONFIG, BoxesBoxConfig);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = g_strdup ("access-last-time");
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_value_init (&_tmp1_, G_TYPE_INT64);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_value_set_int64 (&_tmp1_, (gint64) -1);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	memset (&_tmp2_, 0, sizeof (BoxesBoxConfigSavedProperty));
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_free0 (_tmp2_.name);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_.name = _tmp0_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&_tmp2_.default_value) ? (g_value_unset (&_tmp2_.default_value), NULL) : NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_.default_value = _tmp1_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp3_ = g_strdup ("access-first-time");
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_value_init (&_tmp4_, G_TYPE_INT64);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_value_set_int64 (&_tmp4_, (gint64) -1);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	memset (&_tmp5_, 0, sizeof (BoxesBoxConfigSavedProperty));
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_free0 (_tmp5_.name);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp5_.name = _tmp3_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&_tmp5_.default_value) ? (g_value_unset (&_tmp5_.default_value), NULL) : NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp5_.default_value = _tmp4_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp6_ = g_strdup ("access-total-time");
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_value_init (&_tmp7_, G_TYPE_INT64);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_value_set_int64 (&_tmp7_, (gint64) -1);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	memset (&_tmp8_, 0, sizeof (BoxesBoxConfigSavedProperty));
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_free0 (_tmp8_.name);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp8_.name = _tmp6_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&_tmp8_.default_value) ? (g_value_unset (&_tmp8_.default_value), NULL) : NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp8_.default_value = _tmp7_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp9_ = g_strdup ("access-ntimes");
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_value_init (&_tmp10_, G_TYPE_UINT64);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_value_set_uint64 (&_tmp10_, (guint64) 0);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	memset (&_tmp11_, 0, sizeof (BoxesBoxConfigSavedProperty));
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_free0 (_tmp11_.name);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp11_.name = _tmp9_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&_tmp11_.default_value) ? (g_value_unset (&_tmp11_.default_value), NULL) : NULL;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp11_.default_value = _tmp10_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp12_ = g_new0 (BoxesBoxConfigSavedProperty, 4);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp12_[0] = _tmp2_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp12_[1] = _tmp5_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp12_[2] = _tmp8_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp12_[3] = _tmp11_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self->priv->access_properties = (_vala_BoxesBoxConfigSavedProperty_array_free (self->priv->access_properties, self->priv->access_properties_length1), NULL);
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self->priv->access_properties = _tmp12_;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self->priv->access_properties_length1 = 4;
#line 47 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self->priv->_access_properties_size_ = self->priv->access_properties_length1;
#line 46 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	return obj;
#line 2140 "box-config.c"
}


void
boxes_box_config_saved_property_copy (const BoxesBoxConfigSavedProperty* self,
                                      BoxesBoxConfigSavedProperty* dest)
{
	const gchar* _tmp0_;
	gchar* _tmp1_;
	GValue _tmp2_;
	GValue _tmp3_ = {0};
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp0_ = (*self).name;
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_free0 ((*dest).name);
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	(*dest).name = _tmp1_;
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_tmp2_ = (*self).default_value;
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	if (G_IS_VALUE (&_tmp2_)) {
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_value_init (&_tmp3_, G_VALUE_TYPE (&_tmp2_));
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_value_copy (&_tmp2_, &_tmp3_);
#line 2168 "box-config.c"
	} else {
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		_tmp3_ = _tmp2_;
#line 2172 "box-config.c"
	}
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&(*dest).default_value) ? (g_value_unset (&(*dest).default_value), NULL) : NULL;
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	(*dest).default_value = _tmp3_;
#line 2178 "box-config.c"
}


void
boxes_box_config_saved_property_destroy (BoxesBoxConfigSavedProperty* self)
{
#line 5 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_free0 ((*self).name);
#line 6 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	G_IS_VALUE (&(*self).default_value) ? (g_value_unset (&(*self).default_value), NULL) : NULL;
#line 2189 "box-config.c"
}


BoxesBoxConfigSavedProperty*
boxes_box_config_saved_property_dup (const BoxesBoxConfigSavedProperty* self)
{
	BoxesBoxConfigSavedProperty* dup;
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	dup = g_new0 (BoxesBoxConfigSavedProperty, 1);
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	boxes_box_config_saved_property_copy (self, dup);
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	return dup;
#line 2203 "box-config.c"
}


void
boxes_box_config_saved_property_free (BoxesBoxConfigSavedProperty* self)
{
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	boxes_box_config_saved_property_destroy (self);
#line 4 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_free (self);
#line 2214 "box-config.c"
}


GType
boxes_box_config_saved_property_get_type (void)
{
	static volatile gsize boxes_box_config_saved_property_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_box_config_saved_property_type_id__volatile)) {
		GType boxes_box_config_saved_property_type_id;
		boxes_box_config_saved_property_type_id = g_boxed_type_register_static ("BoxesBoxConfigSavedProperty", (GBoxedCopyFunc) boxes_box_config_saved_property_dup, (GBoxedFreeFunc) boxes_box_config_saved_property_free);
		g_once_init_leave (&boxes_box_config_saved_property_type_id__volatile, boxes_box_config_saved_property_type_id);
	}
	return boxes_box_config_saved_property_type_id__volatile;
}


static void
boxes_box_config_class_init (BoxesBoxConfigClass * klass)
{
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	boxes_box_config_parent_class = g_type_class_peek_parent (klass);
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_type_class_add_private (klass, sizeof (BoxesBoxConfigPrivate));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_box_config_get_property;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_boxes_box_config_set_property;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	G_OBJECT_CLASS (klass)->constructor = boxes_box_config_constructor;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_box_config_finalize;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_GROUP_PROPERTY, boxes_box_config_properties[BOXES_BOX_CONFIG_GROUP_PROPERTY] = 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 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_LAST_SEEN_NAME_PROPERTY, boxes_box_config_properties[BOXES_BOX_CONFIG_LAST_SEEN_NAME_PROPERTY] = 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 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_UUID_PROPERTY, boxes_box_config_properties[BOXES_BOX_CONFIG_UUID_PROPERTY] = 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 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_CATEGORIES_PROPERTY, boxes_box_config_properties[BOXES_BOX_CONFIG_CATEGORIES_PROPERTY] = 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 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_ACCESS_LAST_TIME_PROPERTY, boxes_box_config_properties[BOXES_BOX_CONFIG_ACCESS_LAST_TIME_PROPERTY] = 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 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_ACCESS_FIRST_TIME_PROPERTY, boxes_box_config_properties[BOXES_BOX_CONFIG_ACCESS_FIRST_TIME_PROPERTY] = 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 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_ACCESS_TOTAL_TIME_PROPERTY, boxes_box_config_properties[BOXES_BOX_CONFIG_ACCESS_TOTAL_TIME_PROPERTY] = 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 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_BOX_CONFIG_ACCESS_NTIMES_PROPERTY, boxes_box_config_properties[BOXES_BOX_CONFIG_ACCESS_NTIMES_PROPERTY] = 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 2262 "box-config.c"
}


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


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


static void
boxes_box_config_finalize (GObject * obj)
{
	BoxesBoxConfig * self;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_BOX_CONFIG, BoxesBoxConfig);
#line 9 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_object_unref0 (self->priv->source);
#line 23 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_free0 (self->priv->_group);
#line 44 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	self->priv->access_properties = (_vala_BoxesBoxConfigSavedProperty_array_free (self->priv->access_properties, self->priv->access_properties_length1), NULL);
#line 162 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	_g_free0 (self->priv->filter_data);
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	G_OBJECT_CLASS (boxes_box_config_parent_class)->finalize (obj);
#line 2310 "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 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	switch (property_id) {
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_GROUP_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_value_set_string (value, boxes_box_config_get_group (self));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_LAST_SEEN_NAME_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_value_take_string (value, boxes_box_config_get_last_seen_name (self));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_UUID_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_value_take_string (value, boxes_box_config_get_uuid (self));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_CATEGORIES_PROPERTY:
#line 2360 "box-config.c"
		{
			int length;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			g_value_take_boxed (value, boxes_box_config_get_categories (self, &length));
#line 2365 "box-config.c"
		}
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_LAST_TIME_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_value_set_int64 (value, boxes_box_config_get_access_last_time (self));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_FIRST_TIME_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_value_set_int64 (value, boxes_box_config_get_access_first_time (self));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_TOTAL_TIME_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_value_set_int64 (value, boxes_box_config_get_access_total_time (self));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_NTIMES_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		g_value_set_int64 (value, boxes_box_config_get_access_ntimes (self));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 2393 "box-config.c"
		default:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 2399 "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 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
	switch (property_id) {
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_GROUP_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_group (self, g_value_get_string (value));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_LAST_SEEN_NAME_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_last_seen_name (self, g_value_get_string (value));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_UUID_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_uuid (self, g_value_get_string (value));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_CATEGORIES_PROPERTY:
#line 2434 "box-config.c"
		{
			gpointer boxed;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			boxed = g_value_get_boxed (value);
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
			boxes_box_config_set_categories (self, boxed, (boxed == NULL) ? 0 : g_strv_length (boxed));
#line 2441 "box-config.c"
		}
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_LAST_TIME_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_access_last_time (self, g_value_get_int64 (value));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_FIRST_TIME_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_access_first_time (self, g_value_get_int64 (value));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_TOTAL_TIME_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_access_total_time (self, g_value_get_int64 (value));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		case BOXES_BOX_CONFIG_ACCESS_NTIMES_PROPERTY:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		boxes_box_config_set_access_ntimes (self, g_value_get_int64 (value));
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 2469 "box-config.c"
		default:
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 3 "/home/fborges/checkout/gnome-boxes/src/box-config.vala"
		break;
#line 2475 "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);
}



