/* vtgvcsbackendsvcsbase.c generated by valac 0.12.1.1-323029-dirty, the Vala compiler
 * generated from vtgvcsbackendsvcsbase.vala, do not modify */

/*
 *  vtgvcsbackendsivcs.vala - Vala developer toys for GEdit
 *  
 *  Copyright (C) 2008 - Andrea Del Signore <sejerpz@tin.it>
 *  
 *  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 2 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, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330,
 *  Boston, MA 02111-1307, USA.
 */

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


#define VTG_VCS_BACKENDS_TYPE_VCS_BASE (vtg_vcs_backends_vcs_base_get_type ())
#define VTG_VCS_BACKENDS_VCS_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_VCS_BACKENDS_TYPE_VCS_BASE, VtgVcsBackendsVcsBase))
#define VTG_VCS_BACKENDS_VCS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_VCS_BACKENDS_TYPE_VCS_BASE, VtgVcsBackendsVcsBaseClass))
#define VTG_VCS_BACKENDS_IS_VCS_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_VCS_BACKENDS_TYPE_VCS_BASE))
#define VTG_VCS_BACKENDS_IS_VCS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_VCS_BACKENDS_TYPE_VCS_BASE))
#define VTG_VCS_BACKENDS_VCS_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_VCS_BACKENDS_TYPE_VCS_BASE, VtgVcsBackendsVcsBaseClass))

typedef struct _VtgVcsBackendsVcsBase VtgVcsBackendsVcsBase;
typedef struct _VtgVcsBackendsVcsBaseClass VtgVcsBackendsVcsBaseClass;
typedef struct _VtgVcsBackendsVcsBasePrivate VtgVcsBackendsVcsBasePrivate;

#define VTG_VCS_BACKENDS_TYPE_ITEM (vtg_vcs_backends_item_get_type ())
#define VTG_VCS_BACKENDS_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_VCS_BACKENDS_TYPE_ITEM, VtgVcsBackendsItem))
#define VTG_VCS_BACKENDS_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_VCS_BACKENDS_TYPE_ITEM, VtgVcsBackendsItemClass))
#define VTG_VCS_BACKENDS_IS_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_VCS_BACKENDS_TYPE_ITEM))
#define VTG_VCS_BACKENDS_IS_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_VCS_BACKENDS_TYPE_ITEM))
#define VTG_VCS_BACKENDS_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_VCS_BACKENDS_TYPE_ITEM, VtgVcsBackendsItemClass))

typedef struct _VtgVcsBackendsItem VtgVcsBackendsItem;
typedef struct _VtgVcsBackendsItemClass VtgVcsBackendsItemClass;

struct _VtgVcsBackendsVcsBase {
	GObject parent_instance;
	VtgVcsBackendsVcsBasePrivate * priv;
};

struct _VtgVcsBackendsVcsBaseClass {
	GObjectClass parent_class;
	ValaList* (*get_items) (VtgVcsBackendsVcsBase* self, const gchar* path, GError** error);
	gboolean (*test) (VtgVcsBackendsVcsBase* self, const gchar* path);
};


static gpointer vtg_vcs_backends_vcs_base_parent_class = NULL;
static GType vtg_vcs_backends_vcs_base_type_id = 0;

GType vtg_vcs_backends_vcs_base_get_type (void) G_GNUC_CONST;
GType vtg_vcs_backends_vcs_base_register_type (GTypeModule * module);
GType vtg_vcs_backends_item_get_type (void) G_GNUC_CONST;
GType vtg_vcs_backends_item_register_type (GTypeModule * module);
enum  {
	VTG_VCS_BACKENDS_VCS_BASE_DUMMY_PROPERTY
};
ValaList* vtg_vcs_backends_vcs_base_get_items (VtgVcsBackendsVcsBase* self, const gchar* path, GError** error);
static ValaList* vtg_vcs_backends_vcs_base_real_get_items (VtgVcsBackendsVcsBase* self, const gchar* path, GError** error);
gboolean vtg_vcs_backends_vcs_base_test (VtgVcsBackendsVcsBase* self, const gchar* path);
static gboolean vtg_vcs_backends_vcs_base_real_test (VtgVcsBackendsVcsBase* self, const gchar* path);
VtgVcsBackendsVcsBase* vtg_vcs_backends_vcs_base_construct (GType object_type);


static ValaList* vtg_vcs_backends_vcs_base_real_get_items (VtgVcsBackendsVcsBase* self, const gchar* path, GError** error) {
	g_return_val_if_fail (self != NULL, NULL);
	g_critical ("Type `%s' does not implement abstract method `vtg_vcs_backends_vcs_base_get_items'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return NULL;
}


ValaList* vtg_vcs_backends_vcs_base_get_items (VtgVcsBackendsVcsBase* self, const gchar* path, GError** error) {
	return VTG_VCS_BACKENDS_VCS_BASE_GET_CLASS (self)->get_items (self, path, error);
}


static gboolean vtg_vcs_backends_vcs_base_real_test (VtgVcsBackendsVcsBase* self, const gchar* path) {
	g_return_val_if_fail (self != NULL, FALSE);
	g_critical ("Type `%s' does not implement abstract method `vtg_vcs_backends_vcs_base_test'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
	return FALSE;
}


gboolean vtg_vcs_backends_vcs_base_test (VtgVcsBackendsVcsBase* self, const gchar* path) {
	return VTG_VCS_BACKENDS_VCS_BASE_GET_CLASS (self)->test (self, path);
}


VtgVcsBackendsVcsBase* vtg_vcs_backends_vcs_base_construct (GType object_type) {
	VtgVcsBackendsVcsBase * self = NULL;
	self = (VtgVcsBackendsVcsBase*) g_object_new (object_type, NULL);
	return self;
}


static void vtg_vcs_backends_vcs_base_class_init (VtgVcsBackendsVcsBaseClass * klass) {
	vtg_vcs_backends_vcs_base_parent_class = g_type_class_peek_parent (klass);
	VTG_VCS_BACKENDS_VCS_BASE_CLASS (klass)->get_items = vtg_vcs_backends_vcs_base_real_get_items;
	VTG_VCS_BACKENDS_VCS_BASE_CLASS (klass)->test = vtg_vcs_backends_vcs_base_real_test;
}


static void vtg_vcs_backends_vcs_base_instance_init (VtgVcsBackendsVcsBase * self) {
}


GType vtg_vcs_backends_vcs_base_get_type (void) {
	return vtg_vcs_backends_vcs_base_type_id;
}


GType vtg_vcs_backends_vcs_base_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (VtgVcsBackendsVcsBaseClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vtg_vcs_backends_vcs_base_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VtgVcsBackendsVcsBase), 0, (GInstanceInitFunc) vtg_vcs_backends_vcs_base_instance_init, NULL };
	vtg_vcs_backends_vcs_base_type_id = g_type_module_register_type (module, G_TYPE_OBJECT, "VtgVcsBackendsVcsBase", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
	return vtg_vcs_backends_vcs_base_type_id;
}



