## ICalValue ICalValue |

## Synopsis

    #define             I_CAL_VALUE_TYPE
                        ICalValue;
    struct              ICalValueClass;
    ICalValue *         i_cal_value_new_full                (icalvalue *native,
                                                             GObject *owner);
    ICalValue *         i_cal_value_new                     (ICalValueKind kind);
    ICalValue *         i_cal_value_new_clone               (const ICalValue *value);
    ICalValue *         i_cal_value_new_from_string         (ICalValueKind kind,
                                                             const gchar *str);
    void                i_cal_value_free                    (ICalValue *value);
    gint                i_cal_value_is_valid                (const ICalValue *value);
    gchar *             i_cal_value_as_ical_string_r        (const ICalValue *value);
    ICalValueKind       i_cal_value_isa                     (const ICalValue *value);
    gint                i_cal_value_isa_value               (ICalValue *value);
    ICalParameterXliccomparetype i_cal_value_compare        (const ICalValue *a,
                                                             const ICalValue *b);
    ICalValueKind       i_cal_value_string_to_kind          (const gchar *str);
    const gchar *       i_cal_value_kind_to_string          (const ICalValueKind kind);
    gint                i_cal_value_kind_is_valid           (const ICalValueKind kind);
    gchar *             i_cal_value_encode_ical_string      (const gchar *szText);
    gchar *             i_cal_value_decode_ical_string      (const gchar *szText);

## Object Hierarchy

      GObject
       +----ICalObject
             +----ICalValue

## Description

## Details

### I_CAL_VALUE_TYPE

    #define             I_CAL_VALUE_TYPE

### ICalValue

    typedef struct _ICalValue ICalValue;

This is the ICalValue instance.

### struct ICalValueClass

    struct ICalValueClass {
    };

This is the ICalValue class.

### i_cal_value_new_full ()

    ICalValue *         i_cal_value_new_full                (icalvalue *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_value_new ()

    ICalValue *         i_cal_value_new                     (ICalValueKind kind);

Create a new ICalValue with specific kind.

`kind` : | A ICalValueKind
Returns : | The newly created ICalValue. [transfer full]

Since 1.0

### i_cal_value_new_clone ()

    ICalValue *         i_cal_value_new_clone               (const ICalValue *value);

Deeply clone a ICalValue.

`value` : | The ICalValue to be cloned.
Returns : | The newly created ICalValue with the same property as `value`. [transfer full]

Since 1.0

### i_cal_value_new_from_string ()

    ICalValue *         i_cal_value_new_from_string         (ICalValueKind kind,
                                                             const gchar *str);

Create a new ICalValue based on the ICalValueKind and a string.

`kind` : | A ICalValueKind
`str` : | A string.
Returns : | The newly created ICalValue based on the `kind` and `str`. [transfer full]

Since 1.0

### i_cal_value_free ()

    void                i_cal_value_free                    (ICalValue *value);

Free a ICalValue.

`value` : | The ICalValue to be freed.

Since 1.0

### i_cal_value_is_valid ()

    gint                i_cal_value_is_valid                (const ICalValue *value);

Check if ICalValue is valid.

`value` : | The ICalValue to be checked.
Returns : | 1 if valid, 0 if not.

Since 1.0

### i_cal_value_as_ical_string_r ()

    gchar *             i_cal_value_as_ical_string_r        (const ICalValue *value);

Convert the ICalValue to a string.

`value` : | A ICalValue.
Returns : | The string representation. [transfer full]

Since 1.0

### i_cal_value_isa ()

    ICalValueKind       i_cal_value_isa                     (const ICalValue *value);

Get the kind of ICalValue.

`value` : | A ICalValue.
Returns : | The kind of `value`.

Since 1.0

### i_cal_value_isa_value ()

    gint                i_cal_value_isa_value               (ICalValue *value);

Check whether the native part of ICalValue is an icalvalue

`value` : | A ICalValue
Returns : | 1 if yes, 0 if not.

Since 1.0

### i_cal_value_compare ()

    ICalParameterXliccomparetype i_cal_value_compare        (const ICalValue *a,
                                                             const ICalValue *b);

Compare two ICalValue.

`a` : | A ICalValue.
`b` : | A ICalValue.
Returns : | The compare result.

Since 1.0

### i_cal_value_string_to_kind ()

    ICalValueKind       i_cal_value_string_to_kind          (const gchar *str);

Convert a string to ICalValueKind.

`str` : | A string.
Returns : | A ICalValueKind.

Since 1.0

### i_cal_value_kind_to_string ()

    const gchar *       i_cal_value_kind_to_string          (const ICalValueKind kind);

Convert the ICalValueKind to a string.

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

Since 1.0

### i_cal_value_kind_is_valid ()

    gint                i_cal_value_kind_is_valid           (const ICalValueKind kind);

Check whether the ICalValueKind is valid.

`kind` : | The ICalValueKind to be checked.
Returns : | 1 if yes, 0 if not.

Since 1.0

### i_cal_value_encode_ical_string ()

    gchar *             i_cal_value_encode_ical_string      (const gchar *szText);

Encode a character string in ical format, escape certain characters, etc.

`szText` : | A string.
Returns : | The encoded string. NULL if fail. [allow-none][transfer full]

Since 1.0

### i_cal_value_decode_ical_string ()

    gchar *             i_cal_value_decode_ical_string      (const gchar *szText);

Extract the original character string encoded by the above function

`szText` : | A string.
Returns : | The decoded string. NULL if fail. [allow-none][transfer full]

Since 1.0