## ICalProperty ICalProperty |

## Synopsis

    #include <i-cal-parameter>
    #include <i-cal-value>

    #define             I_CAL_PROPERTY_TYPE
                        ICalProperty;
    struct              ICalPropertyClass;
    ICalProperty *      i_cal_property_new_full             (icalproperty *native,
                                                             GObject *owner);
    ICalProperty *      i_cal_property_new                  (ICalPropertyKind kind);
    ICalProperty *      i_cal_property_new_clone            (ICalProperty *prop);
    ICalProperty *      i_cal_property_new_from_string      (const gchar *str);
    const gchar *       i_cal_property_as_ical_string_r     (ICalProperty *prop);
    void                i_cal_property_free                 (ICalProperty *prop);
    ICalPropertyKind    i_cal_property_isa                  (ICalProperty *property);
    gint                i_cal_property_isa_property         (ICalProperty *property);
    void                i_cal_property_add_parameter        (ICalProperty *prop,
                                                             ICalParameter *parameter);
    void                i_cal_property_set_parameter        (ICalProperty *prop,
                                                             ICalParameter *parameter);
    void                i_cal_property_set_parameter_from_string
                                                            (ICalProperty *prop,
                                                             const gchar *name,
                                                             const gchar *value);
    gchar *             i_cal_property_get_parameter_as_string_r
                                                            (ICalProperty *prop,
                                                             const gchar *name);
    void                i_cal_property_remove_parameter     (ICalProperty *prop,
                                                             ICalParameterKind kind);
    void                i_cal_property_remove_parameter_by_kind
                                                            (ICalProperty *prop,
                                                             ICalParameterKind kind);
    void                i_cal_property_remove_parameter_by_name
                                                            (ICalProperty *prop,
                                                             const gchar *name);
    void                i_cal_property_remove_parameter_by_ref
                                                            (ICalProperty *prop,
                                                             ICalParameter *param);
    gint                i_cal_property_count_parameters     (const ICalProperty *prop);
    ICalParameter *     i_cal_property_get_first_parameter  (ICalProperty *prop,
                                                             ICalParameterKind kind);
    ICalParameter *     i_cal_property_get_next_parameter   (ICalProperty *prop,
                                                             ICalParameterKind kind);
    void                i_cal_property_set_value            (ICalProperty *prop,
                                                             ICalValue *value);
    void                i_cal_property_set_value_from_string
                                                            (ICalProperty *prop,
                                                             const gchar *value,
                                                             const gchar *kind);
    ICalValue *         i_cal_property_get_value            (const ICalProperty *prop);
    gchar *             i_cal_property_get_value_as_string_r
                                                            (const ICalProperty *prop);
    void                i_cal_property_set_x_name           (ICalProperty *prop,
                                                             const gchar *name);
    const gchar *       i_cal_property_get_x_name           (ICalProperty *prop);
    gchar *             i_cal_property_get_property_name_r  (const ICalProperty *prop);
    ICalValueKind       i_cal_parameter_value_to_value_kind (ICalParameterValue value);
    ICalValueKind       i_cal_property_kind_to_value_kind   (ICalPropertyKind kind);
    ICalPropertyKind    i_cal_property_value_kind_to_kind   (ICalValueKind kind);
    const gchar *       i_cal_property_kind_to_string       (ICalPropertyKind kind);
    ICalPropertyKind    i_cal_property_string_to_kind       (const gchar *string);
    gint                i_cal_property_kind_is_valid        (const ICalPropertyKind kind);
    ICalPropertyMethod  i_cal_property_string_to_method     (const gchar *str);
    const gchar *       i_cal_property_method_to_string     (ICalPropertyMethod method);
    gchar *             i_cal_property_enum_to_string_r     (gint e);
    gint                i_cal_property_string_to_enum       (const gchar *str);
    gint                i_cal_property_kind_and_string_to_enum
                                                            (const gint kind,
                                                             const gchar *str);
    ICalPropertyStatus  i_cal_property_string_to_status     (const gchar *str);
    const gchar *       i_cal_property_status_to_string     (ICalPropertyStatus method);
    gint                i_cal_property_enum_belongs_to_property
                                                            (ICalPropertyKind kind,
                                                             gint e);

## Object Hierarchy

      GObject
       +----ICalObject
             +----ICalProperty

## Description

## Details

### I_CAL_PROPERTY_TYPE

    #define             I_CAL_PROPERTY_TYPE

### ICalProperty

    typedef struct _ICalProperty ICalProperty;

This is the ICalProperty instance.

### struct ICalPropertyClass

    struct ICalPropertyClass {
    };

This is the ICalProperty class.

### i_cal_property_new_full ()

    ICalProperty *      i_cal_property_new_full             (icalproperty *native,
                                                             GObject *owner);

Create a new libical-glib object from the native libical object and the owner.

`native` : | The native libical object.
`owner` : | The parent.
Returns : | The newly create libical-glib object. [transfer full]

Since 1.0

### i_cal_property_new ()

    ICalProperty *      i_cal_property_new                  (ICalPropertyKind kind);

Create a ICalProperty of the target type.

`kind` : | The kind of ICalProperty to be created.
Returns : | The newly created ICalProperty with the type `kind`. [transfer full]

Since 1.0

### i_cal_property_new_clone ()

    ICalProperty *      i_cal_property_new_clone            (ICalProperty *prop);

Deeply clone a ICalProperty.

`prop` : | The ICalProperty to be cloned.
Returns : | The newly created ICalProperty deeply cloned from `prop`. [transfer full]

Since 1.0

### i_cal_property_new_from_string ()

    ICalProperty *      i_cal_property_new_from_string      (const gchar *str);

Create a ICalProperty from a string.

`str` : | The string used to construct a ICalProperty.
Returns : | The newly created ICalProperty from `str`. [transfer full]

Since 1.0

### i_cal_property_as_ical_string_r ()

    const gchar *       i_cal_property_as_ical_string_r     (ICalProperty *prop);

Convert a ICalProperty to a string representation.

`prop` : | The ICalProperty to be converted.
Returns : | The string representation of `prop`. [transfer full]

Since 1.0

### i_cal_property_free ()

    void                i_cal_property_free                 (ICalProperty *prop);

Free a ICalProperty.

`prop` : | The ICalProperty to be freed. [transfer full]

Since 1.0

### i_cal_property_isa ()

    ICalPropertyKind    i_cal_property_isa                  (ICalProperty *property);

Get the kind of ICalProperty.

`property` : | The ICalProperty which type is to be determined.
Returns : | The type of ICalProperty.

Since 1.0

### i_cal_property_isa_property ()

    gint                i_cal_property_isa_property         (ICalProperty *property);

Check whether the native part of ICalProperty is of the type icalproperty.

`property` : | The object whose native part to be checked.
Returns : | 1 if the native part of `property` is of the type icalproperty, 0 if not.

Since 1.0

### i_cal_property_add_parameter ()

    void                i_cal_property_add_parameter        (ICalProperty *prop,
                                                             ICalParameter *parameter);

Add a ICalParameter into the ICalProperty. It behaves like set the copy of the ICalParameter. Upon completion the native part of ICalParameter will be set to NULL.

`prop` : | The ICalProperty to be set.
`parameter` : | The parameter to be added into `prop`. [transfer full]

Since 1.0

### i_cal_property_set_parameter ()

    void                i_cal_property_set_parameter        (ICalProperty *prop,
                                                             ICalParameter *parameter);

Set a ICalParameter into the ICalProperty. It behaves like set the copy of the ICalParameter. Upon completion the native part of ICalParameter will be set to NULL.

`prop` : | The ICalProperty to be set.
`parameter` : | The parameter to be set into `prop`. [transfer full]

Since 1.0

### i_cal_property_set_parameter_from_string ()

    void                i_cal_property_set_parameter_from_string
                                                            (ICalProperty *prop,
                                                             const gchar *name,
                                                             const gchar *value);

Set the ICalProperty with the parameter defined by the name and value.

`prop` : | The ICalProperty to be set.
`name` : | The name of the parameter.
`value` : | The value of the parameter.

Since 1.0

### i_cal_property_get_parameter_as_string_r ()

    gchar *             i_cal_property_get_parameter_as_string_r
                                                            (ICalProperty *prop,
                                                             const gchar *name);

Get the string representation of the target parameter in the ICalProperty.

`prop` : | The ICalProperty to be queried.
`name` : | The name of the target parameter.
Returns : | The string representation of the parameter. [transfer full]

Since 1.0

### i_cal_property_remove_parameter ()

    void                i_cal_property_remove_parameter     (ICalProperty *prop,
                                                             ICalParameterKind kind);

Remove the target kind of parameters in ICalProperty.

`prop` : | The ICalProperty to be manipulated.
`kind` : | The kind of parameter to be removed.

Since 1.0

### i_cal_property_remove_parameter_by_kind ()

    void                i_cal_property_remove_parameter_by_kind
                                                            (ICalProperty *prop,
                                                             ICalParameterKind kind);

Remove the target kind of the parameters in the ICalProperty.

`prop` : | The ICalProperty to be manipulated.
`kind` : | The ICalParameterKind to be removed.

Since 1.0

### i_cal_property_remove_parameter_by_name ()

    void                i_cal_property_remove_parameter_by_name
                                                            (ICalProperty *prop,
                                                             const gchar *name);

Remove parameter in the ICalProperty by name.

`prop` : | The ICalProperty to be manipulated.
`name` : | The name of the parameter to be removed.

Since 1.0

### i_cal_property_remove_parameter_by_ref ()

    void                i_cal_property_remove_parameter_by_ref
                                                            (ICalProperty *prop,
                                                             ICalParameter *param);

Remove the parameter in the ICalProperty by ref.

`prop` : | The ICalProperty to be manipulated.
`param` : | The ICalParameter to be removed.

Since 1.0

### i_cal_property_count_parameters ()

    gint                i_cal_property_count_parameters     (const ICalProperty *prop);

Count the parameters in the ICalProperty.

`prop` : | The ICalProperty to be checked.
Returns : | The count of the parameters in the ICalProperty.

Since 1.0

### i_cal_property_get_first_parameter ()

    ICalParameter *     i_cal_property_get_first_parameter  (ICalProperty *prop,
                                                             ICalParameterKind kind);

Get the first ICalParameter from the parent ICalProperty.

`prop` : | The ICalProperty to be queried.
`kind` : | The target kind of ICalParameter to be retrieved.
Returns : | The first ICalParameter of `prop`. [transfer full]

Since 1.0

### i_cal_property_get_next_parameter ()

    ICalParameter *     i_cal_property_get_next_parameter   (ICalProperty *prop,
                                                             ICalParameterKind kind);

Get the next ICalParameter from the parent ICalProperty.

`prop` : | The ICalProperty to be queried.
`kind` : | The target kind of ICalParameter to be retrieved.
Returns : | The next ICalParameter of `prop`. [transfer full]

Since 1.0

### i_cal_property_set_value ()

    void                i_cal_property_set_value            (ICalProperty *prop,
                                                             ICalValue *value);

Set the ICalProperty with the ICalValue.

`prop` : | The target ICalProperty.
`value` : | The ICalValue will be set as the property of `prop`.

Since 1.0

### i_cal_property_set_value_from_string ()

    void                i_cal_property_set_value_from_string
                                                            (ICalProperty *prop,
                                                             const gchar *value,
                                                             const gchar *kind);

Set the ICalProperty with the ICalValue constructed from string.

`prop` : | The ICalProperty to be set.
`value` : | The value used to construct the ICalValue.
`kind` : | The kind used to construct the ICalValue.

Since 1.0

### i_cal_property_get_value ()

    ICalValue *         i_cal_property_get_value            (const ICalProperty *prop);

Get the ICalValue of ICalProperty.

`prop` : | The ICalProperty to be queried.
Returns : | The ICalValue of `prop`. [transfer full]

Since 1.0

### i_cal_property_get_value_as_string_r ()

    gchar *             i_cal_property_get_value_as_string_r
                                                            (const ICalProperty *prop);

Get the string representation of the value in ICalProperty.

`prop` : | The ICalProperty to be queried.
Returns : | The string representation of the value of the ICalProperty. [transfer full]

Since 1.0

### i_cal_property_set_x_name ()

    void                i_cal_property_set_x_name           (ICalProperty *prop,
                                                             const gchar *name);

Set the name of x property for the ICalProperty.

`prop` : | a ICalProperty
`name` : | The name string.

Since 1.0

### i_cal_property_get_x_name ()

    const gchar *       i_cal_property_get_x_name           (ICalProperty *prop);

Get the name of x property.

`prop` : | A ICalProperty.
Returns : | The name of x property. [transfer full]

Since 1.0

### i_cal_property_get_property_name_r ()

    gchar *             i_cal_property_get_property_name_r  (const ICalProperty *prop);

Get the property name of ICalProperty.

`prop` : | A ICalProperty.
Returns : | Property name of ICalProperty. [transfer full]

Since 1.0

### i_cal_parameter_value_to_value_kind ()

    ICalValueKind       i_cal_parameter_value_to_value_kind (ICalParameterValue value);

Convert the ICalParameterValue to ICalValueKind.

`value` : | A ICalParameterValue.
Returns : | ICalValueKind

Since 1.0

### i_cal_property_kind_to_value_kind ()

    ICalValueKind       i_cal_property_kind_to_value_kind   (ICalPropertyKind kind);

Convert the ICalPropertyKind to ICalValueKind.

`kind` : | A ICalPropertyKind.
Returns : | The ICalValueKind

Since 1.0

### i_cal_property_value_kind_to_kind ()

    ICalPropertyKind    i_cal_property_value_kind_to_kind   (ICalValueKind kind);

Convert a ICalValueKind to a ICalPropertyKind.

`kind` : | A ICalValueKind
Returns : | The ICalPropertyKind.

Since 1.0

### i_cal_property_kind_to_string ()

    const gchar *       i_cal_property_kind_to_string       (ICalPropertyKind kind);

Convert the ICalPropertyKind to a string.

`kind` : | A ICalPropertyKind.
Returns : | The string representation of `kind`.

Since 1.0

### i_cal_property_string_to_kind ()

    ICalPropertyKind    i_cal_property_string_to_kind       (const gchar *string);

Convert the string to ICalPropertyKind.

`string` : | A string representing ICalPropertyKind.
Returns : | The ICalPropertyKind.

Since 1.0

### i_cal_property_kind_is_valid ()

    gint                i_cal_property_kind_is_valid        (const ICalPropertyKind kind);

Check whether ICalPropertyKind is valid.

`kind` : | The ICalPropertyKind
Returns : | 1 if valid, 0 if not.

Since 1.0

### i_cal_property_string_to_method ()

    ICalPropertyMethod  i_cal_property_string_to_method     (const gchar *str);

Convert the string to ICalPropertyKind.

`str` : | A string.
Returns : | The ICalPropertyMethod.

Since 1.0

### i_cal_property_method_to_string ()

    const gchar *       i_cal_property_method_to_string     (ICalPropertyMethod method);

Convert the ICalPropertyMethod to string.

`method` : | The ICalPropertyMethod.
Returns : | The string representation of ICalPropertyMethod.

Since 1.0

### i_cal_property_enum_to_string_r ()

    gchar *             i_cal_property_enum_to_string_r     (gint e);

Convert the enum to string.

`e` : | The enum to be converted.
Returns : | The string representation of `e`. [transfer full]

Since 1.0

### i_cal_property_string_to_enum ()

    gint                i_cal_property_string_to_enum       (const gchar *str);

Convert the string to an enum.

`str` : | A string.
Returns : | The enum corresponding to `str`.

Since 1.0

### i_cal_property_kind_and_string_to_enum ()

    gint                i_cal_property_kind_and_string_to_enum
                                                            (const gint kind,
                                                             const gchar *str);

Convert a integer and string into an enum.

`kind` : | The kind.
`str` : | A string.
Returns : | The enum.

Since 1.0

### i_cal_property_string_to_status ()

    ICalPropertyStatus  i_cal_property_string_to_status     (const gchar *str);

Convert the string to ICalPropertyKind.

`str` : | A string.
Returns : | The ICalPropertyStatus.

Since 1.0

### i_cal_property_status_to_string ()

    const gchar *       i_cal_property_status_to_string     (ICalPropertyStatus method);

Convert the ICalPropertyStatus to string.

`method` : | The ICalPropertyStatus.
Returns : | The string representation of ICalPropertyStatus.

Since 1.0

### i_cal_property_enum_belongs_to_property ()

    gint                i_cal_property_enum_belongs_to_property
                                                            (ICalPropertyKind kind,
                                                             gint e);

Check whether the enum belongs to the ICalPropertyKind.

`kind` : | A ICalPropertyKind
`e` : | The enum to be checked.
Returns : | 1 if yes, 0 if not.

Since 1.0