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

/* compile this file with `valac --pkg posix repo.vala -C -H repo.h`*/

#include "seafile-object.h"
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <glib-object.h>

#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

enum  {
	SEAFILE_COMMIT_0_PROPERTY,
	SEAFILE_COMMIT_ID_PROPERTY,
	SEAFILE_COMMIT_CREATOR_NAME_PROPERTY,
	SEAFILE_COMMIT_CREATOR_PROPERTY,
	SEAFILE_COMMIT_DESC_PROPERTY,
	SEAFILE_COMMIT_CTIME_PROPERTY,
	SEAFILE_COMMIT_PARENT_ID_PROPERTY,
	SEAFILE_COMMIT_SECOND_PARENT_ID_PROPERTY,
	SEAFILE_COMMIT_REPO_ID_PROPERTY,
	SEAFILE_COMMIT_ROOT_ID_PROPERTY,
	SEAFILE_COMMIT_VERSION_PROPERTY,
	SEAFILE_COMMIT_NEW_MERGE_PROPERTY,
	SEAFILE_COMMIT_CONFLICT_PROPERTY,
	SEAFILE_COMMIT_REV_FILE_ID_PROPERTY,
	SEAFILE_COMMIT_REV_FILE_SIZE_PROPERTY,
	SEAFILE_COMMIT_REV_RENAMED_OLD_PATH_PROPERTY,
	SEAFILE_COMMIT_DEVICE_NAME_PROPERTY,
	SEAFILE_COMMIT_CLIENT_VERSION_PROPERTY,
	SEAFILE_COMMIT_NEXT_START_COMMIT_PROPERTY,
	SEAFILE_COMMIT_NUM_PROPERTIES
};
static GParamSpec* seafile_commit_properties[SEAFILE_COMMIT_NUM_PROPERTIES];
#define _g_free0(var) (var = (g_free (var), NULL))

struct _SeafileCommitPrivate {
	gchar* _creator_name;
	gchar* _parent_id;
	gchar* _second_parent_id;
	gint _version;
	gboolean _new_merge;
	gboolean _conflict;
	gchar* _rev_file_id;
	gint64 _rev_file_size;
	gchar* _rev_renamed_old_path;
	gchar* _device_name;
	gchar* _client_version;
	gchar* _next_start_commit;
};

static gint SeafileCommit_private_offset;
static gpointer seafile_commit_parent_class = NULL;

static void seafile_commit_finalize (GObject * obj);
static GType seafile_commit_get_type_once (void);
static void _vala_seafile_commit_get_property (GObject * object,
                                        guint property_id,
                                        GValue * value,
                                        GParamSpec * pspec);
static void _vala_seafile_commit_set_property (GObject * object,
                                        guint property_id,
                                        const GValue * value,
                                        GParamSpec * pspec);

static inline gpointer
seafile_commit_get_instance_private (SeafileCommit* self)
{
	return G_STRUCT_MEMBER_P (self, SeafileCommit_private_offset);
}

SeafileCommit*
seafile_commit_construct (GType object_type)
{
	SeafileCommit * self = NULL;
	self = (SeafileCommit*) g_object_new (object_type, NULL);
	return self;
}

SeafileCommit*
seafile_commit_new (void)
{
	return seafile_commit_construct (SEAFILE_TYPE_COMMIT);
}

const gchar*
seafile_commit_get_id (SeafileCommit* self)
{
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	result = (const gchar*) self->_id;
	return result;
}

void
seafile_commit_set_id (SeafileCommit* self,
                       const gchar* value)
{
	g_return_if_fail (self != NULL);
	memcpy (self->_id, value, (gsize) 40);
	self->_id[40] = '\0';
	g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_ID_PROPERTY]);
}

const gchar*
seafile_commit_get_creator_name (SeafileCommit* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_creator_name;
	result = _tmp0_;
	return result;
}

void
seafile_commit_set_creator_name (SeafileCommit* self,
                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_commit_get_creator_name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_creator_name);
		self->priv->_creator_name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_CREATOR_NAME_PROPERTY]);
	}
}

const gchar*
seafile_commit_get_creator (SeafileCommit* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->_creator;
	result = _tmp0_;
	return result;
}

void
seafile_commit_set_creator (SeafileCommit* self,
                            const gchar* value)
{
	gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	_tmp0_ = g_strdup (value);
	_g_free0 (self->_creator);
	self->_creator = _tmp0_;
	g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_CREATOR_PROPERTY]);
}

const gchar*
seafile_commit_get_desc (SeafileCommit* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->_desc;
	result = _tmp0_;
	return result;
}

void
seafile_commit_set_desc (SeafileCommit* self,
                         const gchar* value)
{
	gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	_tmp0_ = g_strdup (value);
	_g_free0 (self->_desc);
	self->_desc = _tmp0_;
	g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_DESC_PROPERTY]);
}

gint64
seafile_commit_get_ctime (SeafileCommit* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->_ctime;
	return result;
}

void
seafile_commit_set_ctime (SeafileCommit* self,
                          gint64 value)
{
	g_return_if_fail (self != NULL);
	self->_ctime = value;
	g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_CTIME_PROPERTY]);
}

const gchar*
seafile_commit_get_parent_id (SeafileCommit* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_parent_id;
	result = _tmp0_;
	return result;
}

void
seafile_commit_set_parent_id (SeafileCommit* self,
                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_commit_get_parent_id (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_parent_id);
		self->priv->_parent_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_PARENT_ID_PROPERTY]);
	}
}

const gchar*
seafile_commit_get_second_parent_id (SeafileCommit* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_second_parent_id;
	result = _tmp0_;
	return result;
}

void
seafile_commit_set_second_parent_id (SeafileCommit* self,
                                     const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_commit_get_second_parent_id (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_second_parent_id);
		self->priv->_second_parent_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_SECOND_PARENT_ID_PROPERTY]);
	}
}

const gchar*
seafile_commit_get_repo_id (SeafileCommit* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->_repo_id;
	result = _tmp0_;
	return result;
}

void
seafile_commit_set_repo_id (SeafileCommit* self,
                            const gchar* value)
{
	gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	_tmp0_ = g_strdup (value);
	_g_free0 (self->_repo_id);
	self->_repo_id = _tmp0_;
	g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_REPO_ID_PROPERTY]);
}

const gchar*
seafile_commit_get_root_id (SeafileCommit* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->_root_id;
	result = _tmp0_;
	return result;
}

void
seafile_commit_set_root_id (SeafileCommit* self,
                            const gchar* value)
{
	gchar* _tmp0_;
	g_return_if_fail (self != NULL);
	_tmp0_ = g_strdup (value);
	_g_free0 (self->_root_id);
	self->_root_id = _tmp0_;
	g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_ROOT_ID_PROPERTY]);
}

gint
seafile_commit_get_version (SeafileCommit* self)
{
	gint result;
	g_return_val_if_fail (self != NULL, -1);
	result = self->priv->_version;
	return result;
}

void
seafile_commit_set_version (SeafileCommit* self,
                            gint value)
{
	gint old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_commit_get_version (self);
	if (old_value != value) {
		self->priv->_version = value;
		g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_VERSION_PROPERTY]);
	}
}

gboolean
seafile_commit_get_new_merge (SeafileCommit* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_new_merge;
	return result;
}

void
seafile_commit_set_new_merge (SeafileCommit* self,
                              gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_commit_get_new_merge (self);
	if (old_value != value) {
		self->priv->_new_merge = value;
		g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_NEW_MERGE_PROPERTY]);
	}
}

gboolean
seafile_commit_get_conflict (SeafileCommit* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_conflict;
	return result;
}

void
seafile_commit_set_conflict (SeafileCommit* self,
                             gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_commit_get_conflict (self);
	if (old_value != value) {
		self->priv->_conflict = value;
		g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_CONFLICT_PROPERTY]);
	}
}

const gchar*
seafile_commit_get_rev_file_id (SeafileCommit* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_rev_file_id;
	result = _tmp0_;
	return result;
}

void
seafile_commit_set_rev_file_id (SeafileCommit* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_commit_get_rev_file_id (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_rev_file_id);
		self->priv->_rev_file_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_REV_FILE_ID_PROPERTY]);
	}
}

gint64
seafile_commit_get_rev_file_size (SeafileCommit* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->priv->_rev_file_size;
	return result;
}

void
seafile_commit_set_rev_file_size (SeafileCommit* self,
                                  gint64 value)
{
	gint64 old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_commit_get_rev_file_size (self);
	if (old_value != value) {
		self->priv->_rev_file_size = value;
		g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_REV_FILE_SIZE_PROPERTY]);
	}
}

const gchar*
seafile_commit_get_rev_renamed_old_path (SeafileCommit* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_rev_renamed_old_path;
	result = _tmp0_;
	return result;
}

void
seafile_commit_set_rev_renamed_old_path (SeafileCommit* self,
                                         const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_commit_get_rev_renamed_old_path (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_rev_renamed_old_path);
		self->priv->_rev_renamed_old_path = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_REV_RENAMED_OLD_PATH_PROPERTY]);
	}
}

const gchar*
seafile_commit_get_device_name (SeafileCommit* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_device_name;
	result = _tmp0_;
	return result;
}

void
seafile_commit_set_device_name (SeafileCommit* self,
                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_commit_get_device_name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_device_name);
		self->priv->_device_name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_DEVICE_NAME_PROPERTY]);
	}
}

const gchar*
seafile_commit_get_client_version (SeafileCommit* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_client_version;
	result = _tmp0_;
	return result;
}

void
seafile_commit_set_client_version (SeafileCommit* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_commit_get_client_version (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_client_version);
		self->priv->_client_version = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_CLIENT_VERSION_PROPERTY]);
	}
}

const gchar*
seafile_commit_get_next_start_commit (SeafileCommit* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_next_start_commit;
	result = _tmp0_;
	return result;
}

void
seafile_commit_set_next_start_commit (SeafileCommit* self,
                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_commit_get_next_start_commit (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_next_start_commit);
		self->priv->_next_start_commit = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_commit_properties[SEAFILE_COMMIT_NEXT_START_COMMIT_PROPERTY]);
	}
}

static void
seafile_commit_class_init (SeafileCommitClass * klass,
                           gpointer klass_data)
{
	seafile_commit_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &SeafileCommit_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_seafile_commit_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_seafile_commit_set_property;
	G_OBJECT_CLASS (klass)->finalize = seafile_commit_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_ID_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_ID_PROPERTY] = g_param_spec_string ("id", "id", "id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_CREATOR_NAME_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_CREATOR_NAME_PROPERTY] = g_param_spec_string ("creator-name", "creator-name", "creator-name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_CREATOR_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_CREATOR_PROPERTY] = g_param_spec_string ("creator", "creator", "creator", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_DESC_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_DESC_PROPERTY] = g_param_spec_string ("desc", "desc", "desc", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_CTIME_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_CTIME_PROPERTY] = g_param_spec_int64 ("ctime", "ctime", "ctime", G_MININT64, G_MAXINT64, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_PARENT_ID_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_PARENT_ID_PROPERTY] = g_param_spec_string ("parent-id", "parent-id", "parent-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_SECOND_PARENT_ID_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_SECOND_PARENT_ID_PROPERTY] = g_param_spec_string ("second-parent-id", "second-parent-id", "second-parent-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_REPO_ID_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_REPO_ID_PROPERTY] = g_param_spec_string ("repo-id", "repo-id", "repo-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_ROOT_ID_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_ROOT_ID_PROPERTY] = g_param_spec_string ("root-id", "root-id", "root-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_VERSION_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_VERSION_PROPERTY] = g_param_spec_int ("version", "version", "version", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_NEW_MERGE_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_NEW_MERGE_PROPERTY] = g_param_spec_boolean ("new-merge", "new-merge", "new-merge", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_CONFLICT_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_CONFLICT_PROPERTY] = g_param_spec_boolean ("conflict", "conflict", "conflict", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_REV_FILE_ID_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_REV_FILE_ID_PROPERTY] = g_param_spec_string ("rev-file-id", "rev-file-id", "rev-file-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_REV_FILE_SIZE_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_REV_FILE_SIZE_PROPERTY] = g_param_spec_int64 ("rev-file-size", "rev-file-size", "rev-file-size", G_MININT64, G_MAXINT64, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_REV_RENAMED_OLD_PATH_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_REV_RENAMED_OLD_PATH_PROPERTY] = g_param_spec_string ("rev-renamed-old-path", "rev-renamed-old-path", "rev-renamed-old-path", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_DEVICE_NAME_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_DEVICE_NAME_PROPERTY] = g_param_spec_string ("device-name", "device-name", "device-name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_CLIENT_VERSION_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_CLIENT_VERSION_PROPERTY] = g_param_spec_string ("client-version", "client-version", "client-version", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_COMMIT_NEXT_START_COMMIT_PROPERTY, seafile_commit_properties[SEAFILE_COMMIT_NEXT_START_COMMIT_PROPERTY] = g_param_spec_string ("next-start-commit", "next-start-commit", "next-start-commit", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
seafile_commit_instance_init (SeafileCommit * self,
                              gpointer klass)
{
	self->priv = seafile_commit_get_instance_private (self);
}

static void
seafile_commit_finalize (GObject * obj)
{
	SeafileCommit * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEAFILE_TYPE_COMMIT, SeafileCommit);
	_g_free0 (self->priv->_creator_name);
	_g_free0 (self->_creator);
	_g_free0 (self->_desc);
	_g_free0 (self->priv->_parent_id);
	_g_free0 (self->priv->_second_parent_id);
	_g_free0 (self->_repo_id);
	_g_free0 (self->_root_id);
	_g_free0 (self->priv->_rev_file_id);
	_g_free0 (self->priv->_rev_renamed_old_path);
	_g_free0 (self->priv->_device_name);
	_g_free0 (self->priv->_client_version);
	_g_free0 (self->priv->_next_start_commit);
	G_OBJECT_CLASS (seafile_commit_parent_class)->finalize (obj);
}

static GType
seafile_commit_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SeafileCommitClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seafile_commit_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeafileCommit), 0, (GInstanceInitFunc) seafile_commit_instance_init, NULL };
	GType seafile_commit_type_id;
	seafile_commit_type_id = g_type_register_static (G_TYPE_OBJECT, "SeafileCommit", &g_define_type_info, 0);
	SeafileCommit_private_offset = g_type_add_instance_private (seafile_commit_type_id, sizeof (SeafileCommitPrivate));
	return seafile_commit_type_id;
}

GType
seafile_commit_get_type (void)
{
	static volatile gsize seafile_commit_type_id__once = 0;
	if (g_once_init_enter (&seafile_commit_type_id__once)) {
		GType seafile_commit_type_id;
		seafile_commit_type_id = seafile_commit_get_type_once ();
		g_once_init_leave (&seafile_commit_type_id__once, seafile_commit_type_id);
	}
	return seafile_commit_type_id__once;
}

static void
_vala_seafile_commit_get_property (GObject * object,
                                   guint property_id,
                                   GValue * value,
                                   GParamSpec * pspec)
{
	SeafileCommit * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SEAFILE_TYPE_COMMIT, SeafileCommit);
	switch (property_id) {
		case SEAFILE_COMMIT_ID_PROPERTY:
		g_value_set_string (value, seafile_commit_get_id (self));
		break;
		case SEAFILE_COMMIT_CREATOR_NAME_PROPERTY:
		g_value_set_string (value, seafile_commit_get_creator_name (self));
		break;
		case SEAFILE_COMMIT_CREATOR_PROPERTY:
		g_value_set_string (value, seafile_commit_get_creator (self));
		break;
		case SEAFILE_COMMIT_DESC_PROPERTY:
		g_value_set_string (value, seafile_commit_get_desc (self));
		break;
		case SEAFILE_COMMIT_CTIME_PROPERTY:
		g_value_set_int64 (value, seafile_commit_get_ctime (self));
		break;
		case SEAFILE_COMMIT_PARENT_ID_PROPERTY:
		g_value_set_string (value, seafile_commit_get_parent_id (self));
		break;
		case SEAFILE_COMMIT_SECOND_PARENT_ID_PROPERTY:
		g_value_set_string (value, seafile_commit_get_second_parent_id (self));
		break;
		case SEAFILE_COMMIT_REPO_ID_PROPERTY:
		g_value_set_string (value, seafile_commit_get_repo_id (self));
		break;
		case SEAFILE_COMMIT_ROOT_ID_PROPERTY:
		g_value_set_string (value, seafile_commit_get_root_id (self));
		break;
		case SEAFILE_COMMIT_VERSION_PROPERTY:
		g_value_set_int (value, seafile_commit_get_version (self));
		break;
		case SEAFILE_COMMIT_NEW_MERGE_PROPERTY:
		g_value_set_boolean (value, seafile_commit_get_new_merge (self));
		break;
		case SEAFILE_COMMIT_CONFLICT_PROPERTY:
		g_value_set_boolean (value, seafile_commit_get_conflict (self));
		break;
		case SEAFILE_COMMIT_REV_FILE_ID_PROPERTY:
		g_value_set_string (value, seafile_commit_get_rev_file_id (self));
		break;
		case SEAFILE_COMMIT_REV_FILE_SIZE_PROPERTY:
		g_value_set_int64 (value, seafile_commit_get_rev_file_size (self));
		break;
		case SEAFILE_COMMIT_REV_RENAMED_OLD_PATH_PROPERTY:
		g_value_set_string (value, seafile_commit_get_rev_renamed_old_path (self));
		break;
		case SEAFILE_COMMIT_DEVICE_NAME_PROPERTY:
		g_value_set_string (value, seafile_commit_get_device_name (self));
		break;
		case SEAFILE_COMMIT_CLIENT_VERSION_PROPERTY:
		g_value_set_string (value, seafile_commit_get_client_version (self));
		break;
		case SEAFILE_COMMIT_NEXT_START_COMMIT_PROPERTY:
		g_value_set_string (value, seafile_commit_get_next_start_commit (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_seafile_commit_set_property (GObject * object,
                                   guint property_id,
                                   const GValue * value,
                                   GParamSpec * pspec)
{
	SeafileCommit * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SEAFILE_TYPE_COMMIT, SeafileCommit);
	switch (property_id) {
		case SEAFILE_COMMIT_ID_PROPERTY:
		seafile_commit_set_id (self, g_value_get_string (value));
		break;
		case SEAFILE_COMMIT_CREATOR_NAME_PROPERTY:
		seafile_commit_set_creator_name (self, g_value_get_string (value));
		break;
		case SEAFILE_COMMIT_CREATOR_PROPERTY:
		seafile_commit_set_creator (self, g_value_get_string (value));
		break;
		case SEAFILE_COMMIT_DESC_PROPERTY:
		seafile_commit_set_desc (self, g_value_get_string (value));
		break;
		case SEAFILE_COMMIT_CTIME_PROPERTY:
		seafile_commit_set_ctime (self, g_value_get_int64 (value));
		break;
		case SEAFILE_COMMIT_PARENT_ID_PROPERTY:
		seafile_commit_set_parent_id (self, g_value_get_string (value));
		break;
		case SEAFILE_COMMIT_SECOND_PARENT_ID_PROPERTY:
		seafile_commit_set_second_parent_id (self, g_value_get_string (value));
		break;
		case SEAFILE_COMMIT_REPO_ID_PROPERTY:
		seafile_commit_set_repo_id (self, g_value_get_string (value));
		break;
		case SEAFILE_COMMIT_ROOT_ID_PROPERTY:
		seafile_commit_set_root_id (self, g_value_get_string (value));
		break;
		case SEAFILE_COMMIT_VERSION_PROPERTY:
		seafile_commit_set_version (self, g_value_get_int (value));
		break;
		case SEAFILE_COMMIT_NEW_MERGE_PROPERTY:
		seafile_commit_set_new_merge (self, g_value_get_boolean (value));
		break;
		case SEAFILE_COMMIT_CONFLICT_PROPERTY:
		seafile_commit_set_conflict (self, g_value_get_boolean (value));
		break;
		case SEAFILE_COMMIT_REV_FILE_ID_PROPERTY:
		seafile_commit_set_rev_file_id (self, g_value_get_string (value));
		break;
		case SEAFILE_COMMIT_REV_FILE_SIZE_PROPERTY:
		seafile_commit_set_rev_file_size (self, g_value_get_int64 (value));
		break;
		case SEAFILE_COMMIT_REV_RENAMED_OLD_PATH_PROPERTY:
		seafile_commit_set_rev_renamed_old_path (self, g_value_get_string (value));
		break;
		case SEAFILE_COMMIT_DEVICE_NAME_PROPERTY:
		seafile_commit_set_device_name (self, g_value_get_string (value));
		break;
		case SEAFILE_COMMIT_CLIENT_VERSION_PROPERTY:
		seafile_commit_set_client_version (self, g_value_get_string (value));
		break;
		case SEAFILE_COMMIT_NEXT_START_COMMIT_PROPERTY:
		seafile_commit_set_next_start_commit (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

