/* gitg-diff-selectable.c generated by valac 0.32.1, the Vala compiler
 * generated from gitg-diff-selectable.vala, do not modify */

/*
 * This file is part of gitg
 *
 * Copyright (C) 2016 - Jesse van den Kieboom
 *
 * gitg 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 2 of the License, or
 * (at your option) any later version.
 *
 * gitg 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 gitg. If not, see <http://www.gnu.org/licenses/>.
 */

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


#define GITG_TYPE_DIFF_SELECTABLE (gitg_diff_selectable_get_type ())
#define GITG_DIFF_SELECTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_DIFF_SELECTABLE, GitgDiffSelectable))
#define GITG_IS_DIFF_SELECTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_DIFF_SELECTABLE))
#define GITG_DIFF_SELECTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GITG_TYPE_DIFF_SELECTABLE, GitgDiffSelectableIface))

typedef struct _GitgDiffSelectable GitgDiffSelectable;
typedef struct _GitgDiffSelectableIface GitgDiffSelectableIface;

#define GITG_TYPE_PATCH_SET (gitg_patch_set_get_type ())
#define GITG_PATCH_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GITG_TYPE_PATCH_SET, GitgPatchSet))
#define GITG_PATCH_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GITG_TYPE_PATCH_SET, GitgPatchSetClass))
#define GITG_IS_PATCH_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GITG_TYPE_PATCH_SET))
#define GITG_IS_PATCH_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GITG_TYPE_PATCH_SET))
#define GITG_PATCH_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GITG_TYPE_PATCH_SET, GitgPatchSetClass))

typedef struct _GitgPatchSet GitgPatchSet;
typedef struct _GitgPatchSetClass GitgPatchSetClass;

struct _GitgDiffSelectableIface {
	GTypeInterface parent_iface;
	gboolean (*get_has_selection) (GitgDiffSelectable* self);
	gboolean (*get_can_select) (GitgDiffSelectable* self);
	void (*set_can_select) (GitgDiffSelectable* self, gboolean value);
	GitgPatchSet* (*get_selection) (GitgDiffSelectable* self);
};



gpointer gitg_patch_set_ref (gpointer instance);
void gitg_patch_set_unref (gpointer instance);
GParamSpec* gitg_param_spec_patch_set (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gitg_value_set_patch_set (GValue* value, gpointer v_object);
void gitg_value_take_patch_set (GValue* value, gpointer v_object);
gpointer gitg_value_get_patch_set (const GValue* value);
GType gitg_patch_set_get_type (void) G_GNUC_CONST;
GType gitg_diff_selectable_get_type (void) G_GNUC_CONST;
gboolean gitg_diff_selectable_get_has_selection (GitgDiffSelectable* self);
gboolean gitg_diff_selectable_get_can_select (GitgDiffSelectable* self);
void gitg_diff_selectable_set_can_select (GitgDiffSelectable* self, gboolean value);
GitgPatchSet* gitg_diff_selectable_get_selection (GitgDiffSelectable* self);


gboolean gitg_diff_selectable_get_has_selection (GitgDiffSelectable* self) {
#line 22 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 22 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
	return GITG_DIFF_SELECTABLE_GET_INTERFACE (self)->get_has_selection (self);
#line 75 "gitg-diff-selectable.c"
}


gboolean gitg_diff_selectable_get_can_select (GitgDiffSelectable* self) {
#line 23 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 23 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
	return GITG_DIFF_SELECTABLE_GET_INTERFACE (self)->get_can_select (self);
#line 84 "gitg-diff-selectable.c"
}


void gitg_diff_selectable_set_can_select (GitgDiffSelectable* self, gboolean value) {
#line 23 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
	g_return_if_fail (self != NULL);
#line 23 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
	GITG_DIFF_SELECTABLE_GET_INTERFACE (self)->set_can_select (self, value);
#line 93 "gitg-diff-selectable.c"
}


GitgPatchSet* gitg_diff_selectable_get_selection (GitgDiffSelectable* self) {
#line 25 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 25 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
	return GITG_DIFF_SELECTABLE_GET_INTERFACE (self)->get_selection (self);
#line 102 "gitg-diff-selectable.c"
}


static void gitg_diff_selectable_base_init (GitgDiffSelectableIface * iface) {
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
	static gboolean initialized = FALSE;
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
	if (!initialized) {
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
		initialized = TRUE;
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
		g_object_interface_install_property (iface, g_param_spec_boolean ("has-selection", "has-selection", "has-selection", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
		g_object_interface_install_property (iface, g_param_spec_boolean ("can-select", "can-select", "can-select", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 20 "/home/jesse/dev/gitg/libgitg/gitg-diff-selectable.vala"
		g_object_interface_install_property (iface, gitg_param_spec_patch_set ("selection", "selection", "selection", GITG_TYPE_PATCH_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 119 "gitg-diff-selectable.c"
	}
}


GType gitg_diff_selectable_get_type (void) {
	static volatile gsize gitg_diff_selectable_type_id__volatile = 0;
	if (g_once_init_enter (&gitg_diff_selectable_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GitgDiffSelectableIface), (GBaseInitFunc) gitg_diff_selectable_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
		GType gitg_diff_selectable_type_id;
		gitg_diff_selectable_type_id = g_type_register_static (G_TYPE_INTERFACE, "GitgDiffSelectable", &g_define_type_info, 0);
		g_type_interface_add_prerequisite (gitg_diff_selectable_type_id, G_TYPE_OBJECT);
		g_once_init_leave (&gitg_diff_selectable_type_id__volatile, gitg_diff_selectable_type_id);
	}
	return gitg_diff_selectable_type_id__volatile;
}



