/* collection-filter-switcher.c generated by valac 0.36.1.38-6532, the Vala compiler
 * generated from collection-filter-switcher.vala, do not modify */

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

#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <libcommon.h>


#define BOXES_TYPE_COLLECTION_FILTER_SWITCHER (boxes_collection_filter_switcher_get_type ())
#define BOXES_COLLECTION_FILTER_SWITCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_FILTER_SWITCHER, BoxesCollectionFilterSwitcher))
#define BOXES_COLLECTION_FILTER_SWITCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_FILTER_SWITCHER, BoxesCollectionFilterSwitcherClass))
#define BOXES_IS_COLLECTION_FILTER_SWITCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_FILTER_SWITCHER))
#define BOXES_IS_COLLECTION_FILTER_SWITCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_FILTER_SWITCHER))
#define BOXES_COLLECTION_FILTER_SWITCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_FILTER_SWITCHER, BoxesCollectionFilterSwitcherClass))

typedef struct _BoxesCollectionFilterSwitcher BoxesCollectionFilterSwitcher;
typedef struct _BoxesCollectionFilterSwitcherClass BoxesCollectionFilterSwitcherClass;
typedef struct _BoxesCollectionFilterSwitcherPrivate BoxesCollectionFilterSwitcherPrivate;

#define BOXES_TYPE_APP_WINDOW (boxes_app_window_get_type ())
#define BOXES_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_APP_WINDOW, BoxesAppWindow))
#define BOXES_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_APP_WINDOW, BoxesAppWindowClass))
#define BOXES_IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_APP_WINDOW))
#define BOXES_IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_APP_WINDOW))
#define BOXES_APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_APP_WINDOW, BoxesAppWindowClass))

typedef struct _BoxesAppWindow BoxesAppWindow;
typedef struct _BoxesAppWindowClass BoxesAppWindowClass;
enum  {
	BOXES_COLLECTION_FILTER_SWITCHER_DUMMY_PROPERTY,
	BOXES_COLLECTION_FILTER_SWITCHER_LAST_PROPERTY
};
static GParamSpec* boxes_collection_filter_switcher_properties[BOXES_COLLECTION_FILTER_SWITCHER_LAST_PROPERTY];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

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

typedef struct _BoxesApp BoxesApp;
typedef struct _BoxesAppClass BoxesAppClass;

#define BOXES_TYPE_ICOLLECTION_VIEW (boxes_icollection_view_get_type ())
#define BOXES_ICOLLECTION_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_ICOLLECTION_VIEW, BoxesICollectionView))
#define BOXES_IS_ICOLLECTION_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_ICOLLECTION_VIEW))
#define BOXES_ICOLLECTION_VIEW_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_TYPE_ICOLLECTION_VIEW, BoxesICollectionViewIface))

typedef struct _BoxesICollectionView BoxesICollectionView;
typedef struct _BoxesICollectionViewIface BoxesICollectionViewIface;

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

typedef struct _BoxesCollectionItem BoxesCollectionItem;
typedef struct _BoxesCollectionItemClass BoxesCollectionItemClass;

#define BOXES_TYPE_SELECTION_CRITERIA (boxes_selection_criteria_get_type ())

#define BOXES_TYPE_COLLECTION_FILTER (boxes_collection_filter_get_type ())
#define BOXES_COLLECTION_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_FILTER, BoxesCollectionFilter))
#define BOXES_COLLECTION_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_FILTER, BoxesCollectionFilterClass))
#define BOXES_IS_COLLECTION_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_FILTER))
#define BOXES_IS_COLLECTION_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_FILTER))
#define BOXES_COLLECTION_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_FILTER, BoxesCollectionFilterClass))

typedef struct _BoxesCollectionFilter BoxesCollectionFilter;
typedef struct _BoxesCollectionFilterClass BoxesCollectionFilterClass;

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

typedef struct _BoxesMachine BoxesMachine;
typedef struct _BoxesMachineClass BoxesMachineClass;
typedef struct _BoxesAppPrivate BoxesAppPrivate;

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

typedef struct _BoxesCollection BoxesCollection;
typedef struct _BoxesCollectionClass BoxesCollectionClass;
typedef struct _BoxesCollectionPrivate BoxesCollectionPrivate;
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);

struct _BoxesCollectionFilterSwitcher {
	GtkButtonBox parent_instance;
	BoxesCollectionFilterSwitcherPrivate * priv;
};

struct _BoxesCollectionFilterSwitcherClass {
	GtkButtonBoxClass parent_class;
};

struct _BoxesCollectionFilterSwitcherPrivate {
	GtkToggleButton* all_button;
	GtkToggleButton* local_button;
	GtkToggleButton* remote_button;
	GtkToggleButton* active_button;
	BoxesAppWindow* window;
};

typedef void (*BoxesAppCallReadyFunc) (void* user_data);
typedef enum  {
	BOXES_SELECTION_CRITERIA_ALL,
	BOXES_SELECTION_CRITERIA_NONE,
	BOXES_SELECTION_CRITERIA_RUNNING
} BoxesSelectionCriteria;

struct _BoxesICollectionViewIface {
	GTypeInterface parent_iface;
	void (*add_item) (BoxesICollectionView* self, BoxesCollectionItem* item);
	void (*remove_item) (BoxesICollectionView* self, BoxesCollectionItem* item);
	GList* (*get_selected_items) (BoxesICollectionView* self);
	void (*activate_first_item) (BoxesICollectionView* self);
	void (*select_by_criteria) (BoxesICollectionView* self, BoxesSelectionCriteria criteria);
	BoxesCollectionFilter* (*get_filter) (BoxesICollectionView* self);
	void (*set_filter) (BoxesICollectionView* self, BoxesCollectionFilter* value);
};

typedef gboolean (*BoxesCollectionFilterFunc) (BoxesCollectionItem* item, void* user_data);
struct _BoxesApp {
	GtkApplication parent_instance;
	BoxesAppPrivate * priv;
	BoxesCollection* collection;
	BoxesAsyncLauncher* async_launcher;
};

struct _BoxesAppClass {
	GtkApplicationClass parent_class;
};

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

struct _BoxesCollectionClass {
	GObjectClass parent_class;
};


static gpointer boxes_collection_filter_switcher_parent_class = NULL;
extern BoxesApp* boxes_app_app;

GType boxes_collection_filter_switcher_get_type (void) G_GNUC_CONST;
GType boxes_app_window_get_type (void) G_GNUC_CONST;
#define BOXES_COLLECTION_FILTER_SWITCHER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_COLLECTION_FILTER_SWITCHER, BoxesCollectionFilterSwitcherPrivate))
void boxes_collection_filter_switcher_setup_ui (BoxesCollectionFilterSwitcher* self, BoxesAppWindow* window);
static void boxes_collection_filter_switcher_activate_button (BoxesCollectionFilterSwitcher* self, GtkToggleButton* button);
GType boxes_app_get_type (void) G_GNUC_CONST;
void boxes_app_call_when_ready (BoxesApp* self, BoxesAppCallReadyFunc func, void* func_target, GDestroyNotify func_target_destroy_notify);
static void boxes_collection_filter_switcher_on_app_ready (BoxesCollectionFilterSwitcher* self);
static void _boxes_collection_filter_switcher_on_app_ready_boxes_app_call_ready_func (gpointer self);
void boxes_app_window_foreach_view (BoxesAppWindow* self, GFunc func, void* func_target);
GType boxes_collection_item_get_type (void) G_GNUC_CONST;
GType boxes_selection_criteria_get_type (void) G_GNUC_CONST;
GType boxes_collection_filter_get_type (void) G_GNUC_CONST;
GType boxes_icollection_view_get_type (void) G_GNUC_CONST;
static void __lambda10_ (BoxesCollectionFilterSwitcher* self, BoxesICollectionView* view);
BoxesCollectionFilter* boxes_icollection_view_get_filter (BoxesICollectionView* self);
void boxes_collection_filter_set_filter_func (BoxesCollectionFilter* self, BoxesCollectionFilterFunc value, gpointer value_target);
static void ___lambda10__gfunc (gconstpointer data, gpointer self);
static BoxesCollectionFilterFunc boxes_collection_filter_switcher_get_filter_func (BoxesCollectionFilterSwitcher* self, void** result_target);
static gboolean boxes_collection_filter_switcher_local_filter_func (BoxesCollectionFilterSwitcher* self, BoxesCollectionItem* item);
static gboolean _boxes_collection_filter_switcher_local_filter_func_boxes_collection_filter_func (BoxesCollectionItem* item, gpointer self);
static gboolean boxes_collection_filter_switcher_remote_filter_func (BoxesCollectionFilterSwitcher* self, BoxesCollectionItem* item);
static gboolean _boxes_collection_filter_switcher_remote_filter_func_boxes_collection_filter_func (BoxesCollectionItem* item, gpointer self);
GType boxes_machine_get_type (void) G_GNUC_CONST;
gboolean boxes_machine_get_is_local (BoxesMachine* self);
static void boxes_collection_filter_switcher_update_sensitivity (BoxesCollectionFilterSwitcher* self);
GType boxes_collection_get_type (void) G_GNUC_CONST;
static void _boxes_collection_filter_switcher_update_sensitivity_boxes_collection_item_added (BoxesCollection* _sender, BoxesCollectionItem* item, gpointer self);
static void _boxes_collection_filter_switcher_update_sensitivity_boxes_collection_item_removed (BoxesCollection* _sender, BoxesCollectionItem* item, gpointer self);
static void __lambda8_ (BoxesCollectionFilterSwitcher* self, BoxesICollectionView* view);
static void ___lambda8__gfunc (gconstpointer data, gpointer self);
static void _boxes_collection_filter_switcher_activate_button_gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self);
BoxesCollectionFilterSwitcher* boxes_collection_filter_switcher_new (void);
BoxesCollectionFilterSwitcher* boxes_collection_filter_switcher_construct (GType object_type);
static void boxes_collection_filter_switcher_finalize (GObject * obj);


static void _boxes_collection_filter_switcher_on_app_ready_boxes_app_call_ready_func (gpointer self) {
#line 21 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	boxes_collection_filter_switcher_on_app_ready ((BoxesCollectionFilterSwitcher*) self);
#line 208 "collection-filter-switcher.c"
}


static void __lambda10_ (BoxesCollectionFilterSwitcher* self, BoxesICollectionView* view) {
	BoxesICollectionView* _tmp0_;
	BoxesCollectionFilter* _tmp1_;
	BoxesCollectionFilter* _tmp2_;
#line 23 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_return_if_fail (view != NULL);
#line 23 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp0_ = view;
#line 23 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp1_ = boxes_icollection_view_get_filter (_tmp0_);
#line 23 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp2_ = _tmp1_;
#line 23 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	boxes_collection_filter_set_filter_func (_tmp2_, NULL, NULL);
#line 226 "collection-filter-switcher.c"
}


static void ___lambda10__gfunc (gconstpointer data, gpointer self) {
#line 23 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	__lambda10_ ((BoxesCollectionFilterSwitcher*) self, (BoxesICollectionView*) data);
#line 233 "collection-filter-switcher.c"
}


void boxes_collection_filter_switcher_setup_ui (BoxesCollectionFilterSwitcher* self, BoxesAppWindow* window) {
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
	GtkToggleButton* _tmp2_;
	GtkToggleButton* _tmp3_;
	BoxesApp* _tmp4_;
	BoxesAppWindow* _tmp5_;
#line 15 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_return_if_fail (self != NULL);
#line 15 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_return_if_fail (window != NULL);
#line 16 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp0_ = window;
#line 16 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	self->priv->window = _tmp0_;
#line 17 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp1_ = window;
#line 17 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_vala_assert (_tmp1_ != NULL, "window != null");
#line 19 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp2_ = self->priv->all_button;
#line 19 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	gtk_toggle_button_set_active (_tmp2_, TRUE);
#line 20 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp3_ = self->priv->all_button;
#line 20 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	boxes_collection_filter_switcher_activate_button (self, _tmp3_);
#line 21 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp4_ = boxes_app_app;
#line 21 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	boxes_app_call_when_ready (_tmp4_, _boxes_collection_filter_switcher_on_app_ready_boxes_app_call_ready_func, g_object_ref (self), g_object_unref);
#line 23 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp5_ = window;
#line 23 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	boxes_app_window_foreach_view (_tmp5_, ___lambda10__gfunc, self);
#line 272 "collection-filter-switcher.c"
}


static gboolean _boxes_collection_filter_switcher_local_filter_func_boxes_collection_filter_func (BoxesCollectionItem* item, gpointer self) {
	gboolean result;
	result = boxes_collection_filter_switcher_local_filter_func ((BoxesCollectionFilterSwitcher*) self, item);
#line 30 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	return result;
#line 281 "collection-filter-switcher.c"
}


static gboolean _boxes_collection_filter_switcher_remote_filter_func_boxes_collection_filter_func (BoxesCollectionItem* item, gpointer self) {
	gboolean result;
	result = boxes_collection_filter_switcher_remote_filter_func ((BoxesCollectionFilterSwitcher*) self, item);
#line 32 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	return result;
#line 290 "collection-filter-switcher.c"
}


static BoxesCollectionFilterFunc boxes_collection_filter_switcher_get_filter_func (BoxesCollectionFilterSwitcher* self, void** result_target) {
	BoxesCollectionFilterFunc result = NULL;
	GtkToggleButton* _tmp0_;
	GtkToggleButton* _tmp1_;
	GtkToggleButton* _tmp3_;
	GtkToggleButton* _tmp4_;
	GtkToggleButton* _tmp6_;
	GtkToggleButton* _tmp7_;
#line 26 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 27 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp0_ = self->priv->active_button;
#line 27 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp1_ = self->priv->all_button;
#line 27 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	if (_tmp0_ == _tmp1_) {
#line 310 "collection-filter-switcher.c"
		BoxesCollectionFilterFunc _tmp2_;
		void* _tmp2__target;
#line 28 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp2_ = NULL;
#line 28 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp2__target = NULL;
#line 28 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		*result_target = _tmp2__target;
#line 28 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		result = _tmp2_;
#line 28 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		return result;
#line 323 "collection-filter-switcher.c"
	}
#line 29 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp3_ = self->priv->active_button;
#line 29 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp4_ = self->priv->local_button;
#line 29 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	if (_tmp3_ == _tmp4_) {
#line 331 "collection-filter-switcher.c"
		BoxesCollectionFilterFunc _tmp5_;
		void* _tmp5__target;
#line 30 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp5_ = _boxes_collection_filter_switcher_local_filter_func_boxes_collection_filter_func;
#line 30 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp5__target = self;
#line 30 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		*result_target = _tmp5__target;
#line 30 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		result = _tmp5_;
#line 30 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		return result;
#line 344 "collection-filter-switcher.c"
	}
#line 31 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp6_ = self->priv->active_button;
#line 31 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp7_ = self->priv->remote_button;
#line 31 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	if (_tmp6_ == _tmp7_) {
#line 352 "collection-filter-switcher.c"
		BoxesCollectionFilterFunc _tmp8_;
		void* _tmp8__target;
#line 32 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp8_ = _boxes_collection_filter_switcher_remote_filter_func_boxes_collection_filter_func;
#line 32 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp8__target = self;
#line 32 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		*result_target = _tmp8__target;
#line 32 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		result = _tmp8_;
#line 32 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		return result;
#line 365 "collection-filter-switcher.c"
	} else {
		BoxesCollectionFilterFunc _tmp9_;
		void* _tmp9__target;
#line 34 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp9_ = NULL;
#line 34 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp9__target = NULL;
#line 34 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		*result_target = _tmp9__target;
#line 34 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		result = _tmp9_;
#line 34 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		return result;
#line 379 "collection-filter-switcher.c"
	}
}


static gboolean boxes_collection_filter_switcher_local_filter_func (BoxesCollectionFilterSwitcher* self, BoxesCollectionItem* item) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	BoxesCollectionItem* _tmp1_;
#line 37 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 37 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_return_val_if_fail (item != NULL, FALSE);
#line 38 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp1_ = item;
#line 38 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, BOXES_TYPE_MACHINE)) {
#line 396 "collection-filter-switcher.c"
		BoxesCollectionItem* _tmp2_;
		gboolean _tmp3_;
		gboolean _tmp4_;
#line 38 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp2_ = item;
#line 38 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp3_ = boxes_machine_get_is_local (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp2_) : NULL);
#line 38 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp4_ = _tmp3_;
#line 38 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp0_ = _tmp4_;
#line 408 "collection-filter-switcher.c"
	} else {
#line 38 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp0_ = FALSE;
#line 412 "collection-filter-switcher.c"
	}
#line 38 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	result = _tmp0_;
#line 38 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	return result;
#line 418 "collection-filter-switcher.c"
}


static gboolean boxes_collection_filter_switcher_remote_filter_func (BoxesCollectionFilterSwitcher* self, BoxesCollectionItem* item) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	BoxesCollectionItem* _tmp1_;
#line 41 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 41 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_return_val_if_fail (item != NULL, FALSE);
#line 42 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp1_ = item;
#line 42 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, BOXES_TYPE_MACHINE)) {
#line 434 "collection-filter-switcher.c"
		BoxesCollectionItem* _tmp2_;
		gboolean _tmp3_;
		gboolean _tmp4_;
#line 42 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp2_ = item;
#line 42 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp3_ = boxes_machine_get_is_local (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp2_) : NULL);
#line 42 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp4_ = _tmp3_;
#line 42 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp0_ = !_tmp4_;
#line 446 "collection-filter-switcher.c"
	} else {
#line 42 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp0_ = FALSE;
#line 450 "collection-filter-switcher.c"
	}
#line 42 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	result = _tmp0_;
#line 42 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	return result;
#line 456 "collection-filter-switcher.c"
}


static void _boxes_collection_filter_switcher_update_sensitivity_boxes_collection_item_added (BoxesCollection* _sender, BoxesCollectionItem* item, gpointer self) {
#line 48 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	boxes_collection_filter_switcher_update_sensitivity ((BoxesCollectionFilterSwitcher*) self);
#line 463 "collection-filter-switcher.c"
}


static void _boxes_collection_filter_switcher_update_sensitivity_boxes_collection_item_removed (BoxesCollection* _sender, BoxesCollectionItem* item, gpointer self) {
#line 49 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	boxes_collection_filter_switcher_update_sensitivity ((BoxesCollectionFilterSwitcher*) self);
#line 470 "collection-filter-switcher.c"
}


static void boxes_collection_filter_switcher_on_app_ready (BoxesCollectionFilterSwitcher* self) {
	BoxesApp* _tmp0_;
	BoxesCollection* _tmp1_;
	BoxesApp* _tmp2_;
	BoxesCollection* _tmp3_;
#line 45 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_return_if_fail (self != NULL);
#line 46 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	boxes_collection_filter_switcher_update_sensitivity (self);
#line 48 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp0_ = boxes_app_app;
#line 48 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp1_ = _tmp0_->collection;
#line 48 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_signal_connect_object (_tmp1_, "item-added", (GCallback) _boxes_collection_filter_switcher_update_sensitivity_boxes_collection_item_added, self, 0);
#line 49 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp2_ = boxes_app_app;
#line 49 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp3_ = _tmp2_->collection;
#line 49 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_signal_connect_object (_tmp3_, "item-removed", (GCallback) _boxes_collection_filter_switcher_update_sensitivity_boxes_collection_item_removed, self, 0);
#line 495 "collection-filter-switcher.c"
}


static gint g_ptr_array_get_length (GPtrArray* self) {
	gint result;
	guint _tmp0_;
#line 4973 "/home/fborges/jhbuild/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, 0);
#line 4973 "/home/fborges/jhbuild/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp0_ = self->len;
#line 4973 "/home/fborges/jhbuild/install/share/vala-0.38/vapi/glib-2.0.vapi"
	result = (gint) _tmp0_;
#line 4973 "/home/fborges/jhbuild/install/share/vala-0.38/vapi/glib-2.0.vapi"
	return result;
#line 510 "collection-filter-switcher.c"
}


static void g_ptr_array_set_length (GPtrArray* self, gint value) {
	gint _tmp0_;
#line 4974 "/home/fborges/jhbuild/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_return_if_fail (self != NULL);
#line 4974 "/home/fborges/jhbuild/install/share/vala-0.38/vapi/glib-2.0.vapi"
	_tmp0_ = value;
#line 4974 "/home/fborges/jhbuild/install/share/vala-0.38/vapi/glib-2.0.vapi"
	g_ptr_array_set_size (self, _tmp0_);
#line 522 "collection-filter-switcher.c"
}


static void boxes_collection_filter_switcher_update_sensitivity (BoxesCollectionFilterSwitcher* self) {
	BoxesApp* _tmp0_;
	BoxesCollection* _tmp1_;
	GPtrArray* _tmp2_;
	gint _tmp3_;
	gint _tmp4_;
#line 52 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_return_if_fail (self != NULL);
#line 53 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp0_ = boxes_app_app;
#line 53 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp1_ = _tmp0_->collection;
#line 53 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp2_ = _tmp1_->items;
#line 53 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp3_ = g_ptr_array_get_length (_tmp2_);
#line 53 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp4_ = _tmp3_;
#line 53 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	gtk_widget_set_sensitive ((GtkWidget*) self, _tmp4_ != 0);
#line 546 "collection-filter-switcher.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 62 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	return self ? g_object_ref (self) : NULL;
#line 553 "collection-filter-switcher.c"
}


static void __lambda8_ (BoxesCollectionFilterSwitcher* self, BoxesICollectionView* view) {
	BoxesICollectionView* _tmp0_;
	BoxesCollectionFilter* _tmp1_;
	BoxesCollectionFilter* _tmp2_;
	void* _tmp3_;
	BoxesCollectionFilterFunc _tmp4_;
#line 70 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_return_if_fail (view != NULL);
#line 70 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp0_ = view;
#line 70 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp1_ = boxes_icollection_view_get_filter (_tmp0_);
#line 70 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp2_ = _tmp1_;
#line 70 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp4_ = boxes_collection_filter_switcher_get_filter_func (self, &_tmp3_);
#line 70 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	boxes_collection_filter_set_filter_func (_tmp2_, _tmp4_, _tmp3_);
#line 575 "collection-filter-switcher.c"
}


static void ___lambda8__gfunc (gconstpointer data, gpointer self) {
#line 70 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	__lambda8_ ((BoxesCollectionFilterSwitcher*) self, (BoxesICollectionView*) data);
#line 582 "collection-filter-switcher.c"
}


static void boxes_collection_filter_switcher_activate_button (BoxesCollectionFilterSwitcher* self, GtkToggleButton* button) {
	GtkToggleButton* _tmp0_;
	GtkToggleButton* _tmp1_;
	GtkToggleButton* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	GList* _tmp7_;
	BoxesAppWindow* _tmp14_;
#line 57 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_return_if_fail (self != NULL);
#line 57 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_return_if_fail (button != NULL);
#line 58 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp0_ = button;
#line 58 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp1_ = self->priv->active_button;
#line 58 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	if (_tmp0_ == _tmp1_) {
#line 59 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		return;
#line 606 "collection-filter-switcher.c"
	}
#line 61 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp2_ = button;
#line 61 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp3_ = gtk_toggle_button_get_active (_tmp2_);
#line 61 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp4_ = _tmp3_;
#line 61 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	if (_tmp4_) {
#line 616 "collection-filter-switcher.c"
		GtkToggleButton* _tmp5_;
		GtkToggleButton* _tmp6_;
#line 62 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp5_ = button;
#line 62 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_tmp6_ = _g_object_ref0 (_tmp5_);
#line 62 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_g_object_unref0 (self->priv->active_button);
#line 62 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		self->priv->active_button = _tmp6_;
#line 627 "collection-filter-switcher.c"
	}
#line 64 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp7_ = gtk_container_get_children ((GtkContainer*) self);
#line 631 "collection-filter-switcher.c"
	{
		GList* child_collection = NULL;
		GList* child_it = NULL;
#line 64 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		child_collection = _tmp7_;
#line 64 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		for (child_it = child_collection; child_it != NULL; child_it = child_it->next) {
#line 639 "collection-filter-switcher.c"
			GtkWidget* child = NULL;
#line 64 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
			child = (GtkWidget*) child_it->data;
#line 643 "collection-filter-switcher.c"
			{
				GtkToggleButton* toggle_button = NULL;
				GtkWidget* _tmp8_;
				GtkToggleButton* _tmp9_;
				GtkToggleButton* _tmp10_;
#line 65 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
				_tmp8_ = child;
#line 65 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
				_tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, gtk_toggle_button_get_type ()) ? ((GtkToggleButton*) _tmp8_) : NULL);
#line 65 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
				toggle_button = _tmp9_;
#line 66 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
				_tmp10_ = toggle_button;
#line 66 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
				if (_tmp10_ != NULL) {
#line 659 "collection-filter-switcher.c"
					GtkToggleButton* _tmp11_;
					GtkToggleButton* _tmp12_;
					GtkToggleButton* _tmp13_;
#line 67 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
					_tmp11_ = toggle_button;
#line 67 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
					_tmp12_ = toggle_button;
#line 67 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
					_tmp13_ = self->priv->active_button;
#line 67 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
					gtk_toggle_button_set_active (_tmp11_, _tmp12_ == _tmp13_);
#line 671 "collection-filter-switcher.c"
				}
#line 64 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
				_g_object_unref0 (toggle_button);
#line 675 "collection-filter-switcher.c"
			}
		}
#line 64 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
		_g_list_free0 (child_collection);
#line 680 "collection-filter-switcher.c"
	}
#line 70 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_tmp14_ = self->priv->window;
#line 70 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	boxes_app_window_foreach_view (_tmp14_, ___lambda8__gfunc, self);
#line 686 "collection-filter-switcher.c"
}


static void _boxes_collection_filter_switcher_activate_button_gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) {
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	boxes_collection_filter_switcher_activate_button ((BoxesCollectionFilterSwitcher*) self, _sender);
#line 693 "collection-filter-switcher.c"
}


BoxesCollectionFilterSwitcher* boxes_collection_filter_switcher_construct (GType object_type) {
	BoxesCollectionFilterSwitcher * self = NULL;
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	self = (BoxesCollectionFilterSwitcher*) g_object_new (object_type, NULL);
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	return self;
#line 703 "collection-filter-switcher.c"
}


BoxesCollectionFilterSwitcher* boxes_collection_filter_switcher_new (void) {
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	return boxes_collection_filter_switcher_construct (BOXES_TYPE_COLLECTION_FILTER_SWITCHER);
#line 710 "collection-filter-switcher.c"
}


static void boxes_collection_filter_switcher_class_init (BoxesCollectionFilterSwitcherClass * klass) {
	gint BoxesCollectionFilterSwitcher_private_offset;
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	boxes_collection_filter_switcher_parent_class = g_type_class_peek_parent (klass);
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	g_type_class_add_private (klass, sizeof (BoxesCollectionFilterSwitcherPrivate));
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_collection_filter_switcher_finalize;
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	BoxesCollectionFilterSwitcher_private_offset = g_type_class_get_instance_private_offset (klass);
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Boxes/ui/collection-filter-switcher.ui");
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "all_button", FALSE, BoxesCollectionFilterSwitcher_private_offset + G_STRUCT_OFFSET (BoxesCollectionFilterSwitcherPrivate, all_button));
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "local_button", FALSE, BoxesCollectionFilterSwitcher_private_offset + G_STRUCT_OFFSET (BoxesCollectionFilterSwitcherPrivate, local_button));
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "remote_button", FALSE, BoxesCollectionFilterSwitcher_private_offset + G_STRUCT_OFFSET (BoxesCollectionFilterSwitcherPrivate, remote_button));
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "activate_button", G_CALLBACK(_boxes_collection_filter_switcher_activate_button_gtk_toggle_button_toggled));
#line 734 "collection-filter-switcher.c"
}


static void boxes_collection_filter_switcher_instance_init (BoxesCollectionFilterSwitcher * self) {
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	self->priv = BOXES_COLLECTION_FILTER_SWITCHER_GET_PRIVATE (self);
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	gtk_widget_init_template (GTK_WIDGET (self));
#line 743 "collection-filter-switcher.c"
}


static void boxes_collection_filter_switcher_finalize (GObject * obj) {
	BoxesCollectionFilterSwitcher * self;
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_COLLECTION_FILTER_SWITCHER, BoxesCollectionFilterSwitcher);
#line 6 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_g_object_unref0 (self->priv->all_button);
#line 8 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_g_object_unref0 (self->priv->local_button);
#line 10 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_g_object_unref0 (self->priv->remote_button);
#line 12 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	_g_object_unref0 (self->priv->active_button);
#line 4 "/home/fborges/checkout/gnome-boxes/src/collection-filter-switcher.vala"
	G_OBJECT_CLASS (boxes_collection_filter_switcher_parent_class)->finalize (obj);
#line 761 "collection-filter-switcher.c"
}


GType boxes_collection_filter_switcher_get_type (void) {
	static volatile gsize boxes_collection_filter_switcher_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_collection_filter_switcher_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesCollectionFilterSwitcherClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_collection_filter_switcher_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesCollectionFilterSwitcher), 0, (GInstanceInitFunc) boxes_collection_filter_switcher_instance_init, NULL };
		GType boxes_collection_filter_switcher_type_id;
		boxes_collection_filter_switcher_type_id = g_type_register_static (gtk_button_box_get_type (), "BoxesCollectionFilterSwitcher", &g_define_type_info, 0);
		g_once_init_leave (&boxes_collection_filter_switcher_type_id__volatile, boxes_collection_filter_switcher_type_id);
	}
	return boxes_collection_filter_switcher_type_id__volatile;
}



