/* 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-parameter.h"
#include "libical-glib-private.h"
#include "i-cal-parameter.h"
#include "i-cal-duration.h"
#include "i-cal-enum-array.h"
#include "i-cal-str-array.h"

/**
 * i_cal_parameter_enum_to_string:
 * @e: an enum numeric value
 *
 * Converts an integer representation of a parameter enum to a string.
 *
 * Returns: string representation of the enum value @e.
 *
 * Since: 4.0
 *
 **/
const gchar *
i_cal_parameter_enum_to_string (gint e)
{
	return icalparameter_enum_to_string (e);
}

/**
 * i_cal_parameter_enum_from_string:
 * @str: a string enum value
 *
 * Converts a string representation of a parameter enum to a its numeric value.
 *
 * Returns: an integer representation of the string enum value @str.
 *
 * Since: 4.0
 *
 **/
gint
i_cal_parameter_enum_from_string (const gchar *str)
{
    g_return_val_if_fail (str != NULL, 0);

	return icalparameter_string_to_enum (str);
}

/**
 * i_cal_parameter_new_actionparam:
 * @value: the #ICalParameterAction value
 *
 * Creates a new #ICalParameter holding ACTIONPARAM.
 *
 * Returns: (transfer full): a new #ICalParameter holding ACTIONPARAM
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_actionparam (ICalParameterAction value)
{
	return i_cal_parameter_new_full (icalparameter_new_actionparam ((icalparameter_action) (value)), NULL);
}

/**
 * i_cal_parameter_get_actionparam:
 * @self: the #ICalParameter of ACTIONPARAM
 *
 * Returns value of the ACTIONPARAM @self
 *
 * Returns: the ACTIONPARAM value
 *
 * Since: 1.0
 *
 **/
ICalParameterAction
i_cal_parameter_get_actionparam (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_ACTIONPARAM_NONE);

	return (ICalParameterAction) (icalparameter_get_actionparam ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_actionparam:
 * @self: the #ICalParameter of ACTIONPARAM
 * @value: the ACTIONPARAM value
 *
 * Sets value to the ACTIONPARAM @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_actionparam (ICalParameter *self, 
                                 ICalParameterAction value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_actionparam ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_action) (value));
}

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

	return i_cal_parameter_new_full (icalparameter_new_altrep (value), NULL);
}

/**
 * i_cal_parameter_get_altrep:
 * @self: the #ICalParameter of ALTREP
 *
 * Returns value of the ALTREP @self
 *
 * Returns: the ALTREP value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_altrep (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_altrep ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_altrep:
 * @self: the #ICalParameter of ALTREP
 * @value: the ALTREP value
 *
 * Sets value to the ALTREP @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_altrep (ICalParameter *self, 
                            const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_altrep ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

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

	return i_cal_parameter_new_full (icalparameter_new_charset (value), NULL);
}

/**
 * i_cal_parameter_get_charset:
 * @self: the #ICalParameter of CHARSET
 *
 * Returns value of the CHARSET @self
 *
 * Returns: the CHARSET value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_charset (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_charset ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_charset:
 * @self: the #ICalParameter of CHARSET
 * @value: the CHARSET value
 *
 * Sets value to the CHARSET @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_charset (ICalParameter *self, 
                             const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_charset ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

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

	return i_cal_parameter_new_full (icalparameter_new_cn (value), NULL);
}

/**
 * i_cal_parameter_get_cn:
 * @self: the #ICalParameter of CN
 *
 * Returns value of the CN @self
 *
 * Returns: the CN value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_cn (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_cn ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_cn:
 * @self: the #ICalParameter of CN
 * @value: the CN value
 *
 * Sets value to the CN @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_cn (ICalParameter *self, 
                        const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_cn ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_cutype:
 * @value: the #ICalParameterCutype value
 *
 * Creates a new #ICalParameter holding CUTYPE.
 *
 * Returns: (transfer full): a new #ICalParameter holding CUTYPE
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_cutype (ICalParameterCutype value)
{
	return i_cal_parameter_new_full (icalparameter_new_cutype ((icalparameter_cutype) (value)), NULL);
}

/**
 * i_cal_parameter_get_cutype:
 * @self: the #ICalParameter of CUTYPE
 *
 * Returns value of the CUTYPE @self
 *
 * Returns: the CUTYPE value
 *
 * Since: 1.0
 *
 **/
ICalParameterCutype
i_cal_parameter_get_cutype (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_CUTYPE_NONE);

	return (ICalParameterCutype) (icalparameter_get_cutype ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_cutype:
 * @self: the #ICalParameter of CUTYPE
 * @value: the CUTYPE value
 *
 * Sets value to the CUTYPE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_cutype (ICalParameter *self, 
                            ICalParameterCutype value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_cutype ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_cutype) (value));
}

/**
 * i_cal_parameter_new_delegatedfrom:
 * @value: the value of the new #ICalParameter
 *
 * Creates a new #ICalParameter holding DELEGATEDFROM.
 *
 * Returns: (transfer full): a new #ICalParameter holding DELEGATEDFROM
 *
 * Since: 4.0
 *
 **/
ICalParameter *
i_cal_parameter_new_delegatedfrom (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_parameter_new_full (icalparameter_new_delegatedfrom (value), NULL);
}

/**
 * i_cal_parameter_new_delegatedfrom_list:
 * @value: (transfer none): the string array as a value for the new ICalParameter holding DELEGATEDFROM
 *
 * Creates a new #ICalParameter holding DELEGATEDFROM.
 *
 * Note: this uses a copy of the string array,
 * not the one stored in the @value
 *
 * Returns: (transfer full) (nullable): a new #ICalParameter holding DELEGATEDFROM
 *
 * Since: 4.0
 *
 **/
ICalParameter *
i_cal_parameter_new_delegatedfrom_list (const ICalStrArray *value)
{
    icalstrarray *val;
    g_return_val_if_fail(value != NULL, NULL);
    val = (icalstrarray *)i_cal_object_get_native((ICalObject *)value);
    if (val == NULL) {
        return NULL;
    }
    return i_cal_parameter_new_full(icalparameter_new_delegatedfrom_list(icalstrarray_clone(val)), NULL);
}

/**
 * i_cal_parameter_get_delegatedfrom:
 * @self: the #ICalParameter of DELEGATEDFROM
 *
 * Gets the value of the @self of DELEGATEDFROM.
 *
 * Note: this returns copy of the string array, not
 * the one stored in the @self
 *
 * Returns: (transfer full): the #ICalStrArray value of the @self
 *
 * Since: 4.0
 *
 **/
ICalStrArray *
i_cal_parameter_get_delegatedfrom (const ICalParameter *self)
{
    icalstrarray *val;
    g_return_val_if_fail(self != NULL, NULL);
    val = icalparameter_get_delegatedfrom((icalparameter *)i_cal_object_get_native((ICalObject *)self));
    if (val == NULL) {
        return NULL;
    }
    return i_cal_str_array_new_full(icalstrarray_clone(val), NULL);
}

/**
 * i_cal_parameter_set_delegatedfrom:
 * @self: the #ICalParameter of DELEGATEDFROM
 * @value: the string array value
 *
 * Sets the value of the @self of DELEGATEDFROM.
 *
 * Note: this uses a copy of the string array, not the
 * one stored in the @value
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_set_delegatedfrom (ICalParameter *self, 
                                   const ICalStrArray *value)
{
    g_return_if_fail(self != NULL);
    icalparameter_set_delegatedfrom((icalparameter *)i_cal_object_get_native((ICalObject *)self),
        icalstrarray_clone((icalstrarray *)i_cal_object_get_native((ICalObject *)value)));
}

/**
 * i_cal_parameter_get_delegatedfrom_size:
 * @self: the #ICalParameter of DELEGATEDFROM
 *
 * Returns number of elements in the @self of DELEGATEDFROM
 *
 * Returns: number of elements
 *
 * Since: 4.0
 *
 **/
gsize
i_cal_parameter_get_delegatedfrom_size (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), 0);

	return icalparameter_get_delegatedfrom_size ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_get_delegatedfrom_nth:
 * @self: the #ICalParameter of DELEGATEDFROM
 * @position: Position of the DELEGATEDFROM item to get
 *
 * Returns the n-th element of the @self of DELEGATEDFROM
 *
 * Returns: (nullable): n-th element of the DELEGATEDFROM @self
 *
 * Since: 4.0
 *
 **/
const gchar *
i_cal_parameter_get_delegatedfrom_nth (const ICalParameter *self, 
                                       gsize position)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_delegatedfrom_nth ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), position);
}

/**
 * i_cal_parameter_add_delegatedfrom:
 * @self: the #ICalParameter of DELEGATEDFROM
 * @value: the string to add into the @self
 *
 * Adds a string into the @self of DELEGATEDFROM.
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_add_delegatedfrom (ICalParameter *self, 
                                   const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_add_delegatedfrom ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_remove_delegatedfrom:
 * @self: the #ICalParameter of DELEGATEDFROM
 * @value: the string to remove from the @self
 *
 * Removes a string from the @self of DELEGATEDFROM.
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_remove_delegatedfrom (ICalParameter *self, 
                                      const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_remove_delegatedfrom ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_delegatedto:
 * @value: the value of the new #ICalParameter
 *
 * Creates a new #ICalParameter holding DELEGATEDTO.
 *
 * Returns: (transfer full): a new #ICalParameter holding DELEGATEDTO
 *
 * Since: 4.0
 *
 **/
ICalParameter *
i_cal_parameter_new_delegatedto (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_parameter_new_full (icalparameter_new_delegatedto (value), NULL);
}

/**
 * i_cal_parameter_new_delegatedto_list:
 * @value: (transfer none): the string array as a value for the new ICalParameter holding DELEGATEDTO
 *
 * Creates a new #ICalParameter holding DELEGATEDTO.
 *
 * Note: this uses a copy of the string array, not
 * the one stored in the @value
 *
 * Returns: (transfer full) (nullable): a new #ICalParameter holding DELEGATEDTO
 *
 * Since: 4.0
 *
 **/
ICalParameter *
i_cal_parameter_new_delegatedto_list (const ICalStrArray *value)
{
    icalstrarray *val;
    g_return_val_if_fail(value != NULL, NULL);
    val = (icalstrarray *)i_cal_object_get_native((ICalObject *)value);
    if (val == NULL) {
        return NULL;
    }
    return i_cal_parameter_new_full(icalparameter_new_delegatedto_list(icalstrarray_clone(val)), NULL);
}

/**
 * i_cal_parameter_get_delegatedto:
 * @self: the #ICalParameter of DELEGATEDTO
 *
 * Gets the value of the @self of DELEGATEDTO.
 *
 * Note: this returns copy of the string array, not the
 * one stored in the @self
 *
 * Returns: (transfer full): the #ICalStrArray value of the @self
 *
 * Since: 4.0
 *
 **/
ICalStrArray *
i_cal_parameter_get_delegatedto (const ICalParameter *self)
{
    icalstrarray *val;
    g_return_val_if_fail(self != NULL, NULL);
    val = icalparameter_get_delegatedto((icalparameter *)i_cal_object_get_native((ICalObject *)self));
    if (val == NULL) {
        return NULL;
    }
    return i_cal_str_array_new_full(icalstrarray_clone(val), NULL);
}

/**
 * i_cal_parameter_set_delegatedto:
 * @self: the #ICalParameter of DELEGATEDTO
 * @value: the string array value
 *
 * Sets the value of the @self of DELEGATEDTO.
 *
 * Note: this uses a copy of the string array, not the
 * one stored in the @value
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_set_delegatedto (ICalParameter *self, 
                                 const ICalStrArray *value)
{
    g_return_if_fail(self != NULL);
    icalparameter_set_delegatedto((icalparameter *)i_cal_object_get_native((ICalObject *)self),
        icalstrarray_clone((icalstrarray *)i_cal_object_get_native((ICalObject *)value)));
}

/**
 * i_cal_parameter_get_delegatedto_size:
 * @self: the #ICalParameter of DELEGATEDTO
 *
 * Returns number of elements in the @self of DELEGATEDTO
 *
 * Returns: number of elements
 *
 * Since: 4.0
 *
 **/
gsize
i_cal_parameter_get_delegatedto_size (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), 0);

	return icalparameter_get_delegatedto_size ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_get_delegatedto_nth:
 * @self: the #ICalParameter of DELEGATEDTO
 * @position: Position of the DELEGATEDTO item to get
 *
 * Returns the n-th element of the @self of DELEGATEDTO
 *
 * Returns: (nullable): n-th element of the DELEGATEDTO @self
 *
 * Since: 4.0
 *
 **/
const gchar *
i_cal_parameter_get_delegatedto_nth (const ICalParameter *self, 
                                     gsize position)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_delegatedto_nth ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), position);
}

/**
 * i_cal_parameter_add_delegatedto:
 * @self: the #ICalParameter of DELEGATEDTO
 * @value: the string to add into the @self
 *
 * Adds a string into the @self of DELEGATEDTO.
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_add_delegatedto (ICalParameter *self, 
                                 const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_add_delegatedto ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_remove_delegatedto:
 * @self: the #ICalParameter of DELEGATEDTO
 * @value: the string to remove from the @self
 *
 * Removes a string from the @self of DELEGATEDTO.
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_remove_delegatedto (ICalParameter *self, 
                                    const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_remove_delegatedto ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_derived:
 * @value: the #ICalParameterDerived value
 *
 * Creates a new #ICalParameter holding DERIVED.
 *
 * Returns: (transfer full): a new #ICalParameter holding DERIVED
 *
 * Since: 4.0
 *
 **/
ICalParameter *
i_cal_parameter_new_derived (ICalParameterDerived value)
{
	return i_cal_parameter_new_full (icalparameter_new_derived ((icalparameter_derived) (value)), NULL);
}

/**
 * i_cal_parameter_get_derived:
 * @self: the #ICalParameter of DERIVED
 *
 * Returns value of the DERIVED @self
 *
 * Returns: the DERIVED value
 *
 * Since: 4.0
 *
 **/
ICalParameterDerived
i_cal_parameter_get_derived (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_DERIVED_NONE);

	return (ICalParameterDerived) (icalparameter_get_derived ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_derived:
 * @self: the #ICalParameter of DERIVED
 * @value: the DERIVED value
 *
 * Sets value to the DERIVED @self
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_set_derived (ICalParameter *self, 
                             ICalParameterDerived value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_derived ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_derived) (value));
}

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

	return i_cal_parameter_new_full (icalparameter_new_dir (value), NULL);
}

/**
 * i_cal_parameter_get_dir:
 * @self: the #ICalParameter of DIR
 *
 * Returns value of the DIR @self
 *
 * Returns: the DIR value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_dir (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_dir ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_dir:
 * @self: the #ICalParameter of DIR
 * @value: the DIR value
 *
 * Sets value to the DIR @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_dir (ICalParameter *self, 
                         const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_dir ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_display:
 * @value: the #ICalParameterDisplay value of the new #ICalParameter
 *
 * Creates a new #ICalParameter holding DISPLAY.
 *
 * Returns: (transfer full) (nullable): a new #ICalParameter holding DISPLAY
 *
 * Since: 4.0
 *
 **/
ICalParameter *
i_cal_parameter_new_display (ICalParameterDisplay value)
{
	return i_cal_parameter_new_full (icalparameter_new_display ((icalparameter_display) (value)), NULL);
}

/**
 * i_cal_parameter_new_display_list:
 * @value: the array value to use for the new #ICalParameter
 *
 * Note: this uses a copy of the array, not the one stored in the @value
 *
 * Returns: (transfer full) (nullable): a new #ICalParameter holding DISPLAY
 *
 * Since: 4.0
 *
 **/
ICalParameter *
i_cal_parameter_new_display_list (const ICalEnumArray *value)
{
    icalenumarray *val;
    g_return_val_if_fail(value != NULL, NULL);
    val = (icalenumarray *)i_cal_object_get_native((ICalObject *)value);
    if (val == NULL) {
        return NULL;
    }
    return i_cal_parameter_new_full(icalparameter_new_display_list(icalenumarray_clone(val)), NULL);
}

/**
 * i_cal_parameter_get_display:
 * @self: the #ICalParameter of DISPLAY
 *
 * Gets the value of the @self of DISPLAY.
 *
 * Note: this returns copy of the array, not the one stored
 * in the @self
 *
 * Returns: (transfer full): the #ICalEnumArray value of the @self
 *
 * Since: 4.0
 *
 **/
ICalEnumArray *
i_cal_parameter_get_display (const ICalParameter *self)
{
    icalenumarray *val;
    g_return_val_if_fail(self != NULL, NULL);
    val = icalparameter_get_display((icalparameter *)i_cal_object_get_native((ICalObject *)self));
    if (val == NULL) {
        return NULL;
    }
    return i_cal_enum_array_new_full(icalenumarray_clone(val), NULL);
}

/**
 * i_cal_parameter_set_display:
 * @self: the #ICalParameter of DISPLAY
 * @value: the array value
 *
 * Sets the value of the @self of DISPLAY.
 *
 * Note: this uses a copy of the array, not the one stored
 * in the @value
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_set_display (ICalParameter *self, 
                             const ICalEnumArray *value)
{
    g_return_if_fail(self != NULL);
    icalparameter_set_display((icalparameter *)i_cal_object_get_native((ICalObject *)self),
        icalenumarray_clone((icalenumarray *)i_cal_object_get_native((ICalObject *)value)));
}

/**
 * i_cal_parameter_get_display_size:
 * @self: the #ICalParameter of DISPLAY
 *
 * Returns number of elements in the @self of DISPLAY
 *
 * Returns: number of elements
 *
 * Since: 4.0
 *
 **/
gsize
i_cal_parameter_get_display_size (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), 0);

	return icalparameter_get_display_size ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_get_display_nth:
 * @self: the #ICalParameter of DISPLAY
 * @position: the position of the element
 *
 * Returns the n-th element of the @self of DISPLAY
 *
 * Returns: the n-th element
 *
 * Since: 4.0
 *
 **/
ICalParameterDisplay
i_cal_parameter_get_display_nth (const ICalParameter *self, 
                                 gsize position)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_DISPLAY_NONE);

	return (ICalParameterDisplay) (icalparameter_get_display_nth ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), position));
}

/**
 * i_cal_parameter_add_display:
 * @self: the #ICalParameter of DISPLAY
 * @value: the #ICalParameterDisplay
 * @x_value: (nullable): an X name, or %NULL; when set, the @value should a corresponding X value
 *
 * Adds an element.
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_add_display (ICalParameter *self, 
                             ICalParameterDisplay value, 
                             const gchar *x_value)
{
    icalenumarray_element elem = { 0, };
    g_return_if_fail(self != NULL);
    elem.val = value;
    elem.xvalue = x_value;
    icalparameter_add_display((icalparameter *)i_cal_object_get_native((ICalObject *)self), &elem);
}

/**
 * i_cal_parameter_remove_display:
 * @self: the #ICalParameter of DISPLAY
 * @value: the #ICalParameterDisplay
 * @x_value: (nullable): an X name, or %NULL; when set, the @value should be a corresponding X value
 *
 * Removes an element with the provided value.
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_remove_display (ICalParameter *self, 
                                ICalParameterDisplay value, 
                                const gchar *x_value)
{
    icalenumarray_element elem = { 0, };
    g_return_if_fail(self != NULL);
    elem.val = value;
    elem.xvalue = x_value;
    icalparameter_remove_display((icalparameter *)i_cal_object_get_native((ICalObject *)self), &elem);
}

/**
 * i_cal_parameter_new_email:
 * @value: the text value
 *
 * Creates a new #ICalParameter holding EMAIL.
 *
 * Returns: (transfer full): a new #ICalParameter holding EMAIL
 *
 * Since: 3.0.15
 *
 **/
ICalParameter *
i_cal_parameter_new_email (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_parameter_new_full (icalparameter_new_email (value), NULL);
}

/**
 * i_cal_parameter_get_email:
 * @self: the #ICalParameter of EMAIL
 *
 * Returns value of the EMAIL @self
 *
 * Returns: the EMAIL value
 *
 * Since: 3.0.15
 *
 **/
const gchar *
i_cal_parameter_get_email (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_email ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_email:
 * @self: the #ICalParameter of EMAIL
 * @value: the EMAIL value
 *
 * Sets value to the EMAIL @self
 *
 * Since: 3.0.15
 *
 **/
void
i_cal_parameter_set_email (ICalParameter *self, 
                           const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_email ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_enable:
 * @value: the #ICalParameterEnable value
 *
 * Creates a new #ICalParameter holding ENABLE.
 *
 * Returns: (transfer full): a new #ICalParameter holding ENABLE
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_enable (ICalParameterEnable value)
{
	return i_cal_parameter_new_full (icalparameter_new_enable ((icalparameter_enable) (value)), NULL);
}

/**
 * i_cal_parameter_get_enable:
 * @self: the #ICalParameter of ENABLE
 *
 * Returns value of the ENABLE @self
 *
 * Returns: the ENABLE value
 *
 * Since: 1.0
 *
 **/
ICalParameterEnable
i_cal_parameter_get_enable (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_ENABLE_NONE);

	return (ICalParameterEnable) (icalparameter_get_enable ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_enable:
 * @self: the #ICalParameter of ENABLE
 * @value: the ENABLE value
 *
 * Sets value to the ENABLE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_enable (ICalParameter *self, 
                            ICalParameterEnable value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_enable ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_enable) (value));
}

/**
 * i_cal_parameter_new_encoding:
 * @value: the #ICalParameterEncoding value
 *
 * Creates a new #ICalParameter holding ENCODING.
 *
 * Returns: (transfer full): a new #ICalParameter holding ENCODING
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_encoding (ICalParameterEncoding value)
{
	return i_cal_parameter_new_full (icalparameter_new_encoding ((icalparameter_encoding) (value)), NULL);
}

/**
 * i_cal_parameter_get_encoding:
 * @self: the #ICalParameter of ENCODING
 *
 * Returns value of the ENCODING @self
 *
 * Returns: the ENCODING value
 *
 * Since: 1.0
 *
 **/
ICalParameterEncoding
i_cal_parameter_get_encoding (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_ENCODING_NONE);

	return (ICalParameterEncoding) (icalparameter_get_encoding ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_encoding:
 * @self: the #ICalParameter of ENCODING
 * @value: the ENCODING value
 *
 * Sets value to the ENCODING @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_encoding (ICalParameter *self, 
                              ICalParameterEncoding value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_encoding ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_encoding) (value));
}

/**
 * i_cal_parameter_new_fbtype:
 * @value: the #ICalParameterFbtype value
 *
 * Creates a new #ICalParameter holding FBTYPE.
 *
 * Returns: (transfer full): a new #ICalParameter holding FBTYPE
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_fbtype (ICalParameterFbtype value)
{
	return i_cal_parameter_new_full (icalparameter_new_fbtype ((icalparameter_fbtype) (value)), NULL);
}

/**
 * i_cal_parameter_get_fbtype:
 * @self: the #ICalParameter of FBTYPE
 *
 * Returns value of the FBTYPE @self
 *
 * Returns: the FBTYPE value
 *
 * Since: 1.0
 *
 **/
ICalParameterFbtype
i_cal_parameter_get_fbtype (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_FBTYPE_NONE);

	return (ICalParameterFbtype) (icalparameter_get_fbtype ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_fbtype:
 * @self: the #ICalParameter of FBTYPE
 * @value: the FBTYPE value
 *
 * Sets value to the FBTYPE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_fbtype (ICalParameter *self, 
                            ICalParameterFbtype value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_fbtype ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_fbtype) (value));
}

/**
 * i_cal_parameter_new_feature:
 * @value: the #ICalParameterFeature value of the new #ICalParameter
 *
 * Creates a new #ICalParameter holding FEATURE.
 *
 * Returns: (transfer full) (nullable): a new #ICalParameter holding FEATURE
 *
 * Since: 4.0
 *
 **/
ICalParameter *
i_cal_parameter_new_feature (ICalParameterFeature value)
{
	return i_cal_parameter_new_full (icalparameter_new_feature ((icalparameter_feature) (value)), NULL);
}

/**
 * i_cal_parameter_new_feature_list:
 * @value: the array value to use for the new #ICalParameter
 *
 * Note: this uses a copy of the array, not the one stored in the @value
 *
 * Returns: (transfer full) (nullable): a new #ICalParameter holding FEATURE
 *
 * Since: 4.0
 *
 **/
ICalParameter *
i_cal_parameter_new_feature_list (const ICalEnumArray *value)
{
    icalenumarray *val;
    g_return_val_if_fail(value != NULL, NULL);
    val = (icalenumarray *)i_cal_object_get_native((ICalObject *)value);
    if (val == NULL) {
        return NULL;
    }
    return i_cal_parameter_new_full(icalparameter_new_feature_list(icalenumarray_clone(val)), NULL);
}

/**
 * i_cal_parameter_get_feature:
 * @self: the #ICalParameter of FEATURE
 *
 * Gets the value of the @self of FEATURE.
 *
 * Note: this returns copy of the array, not the one stored
 * in the @self
 *
 * Returns: (transfer full): the #ICalEnumArray value of the @self
 *
 * Since: 4.0
 *
 **/
ICalEnumArray *
i_cal_parameter_get_feature (const ICalParameter *self)
{
    icalenumarray *val;
    g_return_val_if_fail(self != NULL, NULL);
    val = icalparameter_get_feature((icalparameter *)i_cal_object_get_native((ICalObject *)self));
    if (val == NULL) {
        return NULL;
    }
    return i_cal_enum_array_new_full(icalenumarray_clone(val), NULL);
}

/**
 * i_cal_parameter_set_feature:
 * @self: the #ICalParameter of FEATURE
 * @value: the array value
 *
 * Sets the value of the @self of FEATURE.
 *
 * Note: this uses a copy of the array, not the one stored
 * in the @value
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_set_feature (ICalParameter *self, 
                             const ICalEnumArray *value)
{
    g_return_if_fail(self != NULL);
    icalparameter_set_feature((icalparameter *)i_cal_object_get_native((ICalObject *)self),
        icalenumarray_clone((icalenumarray *)i_cal_object_get_native((ICalObject *)value)));
}

/**
 * i_cal_parameter_get_feature_size:
 * @self: the #ICalParameter of FEATURE
 *
 * Returns number of elements in the @self of FEATURE
 *
 * Returns: number of elements
 *
 * Since: 4.0
 *
 **/
gsize
i_cal_parameter_get_feature_size (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), 0);

	return icalparameter_get_feature_size ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_get_feature_nth:
 * @self: the #ICalParameter of FEATURE
 * @position: the position of the element
 *
 * Returns the n-th element of the @self of FEATURE
 *
 * Returns: the n-th element
 *
 * Since: 4.0
 *
 **/
ICalParameterFeature
i_cal_parameter_get_feature_nth (const ICalParameter *self, 
                                 gsize position)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_FEATURE_NONE);

	return (ICalParameterFeature) (icalparameter_get_feature_nth ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), position));
}

/**
 * i_cal_parameter_add_feature:
 * @self: the #ICalParameter of FEATURE
 * @value: the #ICalParameterFeature
 * @x_value: (nullable): an X name, or %NULL; when set, the @value should a corresponding X value
 *
 * Adds an element.
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_add_feature (ICalParameter *self, 
                             ICalParameterFeature value, 
                             const gchar *x_value)
{
    icalenumarray_element elem = { 0, };
    g_return_if_fail(self != NULL);
    elem.val = value;
    elem.xvalue = x_value;
    icalparameter_add_feature((icalparameter *)i_cal_object_get_native((ICalObject *)self), &elem);
}

/**
 * i_cal_parameter_remove_feature:
 * @self: the #ICalParameter of FEATURE
 * @value: the #ICalParameterFeature
 * @x_value: (nullable): an X name, or %NULL; when set, the @value should be a corresponding X value
 *
 * Removes an element with the provided value.
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_remove_feature (ICalParameter *self, 
                                ICalParameterFeature value, 
                                const gchar *x_value)
{
    icalenumarray_element elem = { 0, };
    g_return_if_fail(self != NULL);
    elem.val = value;
    elem.xvalue = x_value;
    icalparameter_remove_feature((icalparameter *)i_cal_object_get_native((ICalObject *)self), &elem);
}

/**
 * i_cal_parameter_new_filename:
 * @value: the text value
 *
 * Creates a new #ICalParameter holding FILENAME.
 *
 * Returns: (transfer full): a new #ICalParameter holding FILENAME
 *
 * Since: 2.0
 *
 **/
ICalParameter *
i_cal_parameter_new_filename (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_parameter_new_full (icalparameter_new_filename (value), NULL);
}

/**
 * i_cal_parameter_get_filename:
 * @self: the #ICalParameter of FILENAME
 *
 * Returns value of the FILENAME @self
 *
 * Returns: the FILENAME value
 *
 * Since: 2.0
 *
 **/
const gchar *
i_cal_parameter_get_filename (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_filename ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_filename:
 * @self: the #ICalParameter of FILENAME
 * @value: the FILENAME value
 *
 * Sets value to the FILENAME @self
 *
 * Since: 2.0
 *
 **/
void
i_cal_parameter_set_filename (ICalParameter *self, 
                              const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_filename ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

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

	return i_cal_parameter_new_full (icalparameter_new_fmttype (value), NULL);
}

/**
 * i_cal_parameter_get_fmttype:
 * @self: the #ICalParameter of FMTTYPE
 *
 * Returns value of the FMTTYPE @self
 *
 * Returns: the FMTTYPE value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_fmttype (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_fmttype ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_fmttype:
 * @self: the #ICalParameter of FMTTYPE
 * @value: the FMTTYPE value
 *
 * Sets value to the FMTTYPE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_fmttype (ICalParameter *self, 
                             const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_fmttype ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_gap:
 * @value: the #ICalDuration value
 *
 * Creates a new #ICalParameter holding GAP.
 *
 * Returns: (transfer full): a new #ICalParameter holding GAP
 *
 * Since: 4.0
 *
 **/
ICalParameter *
i_cal_parameter_new_gap (const ICalDuration *value)
{
    g_return_val_if_fail (I_CAL_IS_DURATION ((ICalDuration*)value), NULL);

	return i_cal_parameter_new_full (icalparameter_new_gap (* (struct icaldurationtype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value))), NULL);
}

/**
 * i_cal_parameter_get_gap:
 * @self: the #ICalParameter of GAP
 *
 * Returns value of the GAP @self
 *
 * Returns: (transfer full) (nullable): the GAP value
 *
 * Since: 4.0
 *
 **/
ICalDuration *
i_cal_parameter_get_gap (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return i_cal_duration_new_full (icalparameter_get_gap ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_gap:
 * @self: the #ICalParameter of GAP
 * @value: the GAP value
 *
 * Sets value to the GAP @self
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_set_gap (ICalParameter *self, 
                         const ICalDuration *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (I_CAL_IS_DURATION ((ICalDuration*)value));

	icalparameter_set_gap ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), * (struct icaldurationtype *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)value)));
}

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

	return i_cal_parameter_new_full (icalparameter_new_iana (value), NULL);
}

/**
 * i_cal_parameter_get_iana:
 * @self: the #ICalParameter of IANA
 *
 * Returns value of the IANA @self
 *
 * Returns: the IANA value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_iana (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_iana ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_iana:
 * @self: the #ICalParameter of IANA
 * @value: the IANA value
 *
 * Sets value to the IANA @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_iana (ICalParameter *self, 
                          const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_iana ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

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

	return i_cal_parameter_new_full (icalparameter_new_id (value), NULL);
}

/**
 * i_cal_parameter_get_id:
 * @self: the #ICalParameter of ID
 *
 * Returns value of the ID @self
 *
 * Returns: the ID value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_id (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_id ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_id:
 * @self: the #ICalParameter of ID
 * @value: the ID value
 *
 * Sets value to the ID @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_id (ICalParameter *self, 
                        const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_id ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_label:
 * @value: the text value
 *
 * Creates a new #ICalParameter holding LABEL.
 *
 * Returns: (transfer full): a new #ICalParameter holding LABEL
 *
 * Since: 3.0.15
 *
 **/
ICalParameter *
i_cal_parameter_new_label (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_parameter_new_full (icalparameter_new_label (value), NULL);
}

/**
 * i_cal_parameter_get_label:
 * @self: the #ICalParameter of LABEL
 *
 * Returns value of the LABEL @self
 *
 * Returns: the LABEL value
 *
 * Since: 3.0.15
 *
 **/
const gchar *
i_cal_parameter_get_label (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_label ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_label:
 * @self: the #ICalParameter of LABEL
 * @value: the LABEL value
 *
 * Sets value to the LABEL @self
 *
 * Since: 3.0.15
 *
 **/
void
i_cal_parameter_set_label (ICalParameter *self, 
                           const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_label ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

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

	return i_cal_parameter_new_full (icalparameter_new_language (value), NULL);
}

/**
 * i_cal_parameter_get_language:
 * @self: the #ICalParameter of LANGUAGE
 *
 * Returns value of the LANGUAGE @self
 *
 * Returns: the LANGUAGE value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_language (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_language ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_language:
 * @self: the #ICalParameter of LANGUAGE
 * @value: the LANGUAGE value
 *
 * Sets value to the LANGUAGE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_language (ICalParameter *self, 
                              const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_language ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

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

	return i_cal_parameter_new_full (icalparameter_new_latency (value), NULL);
}

/**
 * i_cal_parameter_get_latency:
 * @self: the #ICalParameter of LATENCY
 *
 * Returns value of the LATENCY @self
 *
 * Returns: the LATENCY value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_latency (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_latency ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_latency:
 * @self: the #ICalParameter of LATENCY
 * @value: the LATENCY value
 *
 * Sets value to the LATENCY @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_latency (ICalParameter *self, 
                             const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_latency ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

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

	return i_cal_parameter_new_full (icalparameter_new_linkrel (value), NULL);
}

/**
 * i_cal_parameter_get_linkrel:
 * @self: the #ICalParameter of LINKREL
 *
 * Returns value of the LINKREL @self
 *
 * Returns: the LINKREL value
 *
 * Since: 4.0
 *
 **/
const gchar *
i_cal_parameter_get_linkrel (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_linkrel ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_linkrel:
 * @self: the #ICalParameter of LINKREL
 * @value: the LINKREL value
 *
 * Sets value to the LINKREL @self
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_set_linkrel (ICalParameter *self, 
                             const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_linkrel ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_local:
 * @value: the #ICalParameterLocal value
 *
 * Creates a new #ICalParameter holding LOCAL.
 *
 * Returns: (transfer full): a new #ICalParameter holding LOCAL
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_local (ICalParameterLocal value)
{
	return i_cal_parameter_new_full (icalparameter_new_local ((icalparameter_local) (value)), NULL);
}

/**
 * i_cal_parameter_get_local:
 * @self: the #ICalParameter of LOCAL
 *
 * Returns value of the LOCAL @self
 *
 * Returns: the LOCAL value
 *
 * Since: 1.0
 *
 **/
ICalParameterLocal
i_cal_parameter_get_local (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_LOCAL_NONE);

	return (ICalParameterLocal) (icalparameter_get_local ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_local:
 * @self: the #ICalParameter of LOCAL
 * @value: the LOCAL value
 *
 * Sets value to the LOCAL @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_local (ICalParameter *self, 
                           ICalParameterLocal value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_local ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_local) (value));
}

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

	return i_cal_parameter_new_full (icalparameter_new_localize (value), NULL);
}

/**
 * i_cal_parameter_get_localize:
 * @self: the #ICalParameter of LOCALIZE
 *
 * Returns value of the LOCALIZE @self
 *
 * Returns: the LOCALIZE value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_localize (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_localize ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_localize:
 * @self: the #ICalParameter of LOCALIZE
 * @value: the LOCALIZE value
 *
 * Sets value to the LOCALIZE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_localize (ICalParameter *self, 
                              const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_localize ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_managedid:
 * @value: the text value
 *
 * Creates a new #ICalParameter holding MANAGEDID.
 *
 * Returns: (transfer full): a new #ICalParameter holding MANAGEDID
 *
 * Since: 2.0
 *
 **/
ICalParameter *
i_cal_parameter_new_managedid (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_parameter_new_full (icalparameter_new_managedid (value), NULL);
}

/**
 * i_cal_parameter_get_managedid:
 * @self: the #ICalParameter of MANAGEDID
 *
 * Returns value of the MANAGEDID @self
 *
 * Returns: the MANAGEDID value
 *
 * Since: 2.0
 *
 **/
const gchar *
i_cal_parameter_get_managedid (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_managedid ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_managedid:
 * @self: the #ICalParameter of MANAGEDID
 * @value: the MANAGEDID value
 *
 * Sets value to the MANAGEDID @self
 *
 * Since: 2.0
 *
 **/
void
i_cal_parameter_set_managedid (ICalParameter *self, 
                               const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_managedid ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_member:
 * @value: the value of the new #ICalParameter
 *
 * Creates a new #ICalParameter holding MEMBER.
 *
 * Returns: (transfer full): a new #ICalParameter holding MEMBER
 *
 * Since: 4.0
 *
 **/
ICalParameter *
i_cal_parameter_new_member (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_parameter_new_full (icalparameter_new_member (value), NULL);
}

/**
 * i_cal_parameter_new_member_list:
 * @value: (transfer none): the string array as a value for the new ICalParameter holding MEMBER
 *
 * Creates a new #ICalParameter holding MEMBER.
 *
 * Note: this uses a copy of the string array, not the
 * one stored in the @value
 *
 * Returns: (transfer full) (nullable): a new #ICalParameter holding MEMBER
 *
 * Since: 4.0
 *
 **/
ICalParameter *
i_cal_parameter_new_member_list (const ICalStrArray *value)
{
    icalstrarray *val;
    g_return_val_if_fail(value != NULL, NULL);
    val = (icalstrarray *)i_cal_object_get_native((ICalObject *)value);
    if (val == NULL) {
        return NULL;
    }
    return i_cal_parameter_new_full(icalparameter_new_member_list(icalstrarray_clone(val)), NULL);
}

/**
 * i_cal_parameter_get_member:
 * @self: the #ICalParameter of MEMBER
 *
 * Gets the value of the @self of MEMBER.
 *
 * Note: this returns copy of the string array, not the one
 * stored in the @self
 *
 * Returns: (transfer full): the #ICalStrArray value of the @self
 *
 * Since: 4.0
 *
 **/
ICalStrArray *
i_cal_parameter_get_member (const ICalParameter *self)
{
    icalstrarray *val;
    g_return_val_if_fail(self != NULL, NULL);
    val = icalparameter_get_member((icalparameter *)i_cal_object_get_native((ICalObject *)self));
    if (val == NULL) {
        return NULL;
    }
    return i_cal_str_array_new_full(icalstrarray_clone(val), NULL);
}

/**
 * i_cal_parameter_set_member:
 * @self: the #ICalParameter of MEMBER
 * @value: the string array value
 *
 * Sets the value of the @self of MEMBER.
 *
 * Note: this uses a copy of the string array, not the one
 * stored in the @value
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_set_member (ICalParameter *self, 
                            const ICalStrArray *value)
{
    g_return_if_fail(self != NULL);
    icalparameter_set_member((icalparameter *)i_cal_object_get_native((ICalObject *)self),
        icalstrarray_clone((icalstrarray *)i_cal_object_get_native((ICalObject *)value)));
}

/**
 * i_cal_parameter_get_member_size:
 * @self: the #ICalParameter of MEMBER
 *
 * Returns number of elements in the @self of MEMBER
 *
 * Returns: number of elements
 *
 * Since: 4.0
 *
 **/
gsize
i_cal_parameter_get_member_size (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), 0);

	return icalparameter_get_member_size ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_get_member_nth:
 * @self: the #ICalParameter of MEMBER
 * @position: Position of the MEMBER item to get
 *
 * Returns the n-th element of the @self of MEMBER
 *
 * Returns: (nullable): n-th element of the MEMBER @self
 *
 * Since: 4.0
 *
 **/
const gchar *
i_cal_parameter_get_member_nth (const ICalParameter *self, 
                                gsize position)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_member_nth ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), position);
}

/**
 * i_cal_parameter_add_member:
 * @self: the #ICalParameter of MEMBER
 * @value: the string to add into the @self
 *
 * Adds a string into the @self of MEMBER.
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_add_member (ICalParameter *self, 
                            const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_add_member ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_remove_member:
 * @self: the #ICalParameter of MEMBER
 * @value: the string to remove from the @self
 *
 * Removes a string from the @self of MEMBER.
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_remove_member (ICalParameter *self, 
                               const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_remove_member ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_modified:
 * @value: the text value
 *
 * Creates a new #ICalParameter holding MODIFIED.
 *
 * Returns: (transfer full): a new #ICalParameter holding MODIFIED
 *
 * Since: 2.0
 *
 **/
ICalParameter *
i_cal_parameter_new_modified (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_parameter_new_full (icalparameter_new_modified (value), NULL);
}

/**
 * i_cal_parameter_get_modified:
 * @self: the #ICalParameter of MODIFIED
 *
 * Returns value of the MODIFIED @self
 *
 * Returns: the MODIFIED value
 *
 * Since: 2.0
 *
 **/
const gchar *
i_cal_parameter_get_modified (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_modified ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_modified:
 * @self: the #ICalParameter of MODIFIED
 * @value: the MODIFIED value
 *
 * Sets value to the MODIFIED @self
 *
 * Since: 2.0
 *
 **/
void
i_cal_parameter_set_modified (ICalParameter *self, 
                              const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_modified ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

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

	return i_cal_parameter_new_full (icalparameter_new_options (value), NULL);
}

/**
 * i_cal_parameter_get_options:
 * @self: the #ICalParameter of OPTIONS
 *
 * Returns value of the OPTIONS @self
 *
 * Returns: the OPTIONS value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_options (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_options ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_options:
 * @self: the #ICalParameter of OPTIONS
 * @value: the OPTIONS value
 *
 * Sets value to the OPTIONS @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_options (ICalParameter *self, 
                             const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_options ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_order:
 * @value: the integer value
 *
 * Creates a new #ICalParameter holding ORDER.
 *
 * Returns: (transfer full): a new #ICalParameter holding ORDER
 *
 * Since: 4.0
 *
 **/
ICalParameter *
i_cal_parameter_new_order (gint value)
{
	return i_cal_parameter_new_full (icalparameter_new_order (value), NULL);
}

/**
 * i_cal_parameter_get_order:
 * @self: the #ICalParameter of ORDER
 *
 * Returns value of the ORDER @self
 *
 * Returns: the ORDER value
 *
 * Since: 4.0
 *
 **/
gint
i_cal_parameter_get_order (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), 0);

	return icalparameter_get_order ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_order:
 * @self: the #ICalParameter of ORDER
 * @value: the ORDER value
 *
 * Sets value to the ORDER @self
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_set_order (ICalParameter *self, 
                           gint value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_order ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_partstat:
 * @value: the #ICalParameterPartstat value
 *
 * Creates a new #ICalParameter holding PARTSTAT.
 *
 * Returns: (transfer full): a new #ICalParameter holding PARTSTAT
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_partstat (ICalParameterPartstat value)
{
	return i_cal_parameter_new_full (icalparameter_new_partstat ((icalparameter_partstat) (value)), NULL);
}

/**
 * i_cal_parameter_get_partstat:
 * @self: the #ICalParameter of PARTSTAT
 *
 * Returns value of the PARTSTAT @self
 *
 * Returns: the PARTSTAT value
 *
 * Since: 1.0
 *
 **/
ICalParameterPartstat
i_cal_parameter_get_partstat (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_PARTSTAT_NONE);

	return (ICalParameterPartstat) (icalparameter_get_partstat ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_partstat:
 * @self: the #ICalParameter of PARTSTAT
 * @value: the PARTSTAT value
 *
 * Sets value to the PARTSTAT @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_partstat (ICalParameter *self, 
                              ICalParameterPartstat value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_partstat ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_partstat) (value));
}

/**
 * i_cal_parameter_new_patchaction:
 * @value: the #ICalParameterPatchaction value
 *
 * Creates a new #ICalParameter holding PATCHACTION.
 *
 * Returns: (transfer full): a new #ICalParameter holding PATCHACTION
 *
 * Since: 3.0.15
 *
 **/
ICalParameter *
i_cal_parameter_new_patchaction (ICalParameterPatchaction value)
{
	return i_cal_parameter_new_full (icalparameter_new_patchaction ((icalparameter_patchaction) (value)), NULL);
}

/**
 * i_cal_parameter_get_patchaction:
 * @self: the #ICalParameter of PATCHACTION
 *
 * Returns value of the PATCHACTION @self
 *
 * Returns: the PATCHACTION value
 *
 * Since: 3.0.15
 *
 **/
ICalParameterPatchaction
i_cal_parameter_get_patchaction (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_PATCHACTION_NONE);

	return (ICalParameterPatchaction) (icalparameter_get_patchaction ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_patchaction:
 * @self: the #ICalParameter of PATCHACTION
 * @value: the PATCHACTION value
 *
 * Sets value to the PATCHACTION @self
 *
 * Since: 3.0.15
 *
 **/
void
i_cal_parameter_set_patchaction (ICalParameter *self, 
                                 ICalParameterPatchaction value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_patchaction ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_patchaction) (value));
}

/**
 * i_cal_parameter_new_publiccomment:
 * @value: the text value
 *
 * Creates a new #ICalParameter holding PUBLICCOMMENT.
 *
 * Returns: (transfer full): a new #ICalParameter holding PUBLICCOMMENT
 *
 * Since: 2.0
 *
 **/
ICalParameter *
i_cal_parameter_new_publiccomment (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_parameter_new_full (icalparameter_new_publiccomment (value), NULL);
}

/**
 * i_cal_parameter_get_publiccomment:
 * @self: the #ICalParameter of PUBLICCOMMENT
 *
 * Returns value of the PUBLICCOMMENT @self
 *
 * Returns: the PUBLICCOMMENT value
 *
 * Since: 2.0
 *
 **/
const gchar *
i_cal_parameter_get_publiccomment (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_publiccomment ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_publiccomment:
 * @self: the #ICalParameter of PUBLICCOMMENT
 * @value: the PUBLICCOMMENT value
 *
 * Sets value to the PUBLICCOMMENT @self
 *
 * Since: 2.0
 *
 **/
void
i_cal_parameter_set_publiccomment (ICalParameter *self, 
                                   const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_publiccomment ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_range:
 * @value: the #ICalParameterRange value
 *
 * Creates a new #ICalParameter holding RANGE.
 *
 * Returns: (transfer full): a new #ICalParameter holding RANGE
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_range (ICalParameterRange value)
{
	return i_cal_parameter_new_full (icalparameter_new_range ((icalparameter_range) (value)), NULL);
}

/**
 * i_cal_parameter_get_range:
 * @self: the #ICalParameter of RANGE
 *
 * Returns value of the RANGE @self
 *
 * Returns: the RANGE value
 *
 * Since: 1.0
 *
 **/
ICalParameterRange
i_cal_parameter_get_range (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_RANGE_NONE);

	return (ICalParameterRange) (icalparameter_get_range ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_range:
 * @self: the #ICalParameter of RANGE
 * @value: the RANGE value
 *
 * Sets value to the RANGE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_range (ICalParameter *self, 
                           ICalParameterRange value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_range ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_range) (value));
}

/**
 * i_cal_parameter_new_reason:
 * @value: the text value
 *
 * Creates a new #ICalParameter holding REASON.
 *
 * Returns: (transfer full): a new #ICalParameter holding REASON
 *
 * Since: 2.0
 *
 **/
ICalParameter *
i_cal_parameter_new_reason (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_parameter_new_full (icalparameter_new_reason (value), NULL);
}

/**
 * i_cal_parameter_get_reason:
 * @self: the #ICalParameter of REASON
 *
 * Returns value of the REASON @self
 *
 * Returns: the REASON value
 *
 * Since: 2.0
 *
 **/
const gchar *
i_cal_parameter_get_reason (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_reason ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_reason:
 * @self: the #ICalParameter of REASON
 * @value: the REASON value
 *
 * Sets value to the REASON @self
 *
 * Since: 2.0
 *
 **/
void
i_cal_parameter_set_reason (ICalParameter *self, 
                            const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_reason ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_related:
 * @value: the #ICalParameterRelated value
 *
 * Creates a new #ICalParameter holding RELATED.
 *
 * Returns: (transfer full): a new #ICalParameter holding RELATED
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_related (ICalParameterRelated value)
{
	return i_cal_parameter_new_full (icalparameter_new_related ((icalparameter_related) (value)), NULL);
}

/**
 * i_cal_parameter_get_related:
 * @self: the #ICalParameter of RELATED
 *
 * Returns value of the RELATED @self
 *
 * Returns: the RELATED value
 *
 * Since: 1.0
 *
 **/
ICalParameterRelated
i_cal_parameter_get_related (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_RELATED_NONE);

	return (ICalParameterRelated) (icalparameter_get_related ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_related:
 * @self: the #ICalParameter of RELATED
 * @value: the RELATED value
 *
 * Sets value to the RELATED @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_related (ICalParameter *self, 
                             ICalParameterRelated value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_related ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_related) (value));
}

/**
 * i_cal_parameter_new_reltype:
 * @value: the #ICalParameterReltype value
 *
 * Creates a new #ICalParameter holding RELTYPE.
 *
 * Returns: (transfer full): a new #ICalParameter holding RELTYPE
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_reltype (ICalParameterReltype value)
{
	return i_cal_parameter_new_full (icalparameter_new_reltype ((icalparameter_reltype) (value)), NULL);
}

/**
 * i_cal_parameter_get_reltype:
 * @self: the #ICalParameter of RELTYPE
 *
 * Returns value of the RELTYPE @self
 *
 * Returns: the RELTYPE value
 *
 * Since: 1.0
 *
 **/
ICalParameterReltype
i_cal_parameter_get_reltype (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_RELTYPE_NONE);

	return (ICalParameterReltype) (icalparameter_get_reltype ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_reltype:
 * @self: the #ICalParameter of RELTYPE
 * @value: the RELTYPE value
 *
 * Sets value to the RELTYPE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_reltype (ICalParameter *self, 
                             ICalParameterReltype value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_reltype ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_reltype) (value));
}

/**
 * i_cal_parameter_new_required:
 * @value: the #ICalParameterRequired value
 *
 * Creates a new #ICalParameter holding REQUIRED.
 *
 * Returns: (transfer full): a new #ICalParameter holding REQUIRED
 *
 * Since: 2.0
 *
 **/
ICalParameter *
i_cal_parameter_new_required (ICalParameterRequired value)
{
	return i_cal_parameter_new_full (icalparameter_new_required ((icalparameter_required) (value)), NULL);
}

/**
 * i_cal_parameter_get_required:
 * @self: the #ICalParameter of REQUIRED
 *
 * Returns value of the REQUIRED @self
 *
 * Returns: the REQUIRED value
 *
 * Since: 2.0
 *
 **/
ICalParameterRequired
i_cal_parameter_get_required (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_REQUIRED_NONE);

	return (ICalParameterRequired) (icalparameter_get_required ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_required:
 * @self: the #ICalParameter of REQUIRED
 * @value: the REQUIRED value
 *
 * Sets value to the REQUIRED @self
 *
 * Since: 2.0
 *
 **/
void
i_cal_parameter_set_required (ICalParameter *self, 
                              ICalParameterRequired value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_required ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_required) (value));
}

/**
 * i_cal_parameter_new_response:
 * @value: the integer value
 *
 * Creates a new #ICalParameter holding RESPONSE.
 *
 * Returns: (transfer full): a new #ICalParameter holding RESPONSE
 *
 * Since: 2.0
 *
 **/
ICalParameter *
i_cal_parameter_new_response (gint value)
{
	return i_cal_parameter_new_full (icalparameter_new_response (value), NULL);
}

/**
 * i_cal_parameter_get_response:
 * @self: the #ICalParameter of RESPONSE
 *
 * Returns value of the RESPONSE @self
 *
 * Returns: the RESPONSE value
 *
 * Since: 2.0
 *
 **/
gint
i_cal_parameter_get_response (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), 0);

	return icalparameter_get_response ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_response:
 * @self: the #ICalParameter of RESPONSE
 * @value: the RESPONSE value
 *
 * Sets value to the RESPONSE @self
 *
 * Since: 2.0
 *
 **/
void
i_cal_parameter_set_response (ICalParameter *self, 
                              gint value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_response ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_role:
 * @value: the #ICalParameterRole value
 *
 * Creates a new #ICalParameter holding ROLE.
 *
 * Returns: (transfer full): a new #ICalParameter holding ROLE
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_role (ICalParameterRole value)
{
	return i_cal_parameter_new_full (icalparameter_new_role ((icalparameter_role) (value)), NULL);
}

/**
 * i_cal_parameter_get_role:
 * @self: the #ICalParameter of ROLE
 *
 * Returns value of the ROLE @self
 *
 * Returns: the ROLE value
 *
 * Since: 1.0
 *
 **/
ICalParameterRole
i_cal_parameter_get_role (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_ROLE_NONE);

	return (ICalParameterRole) (icalparameter_get_role ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_role:
 * @self: the #ICalParameter of ROLE
 * @value: the ROLE value
 *
 * Sets value to the ROLE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_role (ICalParameter *self, 
                          ICalParameterRole value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_role ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_role) (value));
}

/**
 * i_cal_parameter_new_rsvp:
 * @value: the #ICalParameterRsvp value
 *
 * Creates a new #ICalParameter holding RSVP.
 *
 * Returns: (transfer full): a new #ICalParameter holding RSVP
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_rsvp (ICalParameterRsvp value)
{
	return i_cal_parameter_new_full (icalparameter_new_rsvp ((icalparameter_rsvp) (value)), NULL);
}

/**
 * i_cal_parameter_get_rsvp:
 * @self: the #ICalParameter of RSVP
 *
 * Returns value of the RSVP @self
 *
 * Returns: the RSVP value
 *
 * Since: 1.0
 *
 **/
ICalParameterRsvp
i_cal_parameter_get_rsvp (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_RSVP_NONE);

	return (ICalParameterRsvp) (icalparameter_get_rsvp ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_rsvp:
 * @self: the #ICalParameter of RSVP
 * @value: the RSVP value
 *
 * Sets value to the RSVP @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_rsvp (ICalParameter *self, 
                          ICalParameterRsvp value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_rsvp ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_rsvp) (value));
}

/**
 * i_cal_parameter_new_scheduleagent:
 * @value: the #ICalParameterScheduleagent value
 *
 * Creates a new #ICalParameter holding SCHEDULEAGENT.
 *
 * Returns: (transfer full): a new #ICalParameter holding SCHEDULEAGENT
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_scheduleagent (ICalParameterScheduleagent value)
{
	return i_cal_parameter_new_full (icalparameter_new_scheduleagent ((icalparameter_scheduleagent) (value)), NULL);
}

/**
 * i_cal_parameter_get_scheduleagent:
 * @self: the #ICalParameter of SCHEDULEAGENT
 *
 * Returns value of the SCHEDULEAGENT @self
 *
 * Returns: the SCHEDULEAGENT value
 *
 * Since: 1.0
 *
 **/
ICalParameterScheduleagent
i_cal_parameter_get_scheduleagent (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_SCHEDULEAGENT_NONE);

	return (ICalParameterScheduleagent) (icalparameter_get_scheduleagent ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_scheduleagent:
 * @self: the #ICalParameter of SCHEDULEAGENT
 * @value: the SCHEDULEAGENT value
 *
 * Sets value to the SCHEDULEAGENT @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_scheduleagent (ICalParameter *self, 
                                   ICalParameterScheduleagent value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_scheduleagent ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_scheduleagent) (value));
}

/**
 * i_cal_parameter_new_scheduleforcesend:
 * @value: the #ICalParameterScheduleforcesend value
 *
 * Creates a new #ICalParameter holding SCHEDULEFORCESEND.
 *
 * Returns: (transfer full): a new #ICalParameter holding SCHEDULEFORCESEND
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_scheduleforcesend (ICalParameterScheduleforcesend value)
{
	return i_cal_parameter_new_full (icalparameter_new_scheduleforcesend ((icalparameter_scheduleforcesend) (value)), NULL);
}

/**
 * i_cal_parameter_get_scheduleforcesend:
 * @self: the #ICalParameter of SCHEDULEFORCESEND
 *
 * Returns value of the SCHEDULEFORCESEND @self
 *
 * Returns: the SCHEDULEFORCESEND value
 *
 * Since: 1.0
 *
 **/
ICalParameterScheduleforcesend
i_cal_parameter_get_scheduleforcesend (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_SCHEDULEFORCESEND_NONE);

	return (ICalParameterScheduleforcesend) (icalparameter_get_scheduleforcesend ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_scheduleforcesend:
 * @self: the #ICalParameter of SCHEDULEFORCESEND
 * @value: the SCHEDULEFORCESEND value
 *
 * Sets value to the SCHEDULEFORCESEND @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_scheduleforcesend (ICalParameter *self, 
                                       ICalParameterScheduleforcesend value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_scheduleforcesend ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_scheduleforcesend) (value));
}

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

	return i_cal_parameter_new_full (icalparameter_new_schedulestatus (value), NULL);
}

/**
 * i_cal_parameter_get_schedulestatus:
 * @self: the #ICalParameter of SCHEDULESTATUS
 *
 * Returns value of the SCHEDULESTATUS @self
 *
 * Returns: the SCHEDULESTATUS value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_schedulestatus (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_schedulestatus ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_schedulestatus:
 * @self: the #ICalParameter of SCHEDULESTATUS
 * @value: the SCHEDULESTATUS value
 *
 * Sets value to the SCHEDULESTATUS @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_schedulestatus (ICalParameter *self, 
                                    const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_schedulestatus ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

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

	return i_cal_parameter_new_full (icalparameter_new_schema (value), NULL);
}

/**
 * i_cal_parameter_get_schema:
 * @self: the #ICalParameter of SCHEMA
 *
 * Returns value of the SCHEMA @self
 *
 * Returns: the SCHEMA value
 *
 * Since: 4.0
 *
 **/
const gchar *
i_cal_parameter_get_schema (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_schema ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_schema:
 * @self: the #ICalParameter of SCHEMA
 * @value: the SCHEMA value
 *
 * Sets value to the SCHEMA @self
 *
 * Since: 4.0
 *
 **/
void
i_cal_parameter_set_schema (ICalParameter *self, 
                            const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_schema ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

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

	return i_cal_parameter_new_full (icalparameter_new_sentby (value), NULL);
}

/**
 * i_cal_parameter_get_sentby:
 * @self: the #ICalParameter of SENTBY
 *
 * Returns value of the SENTBY @self
 *
 * Returns: the SENTBY value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_sentby (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_sentby ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_sentby:
 * @self: the #ICalParameter of SENTBY
 * @value: the SENTBY value
 *
 * Sets value to the SENTBY @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_sentby (ICalParameter *self, 
                            const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_sentby ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_size:
 * @value: the text value
 *
 * Creates a new #ICalParameter holding SIZE.
 *
 * Returns: (transfer full): a new #ICalParameter holding SIZE
 *
 * Since: 2.0
 *
 **/
ICalParameter *
i_cal_parameter_new_size (const gchar *value)
{
    g_return_val_if_fail (value != NULL, NULL);

	return i_cal_parameter_new_full (icalparameter_new_size (value), NULL);
}

/**
 * i_cal_parameter_get_size:
 * @self: the #ICalParameter of SIZE
 *
 * Returns value of the SIZE @self
 *
 * Returns: the SIZE value
 *
 * Since: 2.0
 *
 **/
const gchar *
i_cal_parameter_get_size (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_size ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_size:
 * @self: the #ICalParameter of SIZE
 * @value: the SIZE value
 *
 * Sets value to the SIZE @self
 *
 * Since: 2.0
 *
 **/
void
i_cal_parameter_set_size (ICalParameter *self, 
                          const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_size ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_stayinformed:
 * @value: the #ICalParameterStayinformed value
 *
 * Creates a new #ICalParameter holding STAYINFORMED.
 *
 * Returns: (transfer full): a new #ICalParameter holding STAYINFORMED
 *
 * Since: 2.0
 *
 **/
ICalParameter *
i_cal_parameter_new_stayinformed (ICalParameterStayinformed value)
{
	return i_cal_parameter_new_full (icalparameter_new_stayinformed ((icalparameter_stayinformed) (value)), NULL);
}

/**
 * i_cal_parameter_get_stayinformed:
 * @self: the #ICalParameter of STAYINFORMED
 *
 * Returns value of the STAYINFORMED @self
 *
 * Returns: the STAYINFORMED value
 *
 * Since: 2.0
 *
 **/
ICalParameterStayinformed
i_cal_parameter_get_stayinformed (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_STAYINFORMED_NONE);

	return (ICalParameterStayinformed) (icalparameter_get_stayinformed ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_stayinformed:
 * @self: the #ICalParameter of STAYINFORMED
 * @value: the STAYINFORMED value
 *
 * Sets value to the STAYINFORMED @self
 *
 * Since: 2.0
 *
 **/
void
i_cal_parameter_set_stayinformed (ICalParameter *self, 
                                  ICalParameterStayinformed value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_stayinformed ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_stayinformed) (value));
}

/**
 * i_cal_parameter_new_substate:
 * @value: the #ICalParameterSubstate value
 *
 * Creates a new #ICalParameter holding SUBSTATE.
 *
 * Returns: (transfer full): a new #ICalParameter holding SUBSTATE
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_substate (ICalParameterSubstate value)
{
	return i_cal_parameter_new_full (icalparameter_new_substate ((icalparameter_substate) (value)), NULL);
}

/**
 * i_cal_parameter_get_substate:
 * @self: the #ICalParameter of SUBSTATE
 *
 * Returns value of the SUBSTATE @self
 *
 * Returns: the SUBSTATE value
 *
 * Since: 1.0
 *
 **/
ICalParameterSubstate
i_cal_parameter_get_substate (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_SUBSTATE_NONE);

	return (ICalParameterSubstate) (icalparameter_get_substate ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_substate:
 * @self: the #ICalParameter of SUBSTATE
 * @value: the SUBSTATE value
 *
 * Sets value to the SUBSTATE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_substate (ICalParameter *self, 
                              ICalParameterSubstate value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_substate ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_substate) (value));
}

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

	return i_cal_parameter_new_full (icalparameter_new_tzid (value), NULL);
}

/**
 * i_cal_parameter_get_tzid:
 * @self: the #ICalParameter of TZID
 *
 * Returns value of the TZID @self
 *
 * Returns: the TZID value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_tzid (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_tzid ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

/**
 * i_cal_parameter_set_tzid:
 * @self: the #ICalParameter of TZID
 * @value: the TZID value
 *
 * Sets value to the TZID @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_tzid (ICalParameter *self, 
                          const gchar *value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));
    g_return_if_fail (value != NULL);

	icalparameter_set_tzid ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_value:
 * @value: the #ICalParameterValue value
 *
 * Creates a new #ICalParameter holding VALUE.
 *
 * Returns: (transfer full): a new #ICalParameter holding VALUE
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_value (ICalParameterValue value)
{
	return i_cal_parameter_new_full (icalparameter_new_value ((icalparameter_value) (value)), NULL);
}

/**
 * i_cal_parameter_get_value:
 * @self: the #ICalParameter of VALUE
 *
 * Returns value of the VALUE @self
 *
 * Returns: the VALUE value
 *
 * Since: 1.0
 *
 **/
ICalParameterValue
i_cal_parameter_get_value (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_VALUE_NONE);

	return (ICalParameterValue) (icalparameter_get_value ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_value:
 * @self: the #ICalParameter of VALUE
 * @value: the VALUE value
 *
 * Sets value to the VALUE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_value (ICalParameter *self, 
                           ICalParameterValue value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_value ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_value) (value));
}

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

	return i_cal_parameter_new_full (icalparameter_new_x (value), NULL);
}

/**
 * i_cal_parameter_get_x:
 * @self: the #ICalParameter of X
 *
 * Returns value of the X @self
 *
 * Returns: the X value
 *
 * Since: 1.0
 *
 **/
const gchar *
i_cal_parameter_get_x (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), NULL);

	return icalparameter_get_x ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)));
}

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

	icalparameter_set_x ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), value);
}

/**
 * i_cal_parameter_new_xliccomparetype:
 * @value: the #ICalParameterXliccomparetype value
 *
 * Creates a new #ICalParameter holding XLICCOMPARETYPE.
 *
 * Returns: (transfer full): a new #ICalParameter holding XLICCOMPARETYPE
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_xliccomparetype (ICalParameterXliccomparetype value)
{
	return i_cal_parameter_new_full (icalparameter_new_xliccomparetype ((icalparameter_xliccomparetype) (value)), NULL);
}

/**
 * i_cal_parameter_get_xliccomparetype:
 * @self: the #ICalParameter of XLICCOMPARETYPE
 *
 * Returns value of the XLICCOMPARETYPE @self
 *
 * Returns: the XLICCOMPARETYPE value
 *
 * Since: 1.0
 *
 **/
ICalParameterXliccomparetype
i_cal_parameter_get_xliccomparetype (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_XLICCOMPARETYPE_NONE);

	return (ICalParameterXliccomparetype) (icalparameter_get_xliccomparetype ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_xliccomparetype:
 * @self: the #ICalParameter of XLICCOMPARETYPE
 * @value: the XLICCOMPARETYPE value
 *
 * Sets value to the XLICCOMPARETYPE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_xliccomparetype (ICalParameter *self, 
                                     ICalParameterXliccomparetype value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_xliccomparetype ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_xliccomparetype) (value));
}

/**
 * i_cal_parameter_new_xlicerrortype:
 * @value: the #ICalParameterXlicerrortype value
 *
 * Creates a new #ICalParameter holding XLICERRORTYPE.
 *
 * Returns: (transfer full): a new #ICalParameter holding XLICERRORTYPE
 *
 * Since: 1.0
 *
 **/
ICalParameter *
i_cal_parameter_new_xlicerrortype (ICalParameterXlicerrortype value)
{
	return i_cal_parameter_new_full (icalparameter_new_xlicerrortype ((icalparameter_xlicerrortype) (value)), NULL);
}

/**
 * i_cal_parameter_get_xlicerrortype:
 * @self: the #ICalParameter of XLICERRORTYPE
 *
 * Returns value of the XLICERRORTYPE @self
 *
 * Returns: the XLICERRORTYPE value
 *
 * Since: 1.0
 *
 **/
ICalParameterXlicerrortype
i_cal_parameter_get_xlicerrortype (const ICalParameter *self)
{
    g_return_val_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self), I_CAL_XLICERRORTYPE_NONE);

	return (ICalParameterXlicerrortype) (icalparameter_get_xlicerrortype ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self))));
}

/**
 * i_cal_parameter_set_xlicerrortype:
 * @self: the #ICalParameter of XLICERRORTYPE
 * @value: the XLICERRORTYPE value
 *
 * Sets value to the XLICERRORTYPE @self
 *
 * Since: 1.0
 *
 **/
void
i_cal_parameter_set_xlicerrortype (ICalParameter *self, 
                                   ICalParameterXlicerrortype value)
{
    g_return_if_fail (I_CAL_IS_PARAMETER ((ICalParameter*)self));

	icalparameter_set_xlicerrortype ((icalparameter *)i_cal_object_get_native (I_CAL_OBJECT ((ICalObject *)self)), (icalparameter_xlicerrortype) (value));
}
