/* Generated file (by generator) */

/*
 * SPDX-FileCopyrightText: 2015 William Yu <williamyu@gnome.org>
 *
 * SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0
 */

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include "i-cal-derived-value.h"
#include "libical-glib-private.h"
#include "i-cal-datetimeperiod.h"
#include "i-cal-attach.h"
#include "i-cal-value.h"
#include "i-cal-recurrence.h"
#include "i-cal-reqstat.h"
#include "i-cal-trigger.h"
#include "i-cal-period.h"
#include "i-cal-geo.h"
#include "i-cal-time.h"
#include "i-cal-duration.h"

/**
 * i_cal_value_new_x:
 * @value: the text value
 *
 * Creates a new #ICalValue holding X.
 *
 * Returns: (transfer full): a new #ICalValue holding X
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_x (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_value_new_full (icalvalue_new_x (value), NULL);
}

/**
 * i_cal_value_get_x:
 * @self: the #ICalValue of X
 *
 * Returns value of the X @self
 *
 * Returns: the X value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_value_get_x (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return icalvalue_get_x ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_x:
 * @self: the #ICalValue of X
 * @value: the X value
 *
 * Sets value to the X @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_x (ICalValue *self, 
                   const gchar *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (value != NULL);

	icalvalue_set_x ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_value_new_recur:
 * @value: the #ICalRecurrence value
 *
 * Creates a new #ICalValue holding RECUR.
 *
 * Returns: (transfer full): a new #ICalValue holding RECUR
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_recur (const ICalRecurrence *value)
{
    g_return_val_if_fail (I_CAL_IS_RECURRENCE ((ICalRecurrence*)value), NULL);

	return i_cal_value_new_full (icalvalue_new_recur ((struct icalrecurrencetype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value))), NULL);
}

/**
 * i_cal_value_get_recur:
 * @self: the #ICalValue of RECUR
 *
 * Returns value of the RECUR @self
 *
 * Returns: (transfer full): the RECUR value
 *
 * Since: 1.0
 *
 **/
ICalRecurrence *
i_cal_value_get_recur (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return i_cal_recurrence_new_full (icalvalue_get_recur ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))), (GObject *)self);
}

/**
 * i_cal_value_set_recur:
 * @self: the #ICalValue of RECUR
 * @value: the RECUR value
 *
 * Sets value to the RECUR @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_recur (ICalValue *self, 
                       const ICalRecurrence *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (I_CAL_IS_RECURRENCE ((ICalRecurrence*)value));

	icalvalue_set_recur ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (struct icalrecurrencetype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value)));
}

/**
 * i_cal_value_new_trigger:
 * @value: the #ICalTrigger value
 *
 * Creates a new #ICalValue holding TRIGGER.
 *
 * Returns: (transfer full): a new #ICalValue holding TRIGGER
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_trigger (const ICalTrigger *value)
{
    g_return_val_if_fail (I_CAL_IS_TRIGGER ((ICalTrigger*)value), NULL);

	return i_cal_value_new_full (icalvalue_new_trigger (* (struct icaltriggertype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value))), NULL);
}

/**
 * i_cal_value_get_trigger:
 * @self: the #ICalValue of TRIGGER
 *
 * Returns value of the TRIGGER @self
 *
 * Returns: (transfer full): the TRIGGER value
 *
 * Since: 1.0
 *
 **/
ICalTrigger *
i_cal_value_get_trigger (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return i_cal_trigger_new_full (icalvalue_get_trigger ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_trigger:
 * @self: the #ICalValue of TRIGGER
 * @value: the TRIGGER value
 *
 * Sets value to the TRIGGER @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_trigger (ICalValue *self, 
                         const ICalTrigger *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (I_CAL_IS_TRIGGER ((ICalTrigger*)value));

	icalvalue_set_trigger ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), * (struct icaltriggertype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value)));
}

/**
 * i_cal_value_new_datetime:
 * @value: the #ICalTime value
 *
 * Creates a new #ICalValue holding DATETIME.
 *
 * Returns: (transfer full): a new #ICalValue holding DATETIME
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_datetime (const ICalTime *value)
{
    g_return_val_if_fail (I_CAL_IS_TIME ((ICalTime*)value), NULL);

	return i_cal_value_new_full (icalvalue_new_datetime (* (struct icaltimetype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value))), NULL);
}

/**
 * i_cal_value_get_datetime:
 * @self: the #ICalValue of DATETIME
 *
 * Returns value of the DATETIME @self
 *
 * Returns: (transfer full): the DATETIME value
 *
 * Since: 1.0
 *
 **/
ICalTime *
i_cal_value_get_datetime (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return i_cal_time_new_full (icalvalue_get_datetime ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_datetime:
 * @self: the #ICalValue of DATETIME
 * @value: the DATETIME value
 *
 * Sets value to the DATETIME @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_datetime (ICalValue *self, 
                          const ICalTime *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (I_CAL_IS_TIME ((ICalTime*)value));

	icalvalue_set_datetime ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), * (struct icaltimetype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value)));
}

/**
 * i_cal_value_new_datetimedate:
 * @value: the #ICalTime value
 *
 * Creates a new #ICalValue holding DATETIMEDATE.
 *
 * Returns: (transfer full): a new #ICalValue holding DATETIMEDATE
 *
 * Since: 3.0
 *
 **/
ICalValue *
i_cal_value_new_datetimedate (const ICalTime *value)
{
    g_return_val_if_fail (I_CAL_IS_TIME ((ICalTime*)value), NULL);

	return i_cal_value_new_full (icalvalue_new_datetimedate (* (struct icaltimetype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value))), NULL);
}

/**
 * i_cal_value_get_datetimedate:
 * @self: the #ICalValue of DATETIMEDATE
 *
 * Returns value of the DATETIMEDATE @self
 *
 * Returns: (transfer full): the DATETIMEDATE value
 *
 * Since: 3.0
 *
 **/
ICalTime *
i_cal_value_get_datetimedate (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return i_cal_time_new_full (icalvalue_get_datetimedate ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_datetimedate:
 * @self: the #ICalValue of DATETIMEDATE
 * @value: the DATETIMEDATE value
 *
 * Sets value to the DATETIMEDATE @self
 *
 * Since: 3.0
 *
 **/
void
i_cal_value_set_datetimedate (ICalValue *self, 
                              const ICalTime *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (I_CAL_IS_TIME ((ICalTime*)value));

	icalvalue_set_datetimedate ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), * (struct icaltimetype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value)));
}

/**
 * i_cal_value_new_datetimeperiod:
 * @value: the #ICalDatetimeperiod value
 *
 * Creates a new #ICalValue holding DATETIMEPERIOD.
 *
 * Returns: (transfer full): a new #ICalValue holding DATETIMEPERIOD
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_datetimeperiod (const ICalDatetimeperiod *value)
{
    g_return_val_if_fail (I_CAL_IS_DATETIMEPERIOD ((ICalDatetimeperiod*)value), NULL);

	return i_cal_value_new_full (icalvalue_new_datetimeperiod (* (struct icaldatetimeperiodtype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value))), NULL);
}

/**
 * i_cal_value_get_datetimeperiod:
 * @self: the #ICalValue of DATETIMEPERIOD
 *
 * Returns value of the DATETIMEPERIOD @self
 *
 * Returns: (transfer full): the DATETIMEPERIOD value
 *
 * Since: 1.0
 *
 **/
ICalDatetimeperiod *
i_cal_value_get_datetimeperiod (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return i_cal_datetimeperiod_new_full (icalvalue_get_datetimeperiod ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_datetimeperiod:
 * @self: the #ICalValue of DATETIMEPERIOD
 * @value: the DATETIMEPERIOD value
 *
 * Sets value to the DATETIMEPERIOD @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_datetimeperiod (ICalValue *self, 
                                const ICalDatetimeperiod *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (I_CAL_IS_DATETIMEPERIOD ((ICalDatetimeperiod*)value));

	icalvalue_set_datetimeperiod ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), * (struct icaldatetimeperiodtype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value)));
}

/**
 * i_cal_value_new_geo:
 * @value: the #ICalGeo value
 *
 * Creates a new #ICalValue holding GEO.
 *
 * Returns: (transfer full): a new #ICalValue holding GEO
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_geo (const ICalGeo *value)
{
    g_return_val_if_fail (I_CAL_IS_GEO ((ICalGeo*)value), NULL);

	return i_cal_value_new_full (icalvalue_new_geo (* (struct icalgeotype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value))), NULL);
}

/**
 * i_cal_value_get_geo:
 * @self: the #ICalValue of GEO
 *
 * Returns value of the GEO @self
 *
 * Returns: (transfer full): the GEO value
 *
 * Since: 1.0
 *
 **/
ICalGeo *
i_cal_value_get_geo (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return i_cal_geo_new_full (icalvalue_get_geo ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_geo:
 * @self: the #ICalValue of GEO
 * @value: the GEO value
 *
 * Sets value to the GEO @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_geo (ICalValue *self, 
                     const ICalGeo *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (I_CAL_IS_GEO ((ICalGeo*)value));

	icalvalue_set_geo ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), * (struct icalgeotype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value)));
}

/**
 * i_cal_value_new_attach:
 * @value: the #ICalAttach value
 *
 * Creates a new #ICalValue holding ATTACH.
 *
 * Returns: (transfer full): a new #ICalValue holding ATTACH
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_attach (const ICalAttach *value)
{
    g_return_val_if_fail (I_CAL_IS_ATTACH ((ICalAttach*)value), NULL);

	return i_cal_value_new_full (icalvalue_new_attach ((icalattach *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value))), NULL);
}

/**
 * i_cal_value_get_attach:
 * @self: the #ICalValue of ATTACH
 *
 * Returns value of the ATTACH @self
 *
 * Returns: (transfer full): the ATTACH value
 *
 * Since: 1.0
 *
 **/
ICalAttach *
i_cal_value_get_attach (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return i_cal_attach_new_full (icalvalue_get_attach ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))), NULL);
}

/**
 * i_cal_value_set_attach:
 * @self: the #ICalValue of ATTACH
 * @value: the ATTACH value
 *
 * Sets value to the ATTACH @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_attach (ICalValue *self, 
                        const ICalAttach *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (I_CAL_IS_ATTACH ((ICalAttach*)value));

	icalvalue_set_attach ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalattach *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value)));
}

/**
 * i_cal_value_new_xlicclass:
 * @value: the #ICalPropertyXlicclass value
 *
 * Creates a new #ICalValue holding XLICCLASS.
 *
 * Returns: (transfer full): a new #ICalValue holding XLICCLASS
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_xlicclass (ICalPropertyXlicclass value)
{
	return i_cal_value_new_full (icalvalue_new_xlicclass ((icalproperty_xlicclass) (value)), NULL);
}

/**
 * i_cal_value_get_xlicclass:
 * @self: the #ICalValue of XLICCLASS
 *
 * Returns value of the XLICCLASS @self
 *
 * Returns: the XLICCLASS value
 *
 * Since: 1.0
 *
 **/
ICalPropertyXlicclass
i_cal_value_get_xlicclass (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_XLICCLASS_NONE);

	return (ICalPropertyXlicclass) (icalvalue_get_xlicclass ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_xlicclass:
 * @self: the #ICalValue of XLICCLASS
 * @value: the XLICCLASS value
 *
 * Sets value to the XLICCLASS @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_xlicclass (ICalValue *self, 
                           ICalPropertyXlicclass value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_xlicclass ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_xlicclass) (value));
}

/**
 * i_cal_value_new_boolean:
 * @value: the boolean value
 *
 * Creates a new #ICalValue holding BOOLEAN.
 *
 * Returns: (transfer full): a new #ICalValue holding BOOLEAN
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_boolean (gboolean value)
{
	return i_cal_value_new_full (icalvalue_new_boolean (value), NULL);
}

/**
 * i_cal_value_get_boolean:
 * @self: the #ICalValue of BOOLEAN
 *
 * Returns value of the BOOLEAN @self
 *
 * Returns: the BOOLEAN value
 *
 * Since: 1.0
 *
 **/
gboolean
i_cal_value_get_boolean (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), FALSE);

	return icalvalue_get_boolean ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_boolean:
 * @self: the #ICalValue of BOOLEAN
 * @value: the BOOLEAN value
 *
 * Sets value to the BOOLEAN @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_boolean (ICalValue *self, 
                         gboolean value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_boolean ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_value_new_busytype:
 * @value: the #ICalPropertyBusytype value
 *
 * Creates a new #ICalValue holding BUSYTYPE.
 *
 * Returns: (transfer full): a new #ICalValue holding BUSYTYPE
 *
 * Since: 2.0
 *
 **/
ICalValue *
i_cal_value_new_busytype (ICalPropertyBusytype value)
{
	return i_cal_value_new_full (icalvalue_new_busytype ((icalproperty_busytype) (value)), NULL);
}

/**
 * i_cal_value_get_busytype:
 * @self: the #ICalValue of BUSYTYPE
 *
 * Returns value of the BUSYTYPE @self
 *
 * Returns: the BUSYTYPE value
 *
 * Since: 2.0
 *
 **/
ICalPropertyBusytype
i_cal_value_get_busytype (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_BUSYTYPE_NONE);

	return (ICalPropertyBusytype) (icalvalue_get_busytype ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_busytype:
 * @self: the #ICalValue of BUSYTYPE
 * @value: the BUSYTYPE value
 *
 * Sets value to the BUSYTYPE @self
 *
 * Since: 2.0
 *
 **/
void
i_cal_value_set_busytype (ICalValue *self, 
                          ICalPropertyBusytype value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_busytype ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_busytype) (value));
}

/**
 * i_cal_value_new_pollcompletion:
 * @value: the #ICalPropertyPollcompletion value
 *
 * Creates a new #ICalValue holding POLLCOMPLETION.
 *
 * Returns: (transfer full): a new #ICalValue holding POLLCOMPLETION
 *
 * Since: 2.0
 *
 **/
ICalValue *
i_cal_value_new_pollcompletion (ICalPropertyPollcompletion value)
{
	return i_cal_value_new_full (icalvalue_new_pollcompletion ((icalproperty_pollcompletion) (value)), NULL);
}

/**
 * i_cal_value_get_pollcompletion:
 * @self: the #ICalValue of POLLCOMPLETION
 *
 * Returns value of the POLLCOMPLETION @self
 *
 * Returns: the POLLCOMPLETION value
 *
 * Since: 2.0
 *
 **/
ICalPropertyPollcompletion
i_cal_value_get_pollcompletion (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_POLLCOMPLETION_NONE);

	return (ICalPropertyPollcompletion) (icalvalue_get_pollcompletion ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_pollcompletion:
 * @self: the #ICalValue of POLLCOMPLETION
 * @value: the POLLCOMPLETION value
 *
 * Sets value to the POLLCOMPLETION @self
 *
 * Since: 2.0
 *
 **/
void
i_cal_value_set_pollcompletion (ICalValue *self, 
                                ICalPropertyPollcompletion value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_pollcompletion ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_pollcompletion) (value));
}

/**
 * i_cal_value_new_taskmode:
 * @value: the #ICalPropertyTaskmode value
 *
 * Creates a new #ICalValue holding TASKMODE.
 *
 * Returns: (transfer full): a new #ICalValue holding TASKMODE
 *
 * Since: 2.0
 *
 **/
ICalValue *
i_cal_value_new_taskmode (ICalPropertyTaskmode value)
{
	return i_cal_value_new_full (icalvalue_new_taskmode ((icalproperty_taskmode) (value)), NULL);
}

/**
 * i_cal_value_get_taskmode:
 * @self: the #ICalValue of TASKMODE
 *
 * Returns value of the TASKMODE @self
 *
 * Returns: the TASKMODE value
 *
 * Since: 2.0
 *
 **/
ICalPropertyTaskmode
i_cal_value_get_taskmode (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_TASKMODE_NONE);

	return (ICalPropertyTaskmode) (icalvalue_get_taskmode ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_taskmode:
 * @self: the #ICalValue of TASKMODE
 * @value: the TASKMODE value
 *
 * Sets value to the TASKMODE @self
 *
 * Since: 2.0
 *
 **/
void
i_cal_value_set_taskmode (ICalValue *self, 
                          ICalPropertyTaskmode value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_taskmode ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_taskmode) (value));
}

/**
 * i_cal_value_new_pollmode:
 * @value: the #ICalPropertyPollmode value
 *
 * Creates a new #ICalValue holding POLLMODE.
 *
 * Returns: (transfer full): a new #ICalValue holding POLLMODE
 *
 * Since: 2.0
 *
 **/
ICalValue *
i_cal_value_new_pollmode (ICalPropertyPollmode value)
{
	return i_cal_value_new_full (icalvalue_new_pollmode ((icalproperty_pollmode) (value)), NULL);
}

/**
 * i_cal_value_get_pollmode:
 * @self: the #ICalValue of POLLMODE
 *
 * Returns value of the POLLMODE @self
 *
 * Returns: the POLLMODE value
 *
 * Since: 2.0
 *
 **/
ICalPropertyPollmode
i_cal_value_get_pollmode (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_POLLMODE_NONE);

	return (ICalPropertyPollmode) (icalvalue_get_pollmode ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_pollmode:
 * @self: the #ICalValue of POLLMODE
 * @value: the POLLMODE value
 *
 * Sets value to the POLLMODE @self
 *
 * Since: 2.0
 *
 **/
void
i_cal_value_set_pollmode (ICalValue *self, 
                          ICalPropertyPollmode value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_pollmode ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_pollmode) (value));
}

/**
 * i_cal_value_new_utcoffset:
 * @value: the integer value
 *
 * Creates a new #ICalValue holding UTCOFFSET.
 *
 * Returns: (transfer full): a new #ICalValue holding UTCOFFSET
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_utcoffset (gint value)
{
	return i_cal_value_new_full (icalvalue_new_utcoffset (value), NULL);
}

/**
 * i_cal_value_get_utcoffset:
 * @self: the #ICalValue of UTCOFFSET
 *
 * Returns value of the UTCOFFSET @self
 *
 * Returns: the UTCOFFSET value
 *
 * Since: 1.0
 *
 **/
gint
i_cal_value_get_utcoffset (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), 0);

	return icalvalue_get_utcoffset ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_utcoffset:
 * @self: the #ICalValue of UTCOFFSET
 * @value: the UTCOFFSET value
 *
 * Sets value to the UTCOFFSET @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_utcoffset (ICalValue *self, 
                           gint value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_utcoffset ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_value_new_method:
 * @value: the #ICalPropertyMethod value
 *
 * Creates a new #ICalValue holding METHOD.
 *
 * Returns: (transfer full): a new #ICalValue holding METHOD
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_method (ICalPropertyMethod value)
{
	return i_cal_value_new_full (icalvalue_new_method ((icalproperty_method) (value)), NULL);
}

/**
 * i_cal_value_get_method:
 * @self: the #ICalValue of METHOD
 *
 * Returns value of the METHOD @self
 *
 * Returns: the METHOD value
 *
 * Since: 1.0
 *
 **/
ICalPropertyMethod
i_cal_value_get_method (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_METHOD_NONE);

	return (ICalPropertyMethod) (icalvalue_get_method ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_method:
 * @self: the #ICalValue of METHOD
 * @value: the METHOD value
 *
 * Sets value to the METHOD @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_method (ICalValue *self, 
                        ICalPropertyMethod value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_method ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_method) (value));
}

/**
 * i_cal_value_new_participanttype:
 * @value: the #ICalPropertyParticipanttype value
 *
 * Creates a new #ICalValue holding PARTICIPANTTYPE.
 *
 * Returns: (transfer full): a new #ICalValue holding PARTICIPANTTYPE
 *
 * Since: 4.0
 *
 **/
ICalValue *
i_cal_value_new_participanttype (ICalPropertyParticipanttype value)
{
	return i_cal_value_new_full (icalvalue_new_participanttype ((icalproperty_participanttype) (value)), NULL);
}

/**
 * i_cal_value_get_participanttype:
 * @self: the #ICalValue of PARTICIPANTTYPE
 *
 * Returns value of the PARTICIPANTTYPE @self
 *
 * Returns: the PARTICIPANTTYPE value
 *
 * Since: 4.0
 *
 **/
ICalPropertyParticipanttype
i_cal_value_get_participanttype (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_PARTICIPANTTYPE_NONE);

	return (ICalPropertyParticipanttype) (icalvalue_get_participanttype ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_participanttype:
 * @self: the #ICalValue of PARTICIPANTTYPE
 * @value: the PARTICIPANTTYPE value
 *
 * Sets value to the PARTICIPANTTYPE @self
 *
 * Since: 4.0
 *
 **/
void
i_cal_value_set_participanttype (ICalValue *self, 
                                 ICalPropertyParticipanttype value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_participanttype ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_participanttype) (value));
}

/**
 * i_cal_value_new_proximity:
 * @value: the #ICalPropertyProximity value
 *
 * Creates a new #ICalValue holding PROXIMITY.
 *
 * Returns: (transfer full): a new #ICalValue holding PROXIMITY
 *
 * Since: 4.0
 *
 **/
ICalValue *
i_cal_value_new_proximity (ICalPropertyProximity value)
{
	return i_cal_value_new_full (icalvalue_new_proximity ((icalproperty_proximity) (value)), NULL);
}

/**
 * i_cal_value_get_proximity:
 * @self: the #ICalValue of PROXIMITY
 *
 * Returns value of the PROXIMITY @self
 *
 * Returns: the PROXIMITY value
 *
 * Since: 4.0
 *
 **/
ICalPropertyProximity
i_cal_value_get_proximity (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_PROXIMITY_NONE);

	return (ICalPropertyProximity) (icalvalue_get_proximity ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_proximity:
 * @self: the #ICalValue of PROXIMITY
 * @value: the PROXIMITY value
 *
 * Sets value to the PROXIMITY @self
 *
 * Since: 4.0
 *
 **/
void
i_cal_value_set_proximity (ICalValue *self, 
                           ICalPropertyProximity value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_proximity ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_proximity) (value));
}

/**
 * i_cal_value_new_resourcetype:
 * @value: the #ICalPropertyResourcetype value
 *
 * Creates a new #ICalValue holding RESOURCETYPE.
 *
 * Returns: (transfer full): a new #ICalValue holding RESOURCETYPE
 *
 * Since: 4.0
 *
 **/
ICalValue *
i_cal_value_new_resourcetype (ICalPropertyResourcetype value)
{
	return i_cal_value_new_full (icalvalue_new_resourcetype ((icalproperty_resourcetype) (value)), NULL);
}

/**
 * i_cal_value_get_resourcetype:
 * @self: the #ICalValue of RESOURCETYPE
 *
 * Returns value of the RESOURCETYPE @self
 *
 * Returns: the RESOURCETYPE value
 *
 * Since: 4.0
 *
 **/
ICalPropertyResourcetype
i_cal_value_get_resourcetype (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_RESOURCETYPE_NONE);

	return (ICalPropertyResourcetype) (icalvalue_get_resourcetype ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_resourcetype:
 * @self: the #ICalValue of RESOURCETYPE
 * @value: the RESOURCETYPE value
 *
 * Sets value to the RESOURCETYPE @self
 *
 * Since: 4.0
 *
 **/
void
i_cal_value_set_resourcetype (ICalValue *self, 
                              ICalPropertyResourcetype value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_resourcetype ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_resourcetype) (value));
}

/**
 * i_cal_value_new_caladdress:
 * @value: the text value
 *
 * Creates a new #ICalValue holding CALADDRESS.
 *
 * Returns: (transfer full): a new #ICalValue holding CALADDRESS
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_caladdress (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_value_new_full (icalvalue_new_caladdress (value), NULL);
}

/**
 * i_cal_value_get_caladdress:
 * @self: the #ICalValue of CALADDRESS
 *
 * Returns value of the CALADDRESS @self
 *
 * Returns: the CALADDRESS value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_value_get_caladdress (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return icalvalue_get_caladdress ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_caladdress:
 * @self: the #ICalValue of CALADDRESS
 * @value: the CALADDRESS value
 *
 * Sets value to the CALADDRESS @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_caladdress (ICalValue *self, 
                            const gchar *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (value != NULL);

	icalvalue_set_caladdress ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_value_new_period:
 * @value: the #ICalPeriod value
 *
 * Creates a new #ICalValue holding PERIOD.
 *
 * Returns: (transfer full): a new #ICalValue holding PERIOD
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_period (const ICalPeriod *value)
{
    g_return_val_if_fail (I_CAL_IS_PERIOD ((ICalPeriod*)value), NULL);

	return i_cal_value_new_full (icalvalue_new_period (* (struct icalperiodtype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value))), NULL);
}

/**
 * i_cal_value_get_period:
 * @self: the #ICalValue of PERIOD
 *
 * Returns value of the PERIOD @self
 *
 * Returns: (transfer full): the PERIOD value
 *
 * Since: 1.0
 *
 **/
ICalPeriod *
i_cal_value_get_period (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return i_cal_period_new_full (icalvalue_get_period ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_period:
 * @self: the #ICalValue of PERIOD
 * @value: the PERIOD value
 *
 * Sets value to the PERIOD @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_period (ICalValue *self, 
                        const ICalPeriod *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (I_CAL_IS_PERIOD ((ICalPeriod*)value));

	icalvalue_set_period ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), * (struct icalperiodtype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value)));
}

/**
 * i_cal_value_new_status:
 * @value: the #ICalPropertyStatus value
 *
 * Creates a new #ICalValue holding STATUS.
 *
 * Returns: (transfer full): a new #ICalValue holding STATUS
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_status (ICalPropertyStatus value)
{
	return i_cal_value_new_full (icalvalue_new_status ((icalproperty_status) (value)), NULL);
}

/**
 * i_cal_value_get_status:
 * @self: the #ICalValue of STATUS
 *
 * Returns value of the STATUS @self
 *
 * Returns: the STATUS value
 *
 * Since: 1.0
 *
 **/
ICalPropertyStatus
i_cal_value_get_status (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_STATUS_NONE);

	return (ICalPropertyStatus) (icalvalue_get_status ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_status:
 * @self: the #ICalValue of STATUS
 * @value: the STATUS value
 *
 * Sets value to the STATUS @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_status (ICalValue *self, 
                        ICalPropertyStatus value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_status ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_status) (value));
}

/**
 * i_cal_value_new_binary:
 * @value: the text value
 *
 * Creates a new #ICalValue holding BINARY.
 *
 * Returns: (transfer full): a new #ICalValue holding BINARY
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_binary (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_value_new_full (icalvalue_new_binary (value), NULL);
}

/**
 * i_cal_value_get_binary:
 * @self: the #ICalValue of BINARY
 *
 * Returns value of the BINARY @self
 *
 * Returns: the BINARY value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_value_get_binary (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return icalvalue_get_binary ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_binary:
 * @self: the #ICalValue of BINARY
 * @value: the BINARY value
 *
 * Sets value to the BINARY @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_binary (ICalValue *self, 
                        const gchar *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (value != NULL);

	icalvalue_set_binary ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_value_new_text:
 * @value: the text value
 *
 * Creates a new #ICalValue holding TEXT.
 *
 * Returns: (transfer full): a new #ICalValue holding TEXT
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_text (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_value_new_full (icalvalue_new_text (value), NULL);
}

/**
 * i_cal_value_get_text:
 * @self: the #ICalValue of TEXT
 *
 * Returns value of the TEXT @self
 *
 * Returns: the TEXT value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_value_get_text (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return icalvalue_get_text ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_text:
 * @self: the #ICalValue of TEXT
 * @value: the TEXT value
 *
 * Sets value to the TEXT @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_text (ICalValue *self, 
                      const gchar *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (value != NULL);

	icalvalue_set_text ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_value_new_color:
 * @value: the text value
 *
 * Creates a new #ICalValue holding COLOR.
 *
 * Returns: (transfer full): a new #ICalValue holding COLOR
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_color (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_value_new_full (icalvalue_new_color (value), NULL);
}

/**
 * i_cal_value_get_color:
 * @self: the #ICalValue of COLOR
 *
 * Returns value of the COLOR @self
 *
 * Returns: the COLOR value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_value_get_color (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return icalvalue_get_color ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_color:
 * @self: the #ICalValue of COLOR
 * @value: the COLOR value
 *
 * Sets value to the COLOR @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_color (ICalValue *self, 
                       const gchar *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (value != NULL);

	icalvalue_set_color ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_value_new_duration:
 * @value: the #ICalDuration value
 *
 * Creates a new #ICalValue holding DURATION.
 *
 * Returns: (transfer full): a new #ICalValue holding DURATION
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_duration (const ICalDuration *value)
{
    g_return_val_if_fail (I_CAL_IS_DURATION ((ICalDuration*)value), NULL);

	return i_cal_value_new_full (icalvalue_new_duration (* (struct icaldurationtype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value))), NULL);
}

/**
 * i_cal_value_get_duration:
 * @self: the #ICalValue of DURATION
 *
 * Returns value of the DURATION @self
 *
 * Returns: (transfer full): the DURATION value
 *
 * Since: 1.0
 *
 **/
ICalDuration *
i_cal_value_get_duration (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return i_cal_duration_new_full (icalvalue_get_duration ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_duration:
 * @self: the #ICalValue of DURATION
 * @value: the DURATION value
 *
 * Sets value to the DURATION @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_duration (ICalValue *self, 
                          const ICalDuration *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (I_CAL_IS_DURATION ((ICalDuration*)value));

	icalvalue_set_duration ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), * (struct icaldurationtype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value)));
}

/**
 * i_cal_value_new_integer:
 * @value: the integer value
 *
 * Creates a new #ICalValue holding INTEGER.
 *
 * Returns: (transfer full): a new #ICalValue holding INTEGER
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_integer (gint value)
{
	return i_cal_value_new_full (icalvalue_new_integer (value), NULL);
}

/**
 * i_cal_value_get_integer:
 * @self: the #ICalValue of INTEGER
 *
 * Returns value of the INTEGER @self
 *
 * Returns: the INTEGER value
 *
 * Since: 1.0
 *
 **/
gint
i_cal_value_get_integer (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), 0);

	return icalvalue_get_integer ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_integer:
 * @self: the #ICalValue of INTEGER
 * @value: the INTEGER value
 *
 * Sets value to the INTEGER @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_integer (ICalValue *self, 
                         gint value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_integer ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_value_new_uid:
 * @value: the text value
 *
 * Creates a new #ICalValue holding UID.
 *
 * Returns: (transfer full): a new #ICalValue holding UID
 *
 * Since: 4.0
 *
 **/
ICalValue *
i_cal_value_new_uid (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_value_new_full (icalvalue_new_uid (value), NULL);
}

/**
 * i_cal_value_get_uid:
 * @self: the #ICalValue of UID
 *
 * Returns value of the UID @self
 *
 * Returns: the UID value
 *
 * Since: 4.0
 *
 **/
const gchar *
i_cal_value_get_uid (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return icalvalue_get_uid ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_uid:
 * @self: the #ICalValue of UID
 * @value: the UID value
 *
 * Sets value to the UID @self
 *
 * Since: 4.0
 *
 **/
void
i_cal_value_set_uid (ICalValue *self, 
                     const gchar *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (value != NULL);

	icalvalue_set_uid ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_value_new_uri:
 * @value: the text value
 *
 * Creates a new #ICalValue holding URI.
 *
 * Returns: (transfer full): a new #ICalValue holding URI
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_uri (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_value_new_full (icalvalue_new_uri (value), NULL);
}

/**
 * i_cal_value_get_uri:
 * @self: the #ICalValue of URI
 *
 * Returns value of the URI @self
 *
 * Returns: the URI value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_value_get_uri (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return icalvalue_get_uri ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_uri:
 * @self: the #ICalValue of URI
 * @value: the URI value
 *
 * Sets value to the URI @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_uri (ICalValue *self, 
                     const gchar *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (value != NULL);

	icalvalue_set_uri ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_value_new_class:
 * @value: the #ICalPropertyClassenum value
 *
 * Creates a new #ICalValue holding CLASS.
 *
 * Returns: (transfer full): a new #ICalValue holding CLASS
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_class (ICalPropertyClassenum value)
{
	return i_cal_value_new_full (icalvalue_new_class ((icalproperty_class) (value)), NULL);
}

/**
 * i_cal_value_get_class:
 * @self: the #ICalValue of CLASS
 *
 * Returns value of the CLASS @self
 *
 * Returns: the CLASS value
 *
 * Since: 1.0
 *
 **/
ICalPropertyClassenum
i_cal_value_get_class (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_CLASS_NONE);

	return (ICalPropertyClassenum) (icalvalue_get_class ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_class:
 * @self: the #ICalValue of CLASS
 * @value: the CLASS value
 *
 * Sets value to the CLASS @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_class (ICalValue *self, 
                       ICalPropertyClassenum value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_class ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_class) (value));
}

/**
 * i_cal_value_new_float:
 * @value: the float value
 *
 * Creates a new #ICalValue holding FLOAT.
 *
 * Returns: (transfer full): a new #ICalValue holding FLOAT
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_float (gdouble value)
{
	return i_cal_value_new_full (icalvalue_new_float (value), NULL);
}

/**
 * i_cal_value_get_float:
 * @self: the #ICalValue of FLOAT
 *
 * Returns value of the FLOAT @self
 *
 * Returns: the FLOAT value
 *
 * Since: 1.0
 *
 **/
gdouble
i_cal_value_get_float (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), 0);

	return icalvalue_get_float ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_float:
 * @self: the #ICalValue of FLOAT
 * @value: the FLOAT value
 *
 * Sets value to the FLOAT @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_float (ICalValue *self, 
                       gdouble value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_float ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_value_new_query:
 * @value: the text value
 *
 * Creates a new #ICalValue holding QUERY.
 *
 * Returns: (transfer full): a new #ICalValue holding QUERY
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_query (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_value_new_full (icalvalue_new_query (value), NULL);
}

/**
 * i_cal_value_get_query:
 * @self: the #ICalValue of QUERY
 *
 * Returns value of the QUERY @self
 *
 * Returns: the QUERY value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_value_get_query (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return icalvalue_get_query ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_query:
 * @self: the #ICalValue of QUERY
 * @value: the QUERY value
 *
 * Sets value to the QUERY @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_query (ICalValue *self, 
                       const gchar *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (value != NULL);

	icalvalue_set_query ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_value_new_string:
 * @value: the text value
 *
 * Creates a new #ICalValue holding STRING.
 *
 * Returns: (transfer full): a new #ICalValue holding STRING
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_string (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_value_new_full (icalvalue_new_string (value), NULL);
}

/**
 * i_cal_value_get_string:
 * @self: the #ICalValue of STRING
 *
 * Returns value of the STRING @self
 *
 * Returns: the STRING value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_value_get_string (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return icalvalue_get_string ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_string:
 * @self: the #ICalValue of STRING
 * @value: the STRING value
 *
 * Sets value to the STRING @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_string (ICalValue *self, 
                        const gchar *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (value != NULL);

	icalvalue_set_string ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_value_new_transp:
 * @value: the #ICalPropertyTransp value
 *
 * Creates a new #ICalValue holding TRANSP.
 *
 * Returns: (transfer full): a new #ICalValue holding TRANSP
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_transp (ICalPropertyTransp value)
{
	return i_cal_value_new_full (icalvalue_new_transp ((icalproperty_transp) (value)), NULL);
}

/**
 * i_cal_value_get_transp:
 * @self: the #ICalValue of TRANSP
 *
 * Returns value of the TRANSP @self
 *
 * Returns: the TRANSP value
 *
 * Since: 1.0
 *
 **/
ICalPropertyTransp
i_cal_value_get_transp (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_TRANSP_NONE);

	return (ICalPropertyTransp) (icalvalue_get_transp ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_transp:
 * @self: the #ICalValue of TRANSP
 * @value: the TRANSP value
 *
 * Sets value to the TRANSP @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_transp (ICalValue *self, 
                        ICalPropertyTransp value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_transp ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_transp) (value));
}

/**
 * i_cal_value_new_requeststatus:
 * @value: the #ICalReqstat value
 *
 * Creates a new #ICalValue holding REQUESTSTATUS.
 *
 * Returns: (transfer full): a new #ICalValue holding REQUESTSTATUS
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_requeststatus (const ICalReqstat *value)
{
    g_return_val_if_fail (I_CAL_IS_REQSTAT ((ICalReqstat*)value), NULL);

	return i_cal_value_new_full (icalvalue_new_requeststatus (* (struct icalreqstattype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value))), NULL);
}

/**
 * i_cal_value_get_requeststatus:
 * @self: the #ICalValue of REQUESTSTATUS
 *
 * Returns value of the REQUESTSTATUS @self
 *
 * Returns: (transfer full): the REQUESTSTATUS value
 *
 * Since: 1.0
 *
 **/
ICalReqstat *
i_cal_value_get_requeststatus (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return i_cal_reqstat_new_full (icalvalue_get_requeststatus ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_requeststatus:
 * @self: the #ICalValue of REQUESTSTATUS
 * @value: the REQUESTSTATUS value
 *
 * Sets value to the REQUESTSTATUS @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_requeststatus (ICalValue *self, 
                               const ICalReqstat *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (I_CAL_IS_REQSTAT ((ICalReqstat*)value));

	icalvalue_set_requeststatus ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), * (struct icalreqstattype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value)));
}

/**
 * i_cal_value_new_date:
 * @value: the #ICalTime value
 *
 * Creates a new #ICalValue holding DATE.
 *
 * Returns: (transfer full): a new #ICalValue holding DATE
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_date (const ICalTime *value)
{
    g_return_val_if_fail (I_CAL_IS_TIME ((ICalTime*)value), NULL);

	return i_cal_value_new_full (icalvalue_new_date (* (struct icaltimetype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value))), NULL);
}

/**
 * i_cal_value_get_date:
 * @self: the #ICalValue of DATE
 *
 * Returns value of the DATE @self
 *
 * Returns: (transfer full): the DATE value
 *
 * Since: 1.0
 *
 **/
ICalTime *
i_cal_value_get_date (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return i_cal_time_new_full (icalvalue_get_date ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_date:
 * @self: the #ICalValue of DATE
 * @value: the DATE value
 *
 * Sets value to the DATE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_date (ICalValue *self, 
                      const ICalTime *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (I_CAL_IS_TIME ((ICalTime*)value));

	icalvalue_set_date ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), * (struct icaltimetype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value)));
}

/**
 * i_cal_value_new_action:
 * @value: the #ICalPropertyAction value
 *
 * Creates a new #ICalValue holding ACTION.
 *
 * Returns: (transfer full): a new #ICalValue holding ACTION
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_action (ICalPropertyAction value)
{
	return i_cal_value_new_full (icalvalue_new_action ((icalproperty_action) (value)), NULL);
}

/**
 * i_cal_value_get_action:
 * @self: the #ICalValue of ACTION
 *
 * Returns value of the ACTION @self
 *
 * Returns: the ACTION value
 *
 * Since: 1.0
 *
 **/
ICalPropertyAction
i_cal_value_get_action (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_ACTION_NONE);

	return (ICalPropertyAction) (icalvalue_get_action ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_action:
 * @self: the #ICalValue of ACTION
 * @value: the ACTION value
 *
 * Sets value to the ACTION @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_action (ICalValue *self, 
                        ICalPropertyAction value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_action ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_action) (value));
}

/**
 * i_cal_value_new_cmd:
 * @value: the #ICalPropertyCmd value
 *
 * Creates a new #ICalValue holding CMD.
 *
 * Returns: (transfer full): a new #ICalValue holding CMD
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_cmd (ICalPropertyCmd value)
{
	return i_cal_value_new_full (icalvalue_new_cmd ((icalproperty_cmd) (value)), NULL);
}

/**
 * i_cal_value_get_cmd:
 * @self: the #ICalValue of CMD
 *
 * Returns value of the CMD @self
 *
 * Returns: the CMD value
 *
 * Since: 1.0
 *
 **/
ICalPropertyCmd
i_cal_value_get_cmd (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_CMD_NONE);

	return (ICalPropertyCmd) (icalvalue_get_cmd ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_cmd:
 * @self: the #ICalValue of CMD
 * @value: the CMD value
 *
 * Sets value to the CMD @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_cmd (ICalValue *self, 
                     ICalPropertyCmd value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_cmd ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_cmd) (value));
}

/**
 * i_cal_value_new_querylevel:
 * @value: the #ICalPropertyQuerylevel value
 *
 * Creates a new #ICalValue holding QUERYLEVEL.
 *
 * Returns: (transfer full): a new #ICalValue holding QUERYLEVEL
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_querylevel (ICalPropertyQuerylevel value)
{
	return i_cal_value_new_full (icalvalue_new_querylevel ((icalproperty_querylevel) (value)), NULL);
}

/**
 * i_cal_value_get_querylevel:
 * @self: the #ICalValue of QUERYLEVEL
 *
 * Returns value of the QUERYLEVEL @self
 *
 * Returns: the QUERYLEVEL value
 *
 * Since: 1.0
 *
 **/
ICalPropertyQuerylevel
i_cal_value_get_querylevel (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_QUERYLEVEL_NONE);

	return (ICalPropertyQuerylevel) (icalvalue_get_querylevel ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_querylevel:
 * @self: the #ICalValue of QUERYLEVEL
 * @value: the QUERYLEVEL value
 *
 * Sets value to the QUERYLEVEL @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_querylevel (ICalValue *self, 
                            ICalPropertyQuerylevel value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_querylevel ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_querylevel) (value));
}

/**
 * i_cal_value_new_carlevel:
 * @value: the #ICalPropertyCarlevel value
 *
 * Creates a new #ICalValue holding CARLEVEL.
 *
 * Returns: (transfer full): a new #ICalValue holding CARLEVEL
 *
 * Since: 1.0
 *
 **/
ICalValue *
i_cal_value_new_carlevel (ICalPropertyCarlevel value)
{
	return i_cal_value_new_full (icalvalue_new_carlevel ((icalproperty_carlevel) (value)), NULL);
}

/**
 * i_cal_value_get_carlevel:
 * @self: the #ICalValue of CARLEVEL
 *
 * Returns value of the CARLEVEL @self
 *
 * Returns: the CARLEVEL value
 *
 * Since: 1.0
 *
 **/
ICalPropertyCarlevel
i_cal_value_get_carlevel (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), I_CAL_CARLEVEL_NONE);

	return (ICalPropertyCarlevel) (icalvalue_get_carlevel ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_value_set_carlevel:
 * @self: the #ICalValue of CARLEVEL
 * @value: the CARLEVEL value
 *
 * Sets value to the CARLEVEL @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_value_set_carlevel (ICalValue *self, 
                          ICalPropertyCarlevel value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));

	icalvalue_set_carlevel ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalproperty_carlevel) (value));
}

/**
 * i_cal_value_new_xmlreference:
 * @value: the text value
 *
 * Creates a new #ICalValue holding XMLREFERENCE.
 *
 * Returns: (transfer full): a new #ICalValue holding XMLREFERENCE
 *
 * Since: 4.0
 *
 **/
ICalValue *
i_cal_value_new_xmlreference (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_value_new_full (icalvalue_new_xmlreference (value), NULL);
}

/**
 * i_cal_value_get_xmlreference:
 * @self: the #ICalValue of XMLREFERENCE
 *
 * Returns value of the XMLREFERENCE @self
 *
 * Returns: the XMLREFERENCE value
 *
 * Since: 4.0
 *
 **/
const gchar *
i_cal_value_get_xmlreference (const ICalValue *self)
{
    g_return_val_if_fail (I_CAL_IS_VALUE ((ICalValue*)self), NULL);

	return icalvalue_get_xmlreference ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_value_set_xmlreference:
 * @self: the #ICalValue of XMLREFERENCE
 * @value: the XMLREFERENCE value
 *
 * Sets value to the XMLREFERENCE @self
 *
 * Since: 4.0
 *
 **/
void
i_cal_value_set_xmlreference (ICalValue *self, 
                              const gchar *value)
{
    g_return_if_fail (I_CAL_IS_VALUE ((ICalValue*)self));
    g_return_if_fail (value != NULL);

	icalvalue_set_xmlreference ((icalvalue *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}
