/* interfaces.c generated by valac 0.56.17, the Vala compiler
 * generated from interfaces.vala, do not modify */

/*
 * Copyright (C) 2010 Michal Hruby <michal.mhr@gmail.com>
 * Copyright (C) 2010 Alberto Aldegheri <albyrock87+dev@gmail.com>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Authored by Alberto Aldegheri <albyrock87+dev@gmail.com>
 *
 */

#include <glib-object.h>
#include <gdk/gdk.h>
#include <glib.h>
#include <synapse-core.h>
#include <stdlib.h>
#include <string.h>
#include <gee.h>
#include <gobject/gvaluecollector.h>

#define SYNAPSE_GUI_ICONTROLLER_RESULTS_PER_PAGE 5
#define SYNAPSE_GUI_ICONTROLLER_PARTIAL_RESULT_TIMEOUT 120
#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

typedef enum  {
	SYNAPSE_GUI_SEARCHING_FOR_SOURCES,
	SYNAPSE_GUI_SEARCHING_FOR_ACTIONS,
	SYNAPSE_GUI_SEARCHING_FOR_TARGETS,
	SYNAPSE_GUI_SEARCHING_FOR_COUNT
} SynapseGuiSearchingFor;

#define SYNAPSE_GUI_TYPE_SEARCHING_FOR (synapse_gui_searching_for_get_type ())

#define SYNAPSE_GUI_TYPE_ICONTROLLER (synapse_gui_icontroller_get_type ())
#define SYNAPSE_GUI_ICONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_ICONTROLLER, SynapseGuiIController))
#define SYNAPSE_GUI_IS_ICONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_ICONTROLLER))
#define SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SYNAPSE_GUI_TYPE_ICONTROLLER, SynapseGuiIControllerIface))

typedef struct _SynapseGuiIController SynapseGuiIController;
typedef struct _SynapseGuiIControllerIface SynapseGuiIControllerIface;

#define SYNAPSE_GUI_TYPE_KEY_COMBO_CONFIG (synapse_gui_key_combo_config_get_type ())
#define SYNAPSE_GUI_KEY_COMBO_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_KEY_COMBO_CONFIG, SynapseGuiKeyComboConfig))
#define SYNAPSE_GUI_KEY_COMBO_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_KEY_COMBO_CONFIG, SynapseGuiKeyComboConfigClass))
#define SYNAPSE_GUI_IS_KEY_COMBO_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_KEY_COMBO_CONFIG))
#define SYNAPSE_GUI_IS_KEY_COMBO_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_KEY_COMBO_CONFIG))
#define SYNAPSE_GUI_KEY_COMBO_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_KEY_COMBO_CONFIG, SynapseGuiKeyComboConfigClass))

typedef struct _SynapseGuiKeyComboConfig SynapseGuiKeyComboConfig;
typedef struct _SynapseGuiKeyComboConfigClass SynapseGuiKeyComboConfigClass;

#define SYNAPSE_GUI_TYPE_CATEGORY_CONFIG (synapse_gui_category_config_get_type ())
#define SYNAPSE_GUI_CATEGORY_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_CATEGORY_CONFIG, SynapseGuiCategoryConfig))
#define SYNAPSE_GUI_CATEGORY_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_CATEGORY_CONFIG, SynapseGuiCategoryConfigClass))
#define SYNAPSE_GUI_IS_CATEGORY_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_CATEGORY_CONFIG))
#define SYNAPSE_GUI_IS_CATEGORY_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_CATEGORY_CONFIG))
#define SYNAPSE_GUI_CATEGORY_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_CATEGORY_CONFIG, SynapseGuiCategoryConfigClass))

typedef struct _SynapseGuiCategoryConfig SynapseGuiCategoryConfig;
typedef struct _SynapseGuiCategoryConfigClass SynapseGuiCategoryConfigClass;
enum  {
	SYNAPSE_GUI_ICONTROLLER_SHOW_SETTINGS_REQUESTED_SIGNAL,
	SYNAPSE_GUI_ICONTROLLER_HANDLE_RECENT_ACTIVITIES_SIGNAL,
	SYNAPSE_GUI_ICONTROLLER_NUM_SIGNALS
};
static guint synapse_gui_icontroller_signals[SYNAPSE_GUI_ICONTROLLER_NUM_SIGNALS] = {0};

#define SYNAPSE_GUI_TYPE_IVIEW (synapse_gui_iview_get_type ())
#define SYNAPSE_GUI_IVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_IVIEW, SynapseGuiIView))
#define SYNAPSE_GUI_IS_IVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_IVIEW))
#define SYNAPSE_GUI_IVIEW_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SYNAPSE_GUI_TYPE_IVIEW, SynapseGuiIViewIface))

typedef struct _SynapseGuiIView SynapseGuiIView;
typedef struct _SynapseGuiIViewIface SynapseGuiIViewIface;

#define SYNAPSE_GUI_TYPE_ENTRY (synapse_gui_entry_get_type ())
#define SYNAPSE_GUI_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_ENTRY, SynapseGuiEntry))
#define SYNAPSE_GUI_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_ENTRY, SynapseGuiEntryClass))
#define SYNAPSE_GUI_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_ENTRY))
#define SYNAPSE_GUI_IS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_ENTRY))
#define SYNAPSE_GUI_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_ENTRY, SynapseGuiEntryClass))

typedef struct _SynapseGuiEntry SynapseGuiEntry;
typedef struct _SynapseGuiEntryClass SynapseGuiEntryClass;

#define SYNAPSE_GUI_TYPE_MODEL (synapse_gui_model_get_type ())
#define SYNAPSE_GUI_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_MODEL, SynapseGuiModel))
#define SYNAPSE_GUI_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_MODEL, SynapseGuiModelClass))
#define SYNAPSE_GUI_IS_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_MODEL))
#define SYNAPSE_GUI_IS_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_MODEL))
#define SYNAPSE_GUI_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_MODEL, SynapseGuiModelClass))

typedef struct _SynapseGuiModel SynapseGuiModel;
typedef struct _SynapseGuiModelClass SynapseGuiModelClass;
enum  {
	SYNAPSE_GUI_IVIEW_SUMMONED_SIGNAL,
	SYNAPSE_GUI_IVIEW_VANISHED_SIGNAL,
	SYNAPSE_GUI_IVIEW_NUM_SIGNALS
};
static guint synapse_gui_iview_signals[SYNAPSE_GUI_IVIEW_NUM_SIGNALS] = {0};
typedef struct _SynapseGuiEntryPrivate SynapseGuiEntryPrivate;
typedef struct _SynapseGuiParamSpecEntry SynapseGuiParamSpecEntry;

struct _SynapseGuiIControllerIface {
	GTypeInterface parent_iface;
	void (*key_press_event) (SynapseGuiIController* self, GdkEventKey* event);
	void (*category_changed_event) (SynapseGuiIController* self, gint category_index);
	void (*fire_focus_context_switch_event) (SynapseGuiIController* self);
	void (*fire_focus) (SynapseGuiIController* self);
	void (*selected_index_changed_event) (SynapseGuiIController* self, gint focus_index);
	void (*set_view) (SynapseGuiIController* self, GType view_type);
	void (*summon_or_vanish) (SynapseGuiIController* self);
	gboolean (*is_in_initial_state) (SynapseGuiIController* self);
	gboolean (*searched_for_recent) (SynapseGuiIController* self);
	SynapseDataSink* (*get_data_sink) (SynapseGuiIController* self);
	void (*set_data_sink) (SynapseGuiIController* self, SynapseDataSink* value);
	SynapseGuiKeyComboConfig* (*get_key_combo_config) (SynapseGuiIController* self);
	void (*set_key_combo_config) (SynapseGuiIController* self, SynapseGuiKeyComboConfig* value);
	SynapseGuiCategoryConfig* (*get_category_config) (SynapseGuiIController* self);
	void (*set_category_config) (SynapseGuiIController* self, SynapseGuiCategoryConfig* value);
};

struct _SynapseGuiIViewIface {
	GTypeInterface parent_iface;
	void (*summon) (SynapseGuiIView* self);
	void (*vanish) (SynapseGuiIView* self);
	void (*summon_or_vanish) (SynapseGuiIView* self);
	void (*update_focused_source) (SynapseGuiIView* self, SynapseGuiEntry* m);
	void (*update_focused_action) (SynapseGuiIView* self, SynapseGuiEntry* m);
	void (*update_focused_target) (SynapseGuiIView* self, SynapseGuiEntry* m);
	void (*update_sources) (SynapseGuiIView* self, GeeList* list);
	void (*update_actions) (SynapseGuiIView* self, GeeList* list);
	void (*update_targets) (SynapseGuiIView* self, GeeList* list);
	void (*update_selected_category) (SynapseGuiIView* self);
	void (*update_searching_for) (SynapseGuiIView* self);
	gboolean (*is_list_visible) (SynapseGuiIView* self);
	void (*set_list_visible) (SynapseGuiIView* self, gboolean visible);
	void (*set_throbber_visible) (SynapseGuiIView* self, gboolean visible);
	SynapseGuiModel* (*get_controller_model) (SynapseGuiIView* self);
	void (*set_controller_model) (SynapseGuiIView* self, SynapseGuiModel* value);
	SynapseGuiIController* (*get_controller) (SynapseGuiIView* self);
	void (*set_controller) (SynapseGuiIView* self, SynapseGuiIController* value);
};

struct _SynapseGuiEntry {
	GTypeInstance parent_instance;
	volatile int ref_count;
	SynapseGuiEntryPrivate * priv;
};

struct _SynapseGuiEntryClass {
	GTypeClass parent_class;
	void (*finalize) (SynapseGuiEntry *self);
};

struct _SynapseGuiEntryPrivate {
	GType k_type;
	GBoxedCopyFunc k_dup_func;
	GDestroyNotify k_destroy_func;
	GType v_type;
	GBoxedCopyFunc v_dup_func;
	GDestroyNotify v_destroy_func;
	gpointer _key;
	gpointer _value;
};

struct _SynapseGuiParamSpecEntry {
	GParamSpec parent_instance;
};

VALA_EXTERN gchar* synapse_gui_icontroller_SEARCHING;
gchar* synapse_gui_icontroller_SEARCHING = NULL;
VALA_EXTERN gchar* synapse_gui_icontroller_NO_RESULTS;
gchar* synapse_gui_icontroller_NO_RESULTS = NULL;
VALA_EXTERN gchar* synapse_gui_icontroller_NO_RECENT_ACTIVITIES;
gchar* synapse_gui_icontroller_NO_RECENT_ACTIVITIES = NULL;
VALA_EXTERN gchar* synapse_gui_icontroller_TYPE_TO_SEARCH;
gchar* synapse_gui_icontroller_TYPE_TO_SEARCH = NULL;
VALA_EXTERN gchar* synapse_gui_icontroller_DOWN_TO_SEE_RECENT;
gchar* synapse_gui_icontroller_DOWN_TO_SEE_RECENT = NULL;
static gint SynapseGuiEntry_private_offset;
static gpointer synapse_gui_entry_parent_class = NULL;

VALA_EXTERN GType synapse_gui_searching_for_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType synapse_gui_key_combo_config_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiKeyComboConfig, g_object_unref)
VALA_EXTERN GType synapse_gui_category_config_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiCategoryConfig, g_object_unref)
VALA_EXTERN GType synapse_gui_icontroller_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiIController, g_object_unref)
VALA_EXTERN void synapse_gui_icontroller_key_press_event (SynapseGuiIController* self,
                                              GdkEventKey* event);
VALA_EXTERN void synapse_gui_icontroller_category_changed_event (SynapseGuiIController* self,
                                                     gint category_index);
VALA_EXTERN void synapse_gui_icontroller_fire_focus_context_switch_event (SynapseGuiIController* self);
VALA_EXTERN void synapse_gui_icontroller_fire_focus (SynapseGuiIController* self);
VALA_EXTERN void synapse_gui_icontroller_selected_index_changed_event (SynapseGuiIController* self,
                                                           gint focus_index);
VALA_EXTERN void synapse_gui_icontroller_set_view (SynapseGuiIController* self,
                                       GType view_type);
VALA_EXTERN void synapse_gui_icontroller_summon_or_vanish (SynapseGuiIController* self);
VALA_EXTERN gboolean synapse_gui_icontroller_is_in_initial_state (SynapseGuiIController* self);
VALA_EXTERN gboolean synapse_gui_icontroller_searched_for_recent (SynapseGuiIController* self);
VALA_EXTERN SynapseDataSink* synapse_gui_icontroller_get_data_sink (SynapseGuiIController* self);
VALA_EXTERN void synapse_gui_icontroller_set_data_sink (SynapseGuiIController* self,
                                            SynapseDataSink* value);
VALA_EXTERN SynapseGuiKeyComboConfig* synapse_gui_icontroller_get_key_combo_config (SynapseGuiIController* self);
VALA_EXTERN void synapse_gui_icontroller_set_key_combo_config (SynapseGuiIController* self,
                                                   SynapseGuiKeyComboConfig* value);
VALA_EXTERN SynapseGuiCategoryConfig* synapse_gui_icontroller_get_category_config (SynapseGuiIController* self);
VALA_EXTERN void synapse_gui_icontroller_set_category_config (SynapseGuiIController* self,
                                                  SynapseGuiCategoryConfig* value);
static GType synapse_gui_icontroller_get_type_once (void);
VALA_EXTERN gpointer synapse_gui_entry_ref (gpointer instance);
VALA_EXTERN void synapse_gui_entry_unref (gpointer instance);
VALA_EXTERN GParamSpec* synapse_gui_param_spec_entry (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
VALA_EXTERN void synapse_gui_value_set_entry (GValue* value,
                                  gpointer v_object);
VALA_EXTERN void synapse_gui_value_take_entry (GValue* value,
                                   gpointer v_object);
VALA_EXTERN gpointer synapse_gui_value_get_entry (const GValue* value);
VALA_EXTERN GType synapse_gui_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiEntry, synapse_gui_entry_unref)
VALA_EXTERN GType synapse_gui_model_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiModel, g_object_unref)
VALA_EXTERN GType synapse_gui_iview_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiIView, g_object_unref)
VALA_EXTERN void synapse_gui_iview_summon (SynapseGuiIView* self);
VALA_EXTERN void synapse_gui_iview_vanish (SynapseGuiIView* self);
VALA_EXTERN void synapse_gui_iview_summon_or_vanish (SynapseGuiIView* self);
VALA_EXTERN void synapse_gui_iview_update_focused_source (SynapseGuiIView* self,
                                              SynapseGuiEntry* m);
VALA_EXTERN void synapse_gui_iview_update_focused_action (SynapseGuiIView* self,
                                              SynapseGuiEntry* m);
VALA_EXTERN void synapse_gui_iview_update_focused_target (SynapseGuiIView* self,
                                              SynapseGuiEntry* m);
VALA_EXTERN void synapse_gui_iview_update_sources (SynapseGuiIView* self,
                                       GeeList* list);
VALA_EXTERN void synapse_gui_iview_update_actions (SynapseGuiIView* self,
                                       GeeList* list);
VALA_EXTERN void synapse_gui_iview_update_targets (SynapseGuiIView* self,
                                       GeeList* list);
VALA_EXTERN void synapse_gui_iview_update_selected_category (SynapseGuiIView* self);
VALA_EXTERN void synapse_gui_iview_update_searching_for (SynapseGuiIView* self);
VALA_EXTERN gboolean synapse_gui_iview_is_list_visible (SynapseGuiIView* self);
VALA_EXTERN void synapse_gui_iview_set_list_visible (SynapseGuiIView* self,
                                         gboolean visible);
VALA_EXTERN void synapse_gui_iview_set_throbber_visible (SynapseGuiIView* self,
                                             gboolean visible);
VALA_EXTERN SynapseGuiModel* synapse_gui_iview_get_controller_model (SynapseGuiIView* self);
VALA_EXTERN void synapse_gui_iview_set_controller_model (SynapseGuiIView* self,
                                             SynapseGuiModel* value);
VALA_EXTERN SynapseGuiIController* synapse_gui_iview_get_controller (SynapseGuiIView* self);
VALA_EXTERN void synapse_gui_iview_set_controller (SynapseGuiIView* self,
                                       SynapseGuiIController* value);
static GType synapse_gui_iview_get_type_once (void);
VALA_EXTERN SynapseGuiEntry* synapse_gui_entry_new (GType k_type,
                                        GBoxedCopyFunc k_dup_func,
                                        GDestroyNotify k_destroy_func,
                                        GType v_type,
                                        GBoxedCopyFunc v_dup_func,
                                        GDestroyNotify v_destroy_func);
VALA_EXTERN SynapseGuiEntry* synapse_gui_entry_construct (GType object_type,
                                              GType k_type,
                                              GBoxedCopyFunc k_dup_func,
                                              GDestroyNotify k_destroy_func,
                                              GType v_type,
                                              GBoxedCopyFunc v_dup_func,
                                              GDestroyNotify v_destroy_func);
VALA_EXTERN SynapseGuiEntry* synapse_gui_entry_new_kv (GType k_type,
                                           GBoxedCopyFunc k_dup_func,
                                           GDestroyNotify k_destroy_func,
                                           GType v_type,
                                           GBoxedCopyFunc v_dup_func,
                                           GDestroyNotify v_destroy_func,
                                           gconstpointer key,
                                           gconstpointer value);
VALA_EXTERN SynapseGuiEntry* synapse_gui_entry_construct_kv (GType object_type,
                                                 GType k_type,
                                                 GBoxedCopyFunc k_dup_func,
                                                 GDestroyNotify k_destroy_func,
                                                 GType v_type,
                                                 GBoxedCopyFunc v_dup_func,
                                                 GDestroyNotify v_destroy_func,
                                                 gconstpointer key,
                                                 gconstpointer value);
VALA_EXTERN void synapse_gui_entry_set_key (SynapseGuiEntry* self,
                                gconstpointer value);
VALA_EXTERN void synapse_gui_entry_set_value (SynapseGuiEntry* self,
                                  gconstpointer value);
VALA_EXTERN gconstpointer synapse_gui_entry_get_key (SynapseGuiEntry* self);
VALA_EXTERN gconstpointer synapse_gui_entry_get_value (SynapseGuiEntry* self);
static void synapse_gui_entry_finalize (SynapseGuiEntry * obj);
static GType synapse_gui_entry_get_type_once (void);

static GType
synapse_gui_searching_for_get_type_once (void)
{
	static const GEnumValue values[] = {{SYNAPSE_GUI_SEARCHING_FOR_SOURCES, "SYNAPSE_GUI_SEARCHING_FOR_SOURCES", "sources"}, {SYNAPSE_GUI_SEARCHING_FOR_ACTIONS, "SYNAPSE_GUI_SEARCHING_FOR_ACTIONS", "actions"}, {SYNAPSE_GUI_SEARCHING_FOR_TARGETS, "SYNAPSE_GUI_SEARCHING_FOR_TARGETS", "targets"}, {SYNAPSE_GUI_SEARCHING_FOR_COUNT, "SYNAPSE_GUI_SEARCHING_FOR_COUNT", "count"}, {0, NULL, NULL}};
	GType synapse_gui_searching_for_type_id;
	synapse_gui_searching_for_type_id = g_enum_register_static ("SynapseGuiSearchingFor", values);
	return synapse_gui_searching_for_type_id;
}

GType
synapse_gui_searching_for_get_type (void)
{
	static volatile gsize synapse_gui_searching_for_type_id__once = 0;
	if (g_once_init_enter (&synapse_gui_searching_for_type_id__once)) {
		GType synapse_gui_searching_for_type_id;
		synapse_gui_searching_for_type_id = synapse_gui_searching_for_get_type_once ();
		g_once_init_leave (&synapse_gui_searching_for_type_id__once, synapse_gui_searching_for_type_id);
	}
	return synapse_gui_searching_for_type_id__once;
}

void
synapse_gui_icontroller_key_press_event (SynapseGuiIController* self,
                                         GdkEventKey* event)
{
	SynapseGuiIControllerIface* _iface_;
#line 53 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 53 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 53 "interfaces.vala"
	if (_iface_->key_press_event) {
#line 53 "interfaces.vala"
		_iface_->key_press_event (self, event);
#line 364 "interfaces.c"
	}
}

void
synapse_gui_icontroller_category_changed_event (SynapseGuiIController* self,
                                                gint category_index)
{
	SynapseGuiIControllerIface* _iface_;
#line 56 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 56 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 56 "interfaces.vala"
	if (_iface_->category_changed_event) {
#line 56 "interfaces.vala"
		_iface_->category_changed_event (self, category_index);
#line 381 "interfaces.c"
	}
}

void
synapse_gui_icontroller_fire_focus_context_switch_event (SynapseGuiIController* self)
{
	SynapseGuiIControllerIface* _iface_;
#line 59 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 59 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 59 "interfaces.vala"
	if (_iface_->fire_focus_context_switch_event) {
#line 59 "interfaces.vala"
		_iface_->fire_focus_context_switch_event (self);
#line 397 "interfaces.c"
	}
}

void
synapse_gui_icontroller_fire_focus (SynapseGuiIController* self)
{
	SynapseGuiIControllerIface* _iface_;
#line 62 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 62 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 62 "interfaces.vala"
	if (_iface_->fire_focus) {
#line 62 "interfaces.vala"
		_iface_->fire_focus (self);
#line 413 "interfaces.c"
	}
}

void
synapse_gui_icontroller_selected_index_changed_event (SynapseGuiIController* self,
                                                      gint focus_index)
{
	SynapseGuiIControllerIface* _iface_;
#line 66 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 66 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 66 "interfaces.vala"
	if (_iface_->selected_index_changed_event) {
#line 66 "interfaces.vala"
		_iface_->selected_index_changed_event (self, focus_index);
#line 430 "interfaces.c"
	}
}

void
synapse_gui_icontroller_set_view (SynapseGuiIController* self,
                                  GType view_type)
{
	SynapseGuiIControllerIface* _iface_;
#line 69 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 69 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 69 "interfaces.vala"
	if (_iface_->set_view) {
#line 69 "interfaces.vala"
		_iface_->set_view (self, view_type);
#line 447 "interfaces.c"
	}
}

void
synapse_gui_icontroller_summon_or_vanish (SynapseGuiIController* self)
{
	SynapseGuiIControllerIface* _iface_;
#line 72 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 72 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 72 "interfaces.vala"
	if (_iface_->summon_or_vanish) {
#line 72 "interfaces.vala"
		_iface_->summon_or_vanish (self);
#line 463 "interfaces.c"
	}
}

gboolean
synapse_gui_icontroller_is_in_initial_state (SynapseGuiIController* self)
{
	SynapseGuiIControllerIface* _iface_;
#line 75 "interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 75 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 75 "interfaces.vala"
	if (_iface_->is_in_initial_state) {
#line 75 "interfaces.vala"
		return _iface_->is_in_initial_state (self);
#line 479 "interfaces.c"
	}
#line 75 "interfaces.vala"
	return FALSE;
#line 483 "interfaces.c"
}

gboolean
synapse_gui_icontroller_searched_for_recent (SynapseGuiIController* self)
{
	SynapseGuiIControllerIface* _iface_;
#line 78 "interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 78 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 78 "interfaces.vala"
	if (_iface_->searched_for_recent) {
#line 78 "interfaces.vala"
		return _iface_->searched_for_recent (self);
#line 498 "interfaces.c"
	}
#line 78 "interfaces.vala"
	return FALSE;
#line 502 "interfaces.c"
}

SynapseDataSink*
synapse_gui_icontroller_get_data_sink (SynapseGuiIController* self)
{
	SynapseGuiIControllerIface* _iface_;
#line 43 "interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 43 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 43 "interfaces.vala"
	if (_iface_->get_data_sink) {
#line 43 "interfaces.vala"
		return _iface_->get_data_sink (self);
#line 517 "interfaces.c"
	}
#line 43 "interfaces.vala"
	return NULL;
#line 521 "interfaces.c"
}

void
synapse_gui_icontroller_set_data_sink (SynapseGuiIController* self,
                                       SynapseDataSink* value)
{
	SynapseGuiIControllerIface* _iface_;
#line 43 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 43 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 43 "interfaces.vala"
	if (_iface_->set_data_sink) {
#line 43 "interfaces.vala"
		_iface_->set_data_sink (self, value);
#line 537 "interfaces.c"
	}
}

SynapseGuiKeyComboConfig*
synapse_gui_icontroller_get_key_combo_config (SynapseGuiIController* self)
{
	SynapseGuiIControllerIface* _iface_;
#line 44 "interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 44 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 44 "interfaces.vala"
	if (_iface_->get_key_combo_config) {
#line 44 "interfaces.vala"
		return _iface_->get_key_combo_config (self);
#line 553 "interfaces.c"
	}
#line 44 "interfaces.vala"
	return NULL;
#line 557 "interfaces.c"
}

void
synapse_gui_icontroller_set_key_combo_config (SynapseGuiIController* self,
                                              SynapseGuiKeyComboConfig* value)
{
	SynapseGuiIControllerIface* _iface_;
#line 44 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 44 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 44 "interfaces.vala"
	if (_iface_->set_key_combo_config) {
#line 44 "interfaces.vala"
		_iface_->set_key_combo_config (self, value);
#line 573 "interfaces.c"
	}
}

SynapseGuiCategoryConfig*
synapse_gui_icontroller_get_category_config (SynapseGuiIController* self)
{
	SynapseGuiIControllerIface* _iface_;
#line 45 "interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 45 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 45 "interfaces.vala"
	if (_iface_->get_category_config) {
#line 45 "interfaces.vala"
		return _iface_->get_category_config (self);
#line 589 "interfaces.c"
	}
#line 45 "interfaces.vala"
	return NULL;
#line 593 "interfaces.c"
}

void
synapse_gui_icontroller_set_category_config (SynapseGuiIController* self,
                                             SynapseGuiCategoryConfig* value)
{
	SynapseGuiIControllerIface* _iface_;
#line 45 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 45 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE (self);
#line 45 "interfaces.vala"
	if (_iface_->set_category_config) {
#line 45 "interfaces.vala"
		_iface_->set_category_config (self, value);
#line 609 "interfaces.c"
	}
}

static void
synapse_gui_icontroller_default_init (SynapseGuiIControllerIface * iface,
                                      gpointer iface_data)
{
#line 33 "interfaces.vala"
	g_object_interface_install_property (iface, g_param_spec_object ("data-sink", "data-sink", "data-sink", SYNAPSE_TYPE_DATA_SINK, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 33 "interfaces.vala"
	g_object_interface_install_property (iface, g_param_spec_object ("key-combo-config", "key-combo-config", "key-combo-config", SYNAPSE_GUI_TYPE_KEY_COMBO_CONFIG, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 33 "interfaces.vala"
	g_object_interface_install_property (iface, g_param_spec_object ("category-config", "category-config", "category-config", SYNAPSE_GUI_TYPE_CATEGORY_CONFIG, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 33 "interfaces.vala"
	synapse_gui_icontroller_signals[SYNAPSE_GUI_ICONTROLLER_SHOW_SETTINGS_REQUESTED_SIGNAL] = g_signal_new ("show-settings-requested", SYNAPSE_GUI_TYPE_ICONTROLLER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 33 "interfaces.vala"
	synapse_gui_icontroller_signals[SYNAPSE_GUI_ICONTROLLER_HANDLE_RECENT_ACTIVITIES_SIGNAL] = g_signal_new ("handle-recent-activities", SYNAPSE_GUI_TYPE_ICONTROLLER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
#line 627 "interfaces.c"
}

static GType
synapse_gui_icontroller_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseGuiIControllerIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_gui_icontroller_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType synapse_gui_icontroller_type_id;
	synapse_gui_icontroller_type_id = g_type_register_static (G_TYPE_INTERFACE, "SynapseGuiIController", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (synapse_gui_icontroller_type_id, G_TYPE_OBJECT);
	return synapse_gui_icontroller_type_id;
}

GType
synapse_gui_icontroller_get_type (void)
{
	static volatile gsize synapse_gui_icontroller_type_id__once = 0;
	if (g_once_init_enter (&synapse_gui_icontroller_type_id__once)) {
		GType synapse_gui_icontroller_type_id;
		synapse_gui_icontroller_type_id = synapse_gui_icontroller_get_type_once ();
		g_once_init_leave (&synapse_gui_icontroller_type_id__once, synapse_gui_icontroller_type_id);
	}
	return synapse_gui_icontroller_type_id__once;
}

void
synapse_gui_iview_summon (SynapseGuiIView* self)
{
	SynapseGuiIViewIface* _iface_;
#line 91 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 91 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 91 "interfaces.vala"
	if (_iface_->summon) {
#line 91 "interfaces.vala"
		_iface_->summon (self);
#line 664 "interfaces.c"
	}
}

void
synapse_gui_iview_vanish (SynapseGuiIView* self)
{
	SynapseGuiIViewIface* _iface_;
#line 92 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 92 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 92 "interfaces.vala"
	if (_iface_->vanish) {
#line 92 "interfaces.vala"
		_iface_->vanish (self);
#line 680 "interfaces.c"
	}
}

void
synapse_gui_iview_summon_or_vanish (SynapseGuiIView* self)
{
	SynapseGuiIViewIface* _iface_;
#line 93 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 93 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 93 "interfaces.vala"
	if (_iface_->summon_or_vanish) {
#line 93 "interfaces.vala"
		_iface_->summon_or_vanish (self);
#line 696 "interfaces.c"
	}
}

void
synapse_gui_iview_update_focused_source (SynapseGuiIView* self,
                                         SynapseGuiEntry* m)
{
	SynapseGuiIViewIface* _iface_;
#line 98 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 98 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 98 "interfaces.vala"
	if (_iface_->update_focused_source) {
#line 98 "interfaces.vala"
		_iface_->update_focused_source (self, m);
#line 713 "interfaces.c"
	}
}

void
synapse_gui_iview_update_focused_action (SynapseGuiIView* self,
                                         SynapseGuiEntry* m)
{
	SynapseGuiIViewIface* _iface_;
#line 99 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 99 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 99 "interfaces.vala"
	if (_iface_->update_focused_action) {
#line 99 "interfaces.vala"
		_iface_->update_focused_action (self, m);
#line 730 "interfaces.c"
	}
}

void
synapse_gui_iview_update_focused_target (SynapseGuiIView* self,
                                         SynapseGuiEntry* m)
{
	SynapseGuiIViewIface* _iface_;
#line 100 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 100 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 100 "interfaces.vala"
	if (_iface_->update_focused_target) {
#line 100 "interfaces.vala"
		_iface_->update_focused_target (self, m);
#line 747 "interfaces.c"
	}
}

void
synapse_gui_iview_update_sources (SynapseGuiIView* self,
                                  GeeList* list)
{
	SynapseGuiIViewIface* _iface_;
#line 102 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 102 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 102 "interfaces.vala"
	if (_iface_->update_sources) {
#line 102 "interfaces.vala"
		_iface_->update_sources (self, list);
#line 764 "interfaces.c"
	}
}

void
synapse_gui_iview_update_actions (SynapseGuiIView* self,
                                  GeeList* list)
{
	SynapseGuiIViewIface* _iface_;
#line 103 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 103 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 103 "interfaces.vala"
	if (_iface_->update_actions) {
#line 103 "interfaces.vala"
		_iface_->update_actions (self, list);
#line 781 "interfaces.c"
	}
}

void
synapse_gui_iview_update_targets (SynapseGuiIView* self,
                                  GeeList* list)
{
	SynapseGuiIViewIface* _iface_;
#line 104 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 104 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 104 "interfaces.vala"
	if (_iface_->update_targets) {
#line 104 "interfaces.vala"
		_iface_->update_targets (self, list);
#line 798 "interfaces.c"
	}
}

void
synapse_gui_iview_update_selected_category (SynapseGuiIView* self)
{
	SynapseGuiIViewIface* _iface_;
#line 106 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 106 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 106 "interfaces.vala"
	if (_iface_->update_selected_category) {
#line 106 "interfaces.vala"
		_iface_->update_selected_category (self);
#line 814 "interfaces.c"
	}
}

void
synapse_gui_iview_update_searching_for (SynapseGuiIView* self)
{
	SynapseGuiIViewIface* _iface_;
#line 108 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 108 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 108 "interfaces.vala"
	if (_iface_->update_searching_for) {
#line 108 "interfaces.vala"
		_iface_->update_searching_for (self);
#line 830 "interfaces.c"
	}
}

gboolean
synapse_gui_iview_is_list_visible (SynapseGuiIView* self)
{
	SynapseGuiIViewIface* _iface_;
#line 110 "interfaces.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 110 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 110 "interfaces.vala"
	if (_iface_->is_list_visible) {
#line 110 "interfaces.vala"
		return _iface_->is_list_visible (self);
#line 846 "interfaces.c"
	}
#line 110 "interfaces.vala"
	return FALSE;
#line 850 "interfaces.c"
}

void
synapse_gui_iview_set_list_visible (SynapseGuiIView* self,
                                    gboolean visible)
{
	SynapseGuiIViewIface* _iface_;
#line 111 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 111 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 111 "interfaces.vala"
	if (_iface_->set_list_visible) {
#line 111 "interfaces.vala"
		_iface_->set_list_visible (self, visible);
#line 866 "interfaces.c"
	}
}

void
synapse_gui_iview_set_throbber_visible (SynapseGuiIView* self,
                                        gboolean visible)
{
	SynapseGuiIViewIface* _iface_;
#line 112 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 112 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 112 "interfaces.vala"
	if (_iface_->set_throbber_visible) {
#line 112 "interfaces.vala"
		_iface_->set_throbber_visible (self, visible);
#line 883 "interfaces.c"
	}
}

SynapseGuiModel*
synapse_gui_iview_get_controller_model (SynapseGuiIView* self)
{
	SynapseGuiIViewIface* _iface_;
#line 95 "interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 95 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 95 "interfaces.vala"
	if (_iface_->get_controller_model) {
#line 95 "interfaces.vala"
		return _iface_->get_controller_model (self);
#line 899 "interfaces.c"
	}
#line 95 "interfaces.vala"
	return NULL;
#line 903 "interfaces.c"
}

void
synapse_gui_iview_set_controller_model (SynapseGuiIView* self,
                                        SynapseGuiModel* value)
{
	SynapseGuiIViewIface* _iface_;
#line 95 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 95 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 95 "interfaces.vala"
	if (_iface_->set_controller_model) {
#line 95 "interfaces.vala"
		_iface_->set_controller_model (self, value);
#line 919 "interfaces.c"
	}
}

SynapseGuiIController*
synapse_gui_iview_get_controller (SynapseGuiIView* self)
{
	SynapseGuiIViewIface* _iface_;
#line 96 "interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 96 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 96 "interfaces.vala"
	if (_iface_->get_controller) {
#line 96 "interfaces.vala"
		return _iface_->get_controller (self);
#line 935 "interfaces.c"
	}
#line 96 "interfaces.vala"
	return NULL;
#line 939 "interfaces.c"
}

void
synapse_gui_iview_set_controller (SynapseGuiIView* self,
                                  SynapseGuiIController* value)
{
	SynapseGuiIViewIface* _iface_;
#line 96 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 96 "interfaces.vala"
	_iface_ = SYNAPSE_GUI_IVIEW_GET_INTERFACE (self);
#line 96 "interfaces.vala"
	if (_iface_->set_controller) {
#line 96 "interfaces.vala"
		_iface_->set_controller (self, value);
#line 955 "interfaces.c"
	}
}

static void
synapse_gui_iview_default_init (SynapseGuiIViewIface * iface,
                                gpointer iface_data)
{
#line 87 "interfaces.vala"
	g_object_interface_install_property (iface, g_param_spec_object ("controller-model", "controller-model", "controller-model", SYNAPSE_GUI_TYPE_MODEL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 87 "interfaces.vala"
	g_object_interface_install_property (iface, g_param_spec_object ("controller", "controller", "controller", SYNAPSE_GUI_TYPE_ICONTROLLER, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 87 "interfaces.vala"
	synapse_gui_iview_signals[SYNAPSE_GUI_IVIEW_SUMMONED_SIGNAL] = g_signal_new ("summoned", SYNAPSE_GUI_TYPE_IVIEW, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 87 "interfaces.vala"
	synapse_gui_iview_signals[SYNAPSE_GUI_IVIEW_VANISHED_SIGNAL] = g_signal_new ("vanished", SYNAPSE_GUI_TYPE_IVIEW, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 971 "interfaces.c"
}

static GType
synapse_gui_iview_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseGuiIViewIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_gui_iview_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType synapse_gui_iview_type_id;
	synapse_gui_iview_type_id = g_type_register_static (G_TYPE_INTERFACE, "SynapseGuiIView", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (synapse_gui_iview_type_id, G_TYPE_OBJECT);
	return synapse_gui_iview_type_id;
}

GType
synapse_gui_iview_get_type (void)
{
	static volatile gsize synapse_gui_iview_type_id__once = 0;
	if (g_once_init_enter (&synapse_gui_iview_type_id__once)) {
		GType synapse_gui_iview_type_id;
		synapse_gui_iview_type_id = synapse_gui_iview_get_type_once ();
		g_once_init_leave (&synapse_gui_iview_type_id__once, synapse_gui_iview_type_id);
	}
	return synapse_gui_iview_type_id__once;
}

static inline gpointer
synapse_gui_entry_get_instance_private (SynapseGuiEntry* self)
{
	return G_STRUCT_MEMBER_P (self, SynapseGuiEntry_private_offset);
}

SynapseGuiEntry*
synapse_gui_entry_construct (GType object_type,
                             GType k_type,
                             GBoxedCopyFunc k_dup_func,
                             GDestroyNotify k_destroy_func,
                             GType v_type,
                             GBoxedCopyFunc v_dup_func,
                             GDestroyNotify v_destroy_func)
{
	SynapseGuiEntry* self = NULL;
#line 124 "interfaces.vala"
	self = (SynapseGuiEntry*) g_type_create_instance (object_type);
#line 124 "interfaces.vala"
	self->priv->k_type = k_type;
#line 124 "interfaces.vala"
	self->priv->k_dup_func = k_dup_func;
#line 124 "interfaces.vala"
	self->priv->k_destroy_func = k_destroy_func;
#line 124 "interfaces.vala"
	self->priv->v_type = v_type;
#line 124 "interfaces.vala"
	self->priv->v_dup_func = v_dup_func;
#line 124 "interfaces.vala"
	self->priv->v_destroy_func = v_destroy_func;
#line 124 "interfaces.vala"
	return self;
#line 1028 "interfaces.c"
}

SynapseGuiEntry*
synapse_gui_entry_new (GType k_type,
                       GBoxedCopyFunc k_dup_func,
                       GDestroyNotify k_destroy_func,
                       GType v_type,
                       GBoxedCopyFunc v_dup_func,
                       GDestroyNotify v_destroy_func)
{
#line 124 "interfaces.vala"
	return synapse_gui_entry_construct (SYNAPSE_GUI_TYPE_ENTRY, k_type, k_dup_func, k_destroy_func, v_type, v_dup_func, v_destroy_func);
#line 1041 "interfaces.c"
}

SynapseGuiEntry*
synapse_gui_entry_construct_kv (GType object_type,
                                GType k_type,
                                GBoxedCopyFunc k_dup_func,
                                GDestroyNotify k_destroy_func,
                                GType v_type,
                                GBoxedCopyFunc v_dup_func,
                                GDestroyNotify v_destroy_func,
                                gconstpointer key,
                                gconstpointer value)
{
	SynapseGuiEntry* self = NULL;
#line 129 "interfaces.vala"
	self = (SynapseGuiEntry*) g_type_create_instance (object_type);
#line 129 "interfaces.vala"
	self->priv->k_type = k_type;
#line 129 "interfaces.vala"
	self->priv->k_dup_func = k_dup_func;
#line 129 "interfaces.vala"
	self->priv->k_destroy_func = k_destroy_func;
#line 129 "interfaces.vala"
	self->priv->v_type = v_type;
#line 129 "interfaces.vala"
	self->priv->v_dup_func = v_dup_func;
#line 129 "interfaces.vala"
	self->priv->v_destroy_func = v_destroy_func;
#line 131 "interfaces.vala"
	synapse_gui_entry_set_key (self, key);
#line 132 "interfaces.vala"
	synapse_gui_entry_set_value (self, value);
#line 129 "interfaces.vala"
	return self;
#line 1076 "interfaces.c"
}

SynapseGuiEntry*
synapse_gui_entry_new_kv (GType k_type,
                          GBoxedCopyFunc k_dup_func,
                          GDestroyNotify k_destroy_func,
                          GType v_type,
                          GBoxedCopyFunc v_dup_func,
                          GDestroyNotify v_destroy_func,
                          gconstpointer key,
                          gconstpointer value)
{
#line 129 "interfaces.vala"
	return synapse_gui_entry_construct_kv (SYNAPSE_GUI_TYPE_ENTRY, k_type, k_dup_func, k_destroy_func, v_type, v_dup_func, v_destroy_func, key, value);
#line 1091 "interfaces.c"
}

gconstpointer
synapse_gui_entry_get_key (SynapseGuiEntry* self)
{
	gconstpointer result;
	gconstpointer _tmp0_;
#line 118 "interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 118 "interfaces.vala"
	_tmp0_ = self->priv->_key;
#line 118 "interfaces.vala"
	result = _tmp0_;
#line 118 "interfaces.vala"
	return result;
#line 1107 "interfaces.c"
}

void
synapse_gui_entry_set_key (SynapseGuiEntry* self,
                           gconstpointer value)
{
	gpointer _tmp0_;
#line 118 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 118 "interfaces.vala"
	_tmp0_ = ((value != NULL) && (self->priv->k_dup_func != NULL)) ? self->priv->k_dup_func ((gpointer) value) : ((gpointer) value);
#line 118 "interfaces.vala"
	((self->priv->_key == NULL) || (self->priv->k_destroy_func == NULL)) ? NULL : (self->priv->_key = (self->priv->k_destroy_func (self->priv->_key), NULL));
#line 118 "interfaces.vala"
	self->priv->_key = _tmp0_;
#line 1123 "interfaces.c"
}

gconstpointer
synapse_gui_entry_get_value (SynapseGuiEntry* self)
{
	gconstpointer result;
	gconstpointer _tmp0_;
#line 121 "interfaces.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 121 "interfaces.vala"
	_tmp0_ = self->priv->_value;
#line 121 "interfaces.vala"
	result = _tmp0_;
#line 121 "interfaces.vala"
	return result;
#line 1139 "interfaces.c"
}

void
synapse_gui_entry_set_value (SynapseGuiEntry* self,
                             gconstpointer value)
{
	gpointer _tmp0_;
#line 121 "interfaces.vala"
	g_return_if_fail (self != NULL);
#line 121 "interfaces.vala"
	_tmp0_ = ((value != NULL) && (self->priv->v_dup_func != NULL)) ? self->priv->v_dup_func ((gpointer) value) : ((gpointer) value);
#line 121 "interfaces.vala"
	((self->priv->_value == NULL) || (self->priv->v_destroy_func == NULL)) ? NULL : (self->priv->_value = (self->priv->v_destroy_func (self->priv->_value), NULL));
#line 121 "interfaces.vala"
	self->priv->_value = _tmp0_;
#line 1155 "interfaces.c"
}

static void
synapse_gui_value_entry_init (GValue* value)
{
#line 115 "interfaces.vala"
	value->data[0].v_pointer = NULL;
#line 1163 "interfaces.c"
}

static void
synapse_gui_value_entry_free_value (GValue* value)
{
#line 115 "interfaces.vala"
	if (value->data[0].v_pointer) {
#line 115 "interfaces.vala"
		synapse_gui_entry_unref (value->data[0].v_pointer);
#line 1173 "interfaces.c"
	}
}

static void
synapse_gui_value_entry_copy_value (const GValue* src_value,
                                    GValue* dest_value)
{
#line 115 "interfaces.vala"
	if (src_value->data[0].v_pointer) {
#line 115 "interfaces.vala"
		dest_value->data[0].v_pointer = synapse_gui_entry_ref (src_value->data[0].v_pointer);
#line 1185 "interfaces.c"
	} else {
#line 115 "interfaces.vala"
		dest_value->data[0].v_pointer = NULL;
#line 1189 "interfaces.c"
	}
}

static gpointer
synapse_gui_value_entry_peek_pointer (const GValue* value)
{
#line 115 "interfaces.vala"
	return value->data[0].v_pointer;
#line 1198 "interfaces.c"
}

static gchar*
synapse_gui_value_entry_collect_value (GValue* value,
                                       guint n_collect_values,
                                       GTypeCValue* collect_values,
                                       guint collect_flags)
{
#line 115 "interfaces.vala"
	if (collect_values[0].v_pointer) {
#line 1209 "interfaces.c"
		SynapseGuiEntry * object;
		object = collect_values[0].v_pointer;
#line 115 "interfaces.vala"
		if (object->parent_instance.g_class == NULL) {
#line 115 "interfaces.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 1216 "interfaces.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 115 "interfaces.vala"
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 1220 "interfaces.c"
		}
#line 115 "interfaces.vala"
		value->data[0].v_pointer = synapse_gui_entry_ref (object);
#line 1224 "interfaces.c"
	} else {
#line 115 "interfaces.vala"
		value->data[0].v_pointer = NULL;
#line 1228 "interfaces.c"
	}
#line 115 "interfaces.vala"
	return NULL;
#line 1232 "interfaces.c"
}

static gchar*
synapse_gui_value_entry_lcopy_value (const GValue* value,
                                     guint n_collect_values,
                                     GTypeCValue* collect_values,
                                     guint collect_flags)
{
	SynapseGuiEntry ** object_p;
	object_p = collect_values[0].v_pointer;
#line 115 "interfaces.vala"
	if (!object_p) {
#line 115 "interfaces.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 1247 "interfaces.c"
	}
#line 115 "interfaces.vala"
	if (!value->data[0].v_pointer) {
#line 115 "interfaces.vala"
		*object_p = NULL;
#line 1253 "interfaces.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 115 "interfaces.vala"
		*object_p = value->data[0].v_pointer;
#line 1257 "interfaces.c"
	} else {
#line 115 "interfaces.vala"
		*object_p = synapse_gui_entry_ref (value->data[0].v_pointer);
#line 1261 "interfaces.c"
	}
#line 115 "interfaces.vala"
	return NULL;
#line 1265 "interfaces.c"
}

GParamSpec*
synapse_gui_param_spec_entry (const gchar* name,
                              const gchar* nick,
                              const gchar* blurb,
                              GType object_type,
                              GParamFlags flags)
{
	SynapseGuiParamSpecEntry* spec;
#line 115 "interfaces.vala"
	g_return_val_if_fail (g_type_is_a (object_type, SYNAPSE_GUI_TYPE_ENTRY), NULL);
#line 115 "interfaces.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 115 "interfaces.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 115 "interfaces.vala"
	return G_PARAM_SPEC (spec);
#line 1284 "interfaces.c"
}

gpointer
synapse_gui_value_get_entry (const GValue* value)
{
#line 115 "interfaces.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SYNAPSE_GUI_TYPE_ENTRY), NULL);
#line 115 "interfaces.vala"
	return value->data[0].v_pointer;
#line 1294 "interfaces.c"
}

void
synapse_gui_value_set_entry (GValue* value,
                             gpointer v_object)
{
	SynapseGuiEntry * old;
#line 115 "interfaces.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SYNAPSE_GUI_TYPE_ENTRY));
#line 115 "interfaces.vala"
	old = value->data[0].v_pointer;
#line 115 "interfaces.vala"
	if (v_object) {
#line 115 "interfaces.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SYNAPSE_GUI_TYPE_ENTRY));
#line 115 "interfaces.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 115 "interfaces.vala"
		value->data[0].v_pointer = v_object;
#line 115 "interfaces.vala"
		synapse_gui_entry_ref (value->data[0].v_pointer);
#line 1316 "interfaces.c"
	} else {
#line 115 "interfaces.vala"
		value->data[0].v_pointer = NULL;
#line 1320 "interfaces.c"
	}
#line 115 "interfaces.vala"
	if (old) {
#line 115 "interfaces.vala"
		synapse_gui_entry_unref (old);
#line 1326 "interfaces.c"
	}
}

void
synapse_gui_value_take_entry (GValue* value,
                              gpointer v_object)
{
	SynapseGuiEntry * old;
#line 115 "interfaces.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SYNAPSE_GUI_TYPE_ENTRY));
#line 115 "interfaces.vala"
	old = value->data[0].v_pointer;
#line 115 "interfaces.vala"
	if (v_object) {
#line 115 "interfaces.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SYNAPSE_GUI_TYPE_ENTRY));
#line 115 "interfaces.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 115 "interfaces.vala"
		value->data[0].v_pointer = v_object;
#line 1347 "interfaces.c"
	} else {
#line 115 "interfaces.vala"
		value->data[0].v_pointer = NULL;
#line 1351 "interfaces.c"
	}
#line 115 "interfaces.vala"
	if (old) {
#line 115 "interfaces.vala"
		synapse_gui_entry_unref (old);
#line 1357 "interfaces.c"
	}
}

static void
synapse_gui_entry_class_init (SynapseGuiEntryClass * klass,
                              gpointer klass_data)
{
#line 115 "interfaces.vala"
	synapse_gui_entry_parent_class = g_type_class_peek_parent (klass);
#line 115 "interfaces.vala"
	((SynapseGuiEntryClass *) klass)->finalize = synapse_gui_entry_finalize;
#line 115 "interfaces.vala"
	g_type_class_adjust_private_offset (klass, &SynapseGuiEntry_private_offset);
#line 1371 "interfaces.c"
}

static void
synapse_gui_entry_instance_init (SynapseGuiEntry * self,
                                 gpointer klass)
{
#line 115 "interfaces.vala"
	self->priv = synapse_gui_entry_get_instance_private (self);
#line 115 "interfaces.vala"
	self->ref_count = 1;
#line 1382 "interfaces.c"
}

static void
synapse_gui_entry_finalize (SynapseGuiEntry * obj)
{
	SynapseGuiEntry * self;
#line 115 "interfaces.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_GUI_TYPE_ENTRY, SynapseGuiEntry);
#line 115 "interfaces.vala"
	g_signal_handlers_destroy (self);
#line 117 "interfaces.vala"
	((self->priv->_key == NULL) || (self->priv->k_destroy_func == NULL)) ? NULL : (self->priv->_key = (self->priv->k_destroy_func (self->priv->_key), NULL));
#line 120 "interfaces.vala"
	((self->priv->_value == NULL) || (self->priv->v_destroy_func == NULL)) ? NULL : (self->priv->_value = (self->priv->v_destroy_func (self->priv->_value), NULL));
#line 1397 "interfaces.c"
}

static GType
synapse_gui_entry_get_type_once (void)
{
	static const GTypeValueTable g_define_type_value_table = { synapse_gui_value_entry_init, synapse_gui_value_entry_free_value, synapse_gui_value_entry_copy_value, synapse_gui_value_entry_peek_pointer, "p", synapse_gui_value_entry_collect_value, "p", synapse_gui_value_entry_lcopy_value };
	static const GTypeInfo g_define_type_info = { sizeof (SynapseGuiEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_gui_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SynapseGuiEntry), 0, (GInstanceInitFunc) synapse_gui_entry_instance_init, &g_define_type_value_table };
	static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
	GType synapse_gui_entry_type_id;
	synapse_gui_entry_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SynapseGuiEntry", &g_define_type_info, &g_define_type_fundamental_info, 0);
	SynapseGuiEntry_private_offset = g_type_add_instance_private (synapse_gui_entry_type_id, sizeof (SynapseGuiEntryPrivate));
	return synapse_gui_entry_type_id;
}

GType
synapse_gui_entry_get_type (void)
{
	static volatile gsize synapse_gui_entry_type_id__once = 0;
	if (g_once_init_enter (&synapse_gui_entry_type_id__once)) {
		GType synapse_gui_entry_type_id;
		synapse_gui_entry_type_id = synapse_gui_entry_get_type_once ();
		g_once_init_leave (&synapse_gui_entry_type_id__once, synapse_gui_entry_type_id);
	}
	return synapse_gui_entry_type_id__once;
}

gpointer
synapse_gui_entry_ref (gpointer instance)
{
	SynapseGuiEntry * self;
	self = instance;
#line 115 "interfaces.vala"
	g_atomic_int_inc (&self->ref_count);
#line 115 "interfaces.vala"
	return instance;
#line 1433 "interfaces.c"
}

void
synapse_gui_entry_unref (gpointer instance)
{
	SynapseGuiEntry * self;
	self = instance;
#line 115 "interfaces.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 115 "interfaces.vala"
		SYNAPSE_GUI_ENTRY_GET_CLASS (self)->finalize (self);
#line 115 "interfaces.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 1447 "interfaces.c"
	}
}

