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

#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_DIRENT_0_PROPERTY,
	SEAFILE_DIRENT_OBJ_ID_PROPERTY,
	SEAFILE_DIRENT_OBJ_NAME_PROPERTY,
	SEAFILE_DIRENT_MODE_PROPERTY,
	SEAFILE_DIRENT_VERSION_PROPERTY,
	SEAFILE_DIRENT_MTIME_PROPERTY,
	SEAFILE_DIRENT_SIZE_PROPERTY,
	SEAFILE_DIRENT_MODIFIER_PROPERTY,
	SEAFILE_DIRENT_PERMISSION_PROPERTY,
	SEAFILE_DIRENT_IS_LOCKED_PROPERTY,
	SEAFILE_DIRENT_LOCK_OWNER_PROPERTY,
	SEAFILE_DIRENT_LOCK_TIME_PROPERTY,
	SEAFILE_DIRENT_IS_SHARED_PROPERTY,
	SEAFILE_DIRENT_NUM_PROPERTIES
};
static GParamSpec* seafile_dirent_properties[SEAFILE_DIRENT_NUM_PROPERTIES];
#define _g_free0(var) (var = (g_free (var), NULL))
enum  {
	SEAFILE_FILE_LAST_MODIFIED_INFO_0_PROPERTY,
	SEAFILE_FILE_LAST_MODIFIED_INFO_FILE_NAME_PROPERTY,
	SEAFILE_FILE_LAST_MODIFIED_INFO_LAST_MODIFIED_PROPERTY,
	SEAFILE_FILE_LAST_MODIFIED_INFO_NUM_PROPERTIES
};
static GParamSpec* seafile_file_last_modified_info_properties[SEAFILE_FILE_LAST_MODIFIED_INFO_NUM_PROPERTIES];

struct _SeafileDirentPrivate {
	gchar* _obj_id;
	gchar* _obj_name;
	gint _mode;
	gint _version;
	gint64 _mtime;
	gint64 _size;
	gchar* _modifier;
	gchar* _permission;
	gboolean _is_locked;
	gchar* _lock_owner;
	gint64 _lock_time;
	gboolean _is_shared;
};

struct _SeafileFileLastModifiedInfoPrivate {
	gchar* _file_name;
	gint64 _last_modified;
};

static gint SeafileDirent_private_offset;
static gpointer seafile_dirent_parent_class = NULL;
static gint SeafileFileLastModifiedInfo_private_offset;
static gpointer seafile_file_last_modified_info_parent_class = NULL;

static void seafile_dirent_finalize (GObject * obj);
static GType seafile_dirent_get_type_once (void);
static void _vala_seafile_dirent_get_property (GObject * object,
                                        guint property_id,
                                        GValue * value,
                                        GParamSpec * pspec);
static void _vala_seafile_dirent_set_property (GObject * object,
                                        guint property_id,
                                        const GValue * value,
                                        GParamSpec * pspec);
static void seafile_file_last_modified_info_finalize (GObject * obj);
static GType seafile_file_last_modified_info_get_type_once (void);
static void _vala_seafile_file_last_modified_info_get_property (GObject * object,
                                                         guint property_id,
                                                         GValue * value,
                                                         GParamSpec * pspec);
static void _vala_seafile_file_last_modified_info_set_property (GObject * object,
                                                         guint property_id,
                                                         const GValue * value,
                                                         GParamSpec * pspec);

static inline gpointer
seafile_dirent_get_instance_private (SeafileDirent* self)
{
	return G_STRUCT_MEMBER_P (self, SeafileDirent_private_offset);
}

SeafileDirent*
seafile_dirent_construct (GType object_type)
{
	SeafileDirent * self = NULL;
	self = (SeafileDirent*) g_object_new (object_type, NULL);
	return self;
}

SeafileDirent*
seafile_dirent_new (void)
{
	return seafile_dirent_construct (SEAFILE_TYPE_DIRENT);
}

const gchar*
seafile_dirent_get_obj_id (SeafileDirent* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_obj_id;
	result = _tmp0_;
	return result;
}

void
seafile_dirent_set_obj_id (SeafileDirent* self,
                           const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_dirent_get_obj_id (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_obj_id);
		self->priv->_obj_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_dirent_properties[SEAFILE_DIRENT_OBJ_ID_PROPERTY]);
	}
}

const gchar*
seafile_dirent_get_obj_name (SeafileDirent* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_obj_name;
	result = _tmp0_;
	return result;
}

void
seafile_dirent_set_obj_name (SeafileDirent* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_dirent_get_obj_name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_obj_name);
		self->priv->_obj_name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_dirent_properties[SEAFILE_DIRENT_OBJ_NAME_PROPERTY]);
	}
}

gint
seafile_dirent_get_mode (SeafileDirent* self)
{
	gint result;
	g_return_val_if_fail (self != NULL, -1);
	result = self->priv->_mode;
	return result;
}

void
seafile_dirent_set_mode (SeafileDirent* self,
                         gint value)
{
	gint old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_dirent_get_mode (self);
	if (old_value != value) {
		self->priv->_mode = value;
		g_object_notify_by_pspec ((GObject *) self, seafile_dirent_properties[SEAFILE_DIRENT_MODE_PROPERTY]);
	}
}

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

void
seafile_dirent_set_version (SeafileDirent* self,
                            gint value)
{
	gint old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_dirent_get_version (self);
	if (old_value != value) {
		self->priv->_version = value;
		g_object_notify_by_pspec ((GObject *) self, seafile_dirent_properties[SEAFILE_DIRENT_VERSION_PROPERTY]);
	}
}

gint64
seafile_dirent_get_mtime (SeafileDirent* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->priv->_mtime;
	return result;
}

void
seafile_dirent_set_mtime (SeafileDirent* self,
                          gint64 value)
{
	gint64 old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_dirent_get_mtime (self);
	if (old_value != value) {
		self->priv->_mtime = value;
		g_object_notify_by_pspec ((GObject *) self, seafile_dirent_properties[SEAFILE_DIRENT_MTIME_PROPERTY]);
	}
}

gint64
seafile_dirent_get_size (SeafileDirent* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->priv->_size;
	return result;
}

void
seafile_dirent_set_size (SeafileDirent* self,
                         gint64 value)
{
	gint64 old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_dirent_get_size (self);
	if (old_value != value) {
		self->priv->_size = value;
		g_object_notify_by_pspec ((GObject *) self, seafile_dirent_properties[SEAFILE_DIRENT_SIZE_PROPERTY]);
	}
}

const gchar*
seafile_dirent_get_modifier (SeafileDirent* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_modifier;
	result = _tmp0_;
	return result;
}

void
seafile_dirent_set_modifier (SeafileDirent* self,
                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_dirent_get_modifier (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_modifier);
		self->priv->_modifier = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_dirent_properties[SEAFILE_DIRENT_MODIFIER_PROPERTY]);
	}
}

const gchar*
seafile_dirent_get_permission (SeafileDirent* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_permission;
	result = _tmp0_;
	return result;
}

void
seafile_dirent_set_permission (SeafileDirent* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_dirent_get_permission (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_permission);
		self->priv->_permission = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_dirent_properties[SEAFILE_DIRENT_PERMISSION_PROPERTY]);
	}
}

gboolean
seafile_dirent_get_is_locked (SeafileDirent* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_is_locked;
	return result;
}

void
seafile_dirent_set_is_locked (SeafileDirent* self,
                              gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_dirent_get_is_locked (self);
	if (old_value != value) {
		self->priv->_is_locked = value;
		g_object_notify_by_pspec ((GObject *) self, seafile_dirent_properties[SEAFILE_DIRENT_IS_LOCKED_PROPERTY]);
	}
}

const gchar*
seafile_dirent_get_lock_owner (SeafileDirent* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_lock_owner;
	result = _tmp0_;
	return result;
}

void
seafile_dirent_set_lock_owner (SeafileDirent* self,
                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_dirent_get_lock_owner (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_lock_owner);
		self->priv->_lock_owner = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_dirent_properties[SEAFILE_DIRENT_LOCK_OWNER_PROPERTY]);
	}
}

gint64
seafile_dirent_get_lock_time (SeafileDirent* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->priv->_lock_time;
	return result;
}

void
seafile_dirent_set_lock_time (SeafileDirent* self,
                              gint64 value)
{
	gint64 old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_dirent_get_lock_time (self);
	if (old_value != value) {
		self->priv->_lock_time = value;
		g_object_notify_by_pspec ((GObject *) self, seafile_dirent_properties[SEAFILE_DIRENT_LOCK_TIME_PROPERTY]);
	}
}

gboolean
seafile_dirent_get_is_shared (SeafileDirent* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_is_shared;
	return result;
}

void
seafile_dirent_set_is_shared (SeafileDirent* self,
                              gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_dirent_get_is_shared (self);
	if (old_value != value) {
		self->priv->_is_shared = value;
		g_object_notify_by_pspec ((GObject *) self, seafile_dirent_properties[SEAFILE_DIRENT_IS_SHARED_PROPERTY]);
	}
}

static void
seafile_dirent_class_init (SeafileDirentClass * klass,
                           gpointer klass_data)
{
	seafile_dirent_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &SeafileDirent_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_seafile_dirent_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_seafile_dirent_set_property;
	G_OBJECT_CLASS (klass)->finalize = seafile_dirent_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_DIRENT_OBJ_ID_PROPERTY, seafile_dirent_properties[SEAFILE_DIRENT_OBJ_ID_PROPERTY] = g_param_spec_string ("obj-id", "obj-id", "obj-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_DIRENT_OBJ_NAME_PROPERTY, seafile_dirent_properties[SEAFILE_DIRENT_OBJ_NAME_PROPERTY] = g_param_spec_string ("obj-name", "obj-name", "obj-name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_DIRENT_MODE_PROPERTY, seafile_dirent_properties[SEAFILE_DIRENT_MODE_PROPERTY] = g_param_spec_int ("mode", "mode", "mode", 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_DIRENT_VERSION_PROPERTY, seafile_dirent_properties[SEAFILE_DIRENT_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_DIRENT_MTIME_PROPERTY, seafile_dirent_properties[SEAFILE_DIRENT_MTIME_PROPERTY] = g_param_spec_int64 ("mtime", "mtime", "mtime", 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_DIRENT_SIZE_PROPERTY, seafile_dirent_properties[SEAFILE_DIRENT_SIZE_PROPERTY] = g_param_spec_int64 ("size", "size", "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_DIRENT_MODIFIER_PROPERTY, seafile_dirent_properties[SEAFILE_DIRENT_MODIFIER_PROPERTY] = g_param_spec_string ("modifier", "modifier", "modifier", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_DIRENT_PERMISSION_PROPERTY, seafile_dirent_properties[SEAFILE_DIRENT_PERMISSION_PROPERTY] = g_param_spec_string ("permission", "permission", "permission", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_DIRENT_IS_LOCKED_PROPERTY, seafile_dirent_properties[SEAFILE_DIRENT_IS_LOCKED_PROPERTY] = g_param_spec_boolean ("is-locked", "is-locked", "is-locked", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_DIRENT_LOCK_OWNER_PROPERTY, seafile_dirent_properties[SEAFILE_DIRENT_LOCK_OWNER_PROPERTY] = g_param_spec_string ("lock-owner", "lock-owner", "lock-owner", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_DIRENT_LOCK_TIME_PROPERTY, seafile_dirent_properties[SEAFILE_DIRENT_LOCK_TIME_PROPERTY] = g_param_spec_int64 ("lock-time", "lock-time", "lock-time", 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_DIRENT_IS_SHARED_PROPERTY, seafile_dirent_properties[SEAFILE_DIRENT_IS_SHARED_PROPERTY] = g_param_spec_boolean ("is-shared", "is-shared", "is-shared", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
seafile_dirent_instance_init (SeafileDirent * self,
                              gpointer klass)
{
	self->priv = seafile_dirent_get_instance_private (self);
}

static void
seafile_dirent_finalize (GObject * obj)
{
	SeafileDirent * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEAFILE_TYPE_DIRENT, SeafileDirent);
	_g_free0 (self->priv->_obj_id);
	_g_free0 (self->priv->_obj_name);
	_g_free0 (self->priv->_modifier);
	_g_free0 (self->priv->_permission);
	_g_free0 (self->priv->_lock_owner);
	G_OBJECT_CLASS (seafile_dirent_parent_class)->finalize (obj);
}

static GType
seafile_dirent_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SeafileDirentClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seafile_dirent_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeafileDirent), 0, (GInstanceInitFunc) seafile_dirent_instance_init, NULL };
	GType seafile_dirent_type_id;
	seafile_dirent_type_id = g_type_register_static (G_TYPE_OBJECT, "SeafileDirent", &g_define_type_info, 0);
	SeafileDirent_private_offset = g_type_add_instance_private (seafile_dirent_type_id, sizeof (SeafileDirentPrivate));
	return seafile_dirent_type_id;
}

GType
seafile_dirent_get_type (void)
{
	static volatile gsize seafile_dirent_type_id__once = 0;
	if (g_once_init_enter (&seafile_dirent_type_id__once)) {
		GType seafile_dirent_type_id;
		seafile_dirent_type_id = seafile_dirent_get_type_once ();
		g_once_init_leave (&seafile_dirent_type_id__once, seafile_dirent_type_id);
	}
	return seafile_dirent_type_id__once;
}

static void
_vala_seafile_dirent_get_property (GObject * object,
                                   guint property_id,
                                   GValue * value,
                                   GParamSpec * pspec)
{
	SeafileDirent * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SEAFILE_TYPE_DIRENT, SeafileDirent);
	switch (property_id) {
		case SEAFILE_DIRENT_OBJ_ID_PROPERTY:
		g_value_set_string (value, seafile_dirent_get_obj_id (self));
		break;
		case SEAFILE_DIRENT_OBJ_NAME_PROPERTY:
		g_value_set_string (value, seafile_dirent_get_obj_name (self));
		break;
		case SEAFILE_DIRENT_MODE_PROPERTY:
		g_value_set_int (value, seafile_dirent_get_mode (self));
		break;
		case SEAFILE_DIRENT_VERSION_PROPERTY:
		g_value_set_int (value, seafile_dirent_get_version (self));
		break;
		case SEAFILE_DIRENT_MTIME_PROPERTY:
		g_value_set_int64 (value, seafile_dirent_get_mtime (self));
		break;
		case SEAFILE_DIRENT_SIZE_PROPERTY:
		g_value_set_int64 (value, seafile_dirent_get_size (self));
		break;
		case SEAFILE_DIRENT_MODIFIER_PROPERTY:
		g_value_set_string (value, seafile_dirent_get_modifier (self));
		break;
		case SEAFILE_DIRENT_PERMISSION_PROPERTY:
		g_value_set_string (value, seafile_dirent_get_permission (self));
		break;
		case SEAFILE_DIRENT_IS_LOCKED_PROPERTY:
		g_value_set_boolean (value, seafile_dirent_get_is_locked (self));
		break;
		case SEAFILE_DIRENT_LOCK_OWNER_PROPERTY:
		g_value_set_string (value, seafile_dirent_get_lock_owner (self));
		break;
		case SEAFILE_DIRENT_LOCK_TIME_PROPERTY:
		g_value_set_int64 (value, seafile_dirent_get_lock_time (self));
		break;
		case SEAFILE_DIRENT_IS_SHARED_PROPERTY:
		g_value_set_boolean (value, seafile_dirent_get_is_shared (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_seafile_dirent_set_property (GObject * object,
                                   guint property_id,
                                   const GValue * value,
                                   GParamSpec * pspec)
{
	SeafileDirent * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SEAFILE_TYPE_DIRENT, SeafileDirent);
	switch (property_id) {
		case SEAFILE_DIRENT_OBJ_ID_PROPERTY:
		seafile_dirent_set_obj_id (self, g_value_get_string (value));
		break;
		case SEAFILE_DIRENT_OBJ_NAME_PROPERTY:
		seafile_dirent_set_obj_name (self, g_value_get_string (value));
		break;
		case SEAFILE_DIRENT_MODE_PROPERTY:
		seafile_dirent_set_mode (self, g_value_get_int (value));
		break;
		case SEAFILE_DIRENT_VERSION_PROPERTY:
		seafile_dirent_set_version (self, g_value_get_int (value));
		break;
		case SEAFILE_DIRENT_MTIME_PROPERTY:
		seafile_dirent_set_mtime (self, g_value_get_int64 (value));
		break;
		case SEAFILE_DIRENT_SIZE_PROPERTY:
		seafile_dirent_set_size (self, g_value_get_int64 (value));
		break;
		case SEAFILE_DIRENT_MODIFIER_PROPERTY:
		seafile_dirent_set_modifier (self, g_value_get_string (value));
		break;
		case SEAFILE_DIRENT_PERMISSION_PROPERTY:
		seafile_dirent_set_permission (self, g_value_get_string (value));
		break;
		case SEAFILE_DIRENT_IS_LOCKED_PROPERTY:
		seafile_dirent_set_is_locked (self, g_value_get_boolean (value));
		break;
		case SEAFILE_DIRENT_LOCK_OWNER_PROPERTY:
		seafile_dirent_set_lock_owner (self, g_value_get_string (value));
		break;
		case SEAFILE_DIRENT_LOCK_TIME_PROPERTY:
		seafile_dirent_set_lock_time (self, g_value_get_int64 (value));
		break;
		case SEAFILE_DIRENT_IS_SHARED_PROPERTY:
		seafile_dirent_set_is_shared (self, g_value_get_boolean (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
seafile_file_last_modified_info_get_instance_private (SeafileFileLastModifiedInfo* self)
{
	return G_STRUCT_MEMBER_P (self, SeafileFileLastModifiedInfo_private_offset);
}

SeafileFileLastModifiedInfo*
seafile_file_last_modified_info_construct (GType object_type)
{
	SeafileFileLastModifiedInfo * self = NULL;
	self = (SeafileFileLastModifiedInfo*) g_object_new (object_type, NULL);
	return self;
}

SeafileFileLastModifiedInfo*
seafile_file_last_modified_info_new (void)
{
	return seafile_file_last_modified_info_construct (SEAFILE_TYPE_FILE_LAST_MODIFIED_INFO);
}

const gchar*
seafile_file_last_modified_info_get_file_name (SeafileFileLastModifiedInfo* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_file_name;
	result = _tmp0_;
	return result;
}

void
seafile_file_last_modified_info_set_file_name (SeafileFileLastModifiedInfo* self,
                                               const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_file_last_modified_info_get_file_name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_file_name);
		self->priv->_file_name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, seafile_file_last_modified_info_properties[SEAFILE_FILE_LAST_MODIFIED_INFO_FILE_NAME_PROPERTY]);
	}
}

gint64
seafile_file_last_modified_info_get_last_modified (SeafileFileLastModifiedInfo* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->priv->_last_modified;
	return result;
}

void
seafile_file_last_modified_info_set_last_modified (SeafileFileLastModifiedInfo* self,
                                                   gint64 value)
{
	gint64 old_value;
	g_return_if_fail (self != NULL);
	old_value = seafile_file_last_modified_info_get_last_modified (self);
	if (old_value != value) {
		self->priv->_last_modified = value;
		g_object_notify_by_pspec ((GObject *) self, seafile_file_last_modified_info_properties[SEAFILE_FILE_LAST_MODIFIED_INFO_LAST_MODIFIED_PROPERTY]);
	}
}

static void
seafile_file_last_modified_info_class_init (SeafileFileLastModifiedInfoClass * klass,
                                            gpointer klass_data)
{
	seafile_file_last_modified_info_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &SeafileFileLastModifiedInfo_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_seafile_file_last_modified_info_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_seafile_file_last_modified_info_set_property;
	G_OBJECT_CLASS (klass)->finalize = seafile_file_last_modified_info_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_FILE_LAST_MODIFIED_INFO_FILE_NAME_PROPERTY, seafile_file_last_modified_info_properties[SEAFILE_FILE_LAST_MODIFIED_INFO_FILE_NAME_PROPERTY] = g_param_spec_string ("file-name", "file-name", "file-name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_FILE_LAST_MODIFIED_INFO_LAST_MODIFIED_PROPERTY, seafile_file_last_modified_info_properties[SEAFILE_FILE_LAST_MODIFIED_INFO_LAST_MODIFIED_PROPERTY] = g_param_spec_int64 ("last-modified", "last-modified", "last-modified", G_MININT64, G_MAXINT64, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
seafile_file_last_modified_info_instance_init (SeafileFileLastModifiedInfo * self,
                                               gpointer klass)
{
	self->priv = seafile_file_last_modified_info_get_instance_private (self);
}

static void
seafile_file_last_modified_info_finalize (GObject * obj)
{
	SeafileFileLastModifiedInfo * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEAFILE_TYPE_FILE_LAST_MODIFIED_INFO, SeafileFileLastModifiedInfo);
	_g_free0 (self->priv->_file_name);
	G_OBJECT_CLASS (seafile_file_last_modified_info_parent_class)->finalize (obj);
}

static GType
seafile_file_last_modified_info_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SeafileFileLastModifiedInfoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seafile_file_last_modified_info_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeafileFileLastModifiedInfo), 0, (GInstanceInitFunc) seafile_file_last_modified_info_instance_init, NULL };
	GType seafile_file_last_modified_info_type_id;
	seafile_file_last_modified_info_type_id = g_type_register_static (G_TYPE_OBJECT, "SeafileFileLastModifiedInfo", &g_define_type_info, 0);
	SeafileFileLastModifiedInfo_private_offset = g_type_add_instance_private (seafile_file_last_modified_info_type_id, sizeof (SeafileFileLastModifiedInfoPrivate));
	return seafile_file_last_modified_info_type_id;
}

GType
seafile_file_last_modified_info_get_type (void)
{
	static volatile gsize seafile_file_last_modified_info_type_id__once = 0;
	if (g_once_init_enter (&seafile_file_last_modified_info_type_id__once)) {
		GType seafile_file_last_modified_info_type_id;
		seafile_file_last_modified_info_type_id = seafile_file_last_modified_info_get_type_once ();
		g_once_init_leave (&seafile_file_last_modified_info_type_id__once, seafile_file_last_modified_info_type_id);
	}
	return seafile_file_last_modified_info_type_id__once;
}

static void
_vala_seafile_file_last_modified_info_get_property (GObject * object,
                                                    guint property_id,
                                                    GValue * value,
                                                    GParamSpec * pspec)
{
	SeafileFileLastModifiedInfo * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SEAFILE_TYPE_FILE_LAST_MODIFIED_INFO, SeafileFileLastModifiedInfo);
	switch (property_id) {
		case SEAFILE_FILE_LAST_MODIFIED_INFO_FILE_NAME_PROPERTY:
		g_value_set_string (value, seafile_file_last_modified_info_get_file_name (self));
		break;
		case SEAFILE_FILE_LAST_MODIFIED_INFO_LAST_MODIFIED_PROPERTY:
		g_value_set_int64 (value, seafile_file_last_modified_info_get_last_modified (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_seafile_file_last_modified_info_set_property (GObject * object,
                                                    guint property_id,
                                                    const GValue * value,
                                                    GParamSpec * pspec)
{
	SeafileFileLastModifiedInfo * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SEAFILE_TYPE_FILE_LAST_MODIFIED_INFO, SeafileFileLastModifiedInfo);
	switch (property_id) {
		case SEAFILE_FILE_LAST_MODIFIED_INFO_FILE_NAME_PROPERTY:
		seafile_file_last_modified_info_set_file_name (self, g_value_get_string (value));
		break;
		case SEAFILE_FILE_LAST_MODIFIED_INFO_LAST_MODIFIED_PROPERTY:
		seafile_file_last_modified_info_set_last_modified (self, g_value_get_int64 (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

