ICalComponent: libical-glib Reference Manual

## ICalComponent ICalComponent |

## Functions

void | (*ICalComponentForeachTZIDFunc) ()
void | (*ICalComponentForeachRecurrenceFunc) ()
ICalComponent * | i_cal_component_new ()
ICalComponent * | i_cal_component_clone ()
ICalComponent * | i_cal_component_new_from_string ()
ICalComponent * | i_cal_component_new_x ()
void | i_cal_component_free ()
gchar * | i_cal_component_as_ical_string ()
gboolean | i_cal_component_is_valid ()
ICalComponentKind | i_cal_component_isa ()
gint | i_cal_component_isa_component ()
void | i_cal_component_add_property ()
void | i_cal_component_take_property ()
void | i_cal_component_remove_property ()
gint | i_cal_component_count_properties ()
ICalComponent * | i_cal_property_get_parent ()
void | i_cal_property_set_parent ()
ICalTime * | i_cal_property_get_datetime_with_component ()
ICalProperty * | i_cal_component_get_current_property ()
ICalProperty * | i_cal_component_get_first_property ()
ICalProperty * | i_cal_component_get_next_property ()
ICalComponent * | i_cal_component_get_inner ()
void | i_cal_component_add_component ()
void | i_cal_component_take_component ()
void | i_cal_component_remove_component ()
gint | i_cal_component_count_components ()
ICalComponent * | i_cal_component_get_parent ()
void | i_cal_component_set_parent ()
void | i_cal_component_merge_component ()
ICalComponent * | i_cal_component_get_current_component ()
ICalComponent * | i_cal_component_get_first_component ()
ICalComponent * | i_cal_component_get_next_component ()
ICalCompIter * | i_cal_component_begin_component ()
ICalCompIter * | i_cal_component_end_component ()
ICalComponent * | i_cal_comp_iter_next ()
ICalComponent * | i_cal_comp_iter_prior ()
ICalComponent * | i_cal_comp_iter_deref ()
gint | i_cal_component_check_restrictions ()
gint | i_cal_component_count_errors ()
void | i_cal_component_strip_errors ()
void | i_cal_component_convert_errors ()
gboolean | i_cal_component_kind_is_valid ()
ICalComponentKind | i_cal_component_kind_from_string ()
const gchar * | i_cal_component_kind_to_string ()
ICalComponent * | i_cal_component_get_first_real_component ()
ICalTimeSpan * | i_cal_component_get_span ()
void | i_cal_component_set_dtstart ()
ICalTime * | i_cal_component_get_dtstart ()
void | i_cal_component_set_dtend ()
ICalTime * | i_cal_component_get_dtend ()
void | i_cal_component_set_due ()
ICalTime * | i_cal_component_get_due ()
void | i_cal_component_set_duration ()
ICalDuration * | i_cal_component_get_duration ()
void | i_cal_component_set_method ()
ICalPropertyMethod | i_cal_component_get_method ()
void | i_cal_component_set_dtstamp ()
ICalTime * | i_cal_component_get_dtstamp ()
void | i_cal_component_set_summary ()
const gchar * | i_cal_component_get_summary ()
void | i_cal_component_set_comment ()
const gchar * | i_cal_component_get_comment ()
void | i_cal_component_set_uid ()
const gchar * | i_cal_component_get_uid ()
void | i_cal_component_set_relcalid ()
const gchar * | i_cal_component_get_relcalid ()
void | i_cal_component_set_recurrenceid ()
ICalTime * | i_cal_component_get_recurrenceid ()
void | i_cal_component_set_description ()
const gchar * | i_cal_component_get_description ()
void | i_cal_component_set_location ()
const gchar * | i_cal_component_get_location ()
void | i_cal_component_set_sequence ()
gint | i_cal_component_get_sequence ()
void | i_cal_component_set_status ()
ICalPropertyStatus | i_cal_component_get_status ()
void | i_cal_component_foreach_tzid ()
void | i_cal_component_foreach_recurrence ()
ICalTimezone * | i_cal_component_get_timezone ()
gboolean | i_cal_property_recurrence_is_excluded ()
ICalComponent * | i_cal_component_new_vcalendar ()
ICalComponent * | i_cal_component_new_vevent ()
ICalComponent * | i_cal_component_new_vtodo ()
ICalComponent * | i_cal_component_new_vjournal ()
ICalComponent * | i_cal_component_new_valarm ()
ICalComponent * | i_cal_component_new_vfreebusy ()
ICalComponent * | i_cal_component_new_vtimezone ()
ICalComponent * | i_cal_component_new_xstandard ()
ICalComponent * | i_cal_component_new_xdaylight ()
ICalComponent * | i_cal_component_new_vagenda ()
ICalComponent * | i_cal_component_new_vquery ()
ICalComponent * | i_cal_component_new_vavailability ()
ICalComponent * | i_cal_component_new_xavailable ()
ICalComponent * | i_cal_component_new_vpoll ()
ICalComponent * | i_cal_component_new_vvoter ()
ICalComponent * | i_cal_component_new_xvote ()

## Types and Values

| ICalComponent
struct | ICalComponentClass

## Object Hierarchy

        GObject
        ╰── ICalObject
            ╰── ICalComponent

## Description

## Functions

### ICalComponentForeachTZIDFunc ()

    void
    (*ICalComponentForeachTZIDFunc) (ICalParameter *param,
                                     gpointer user_data);

### ICalComponentForeachRecurrenceFunc ()

    void
    (*ICalComponentForeachRecurrenceFunc) (ICalComponent *comp,
                                           ICalTimeSpan *span,
                                           gpointer user_data);

### i_cal_component_new ()

    ICalComponent *
    i_cal_component_new (ICalComponentKind kind);

Create a new ICalComponent with specific type.

#### Parameters

kind | The ICalComponentKind. |

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_clone ()

    ICalComponent *
    i_cal_component_clone (ICalComponent *component);

Deeply clone a ICalComponent.

#### Parameters

component | The ICalComponent to be created. |

#### Returns

The newly deeply cloned ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_from_string ()

    ICalComponent *
    i_cal_component_new_from_string (const gchar *str);

Create a new ICalComponent based on a string.

#### Parameters

str | The string used to create ICalComponent. |

#### Returns

The newly created ICalComponent based on `str` .

[transfer full]

Since: 1.0

### i_cal_component_new_x ()

    ICalComponent *
    i_cal_component_new_x (const gchar *x_name);

Create a new ICalComponent based on name of x property.

#### Parameters

x_name | The name of x property. |

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_free ()

    void
    i_cal_component_free (ICalComponent *component);

Free a ICalComponent.

[skip]

#### Parameters

component | The ICalComponent to be freed. |

Since: 1.0

### i_cal_component_as_ical_string ()

    gchar *
    i_cal_component_as_ical_string (ICalComponent *component);

Convert a ICalComponent to a string.

#### Parameters

component | The ICalComponent to be converted. |

#### Returns

The string representation of ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_is_valid ()

    gboolean
    i_cal_component_is_valid (ICalComponent *component);

Check whether ICalComponent is valid.

#### Parameters

component | The ICalComponent to be checked. |

#### Returns

1 if yes, 0 if not.

Since: 1.0

### i_cal_component_isa ()

    ICalComponentKind
    i_cal_component_isa (const ICalComponent *component);

Get the type of ICalComponent.

#### Parameters

component | The ICalComponent to be checked. |

#### Returns

A ICalComponentKind.

Since: 1.0

### i_cal_component_isa_component ()

    gint
    i_cal_component_isa_component (ICalComponent *component);

Check whether the native part of ICalComponent is icalcomponent.

#### Parameters

component | The ICalComponent to be checked. |

#### Returns

1 if yes, 0 if not.

Since: 1.0

### i_cal_component_add_property ()

    void
    i_cal_component_add_property (ICalComponent *component,
                                  ICalProperty *property);

Add an ICalProperty into ICalComponent.

#### Parameters

component | A ICalComponent. |
property | An ICalProperty. |

Since: 1.0

### i_cal_component_take_property ()

    void
    i_cal_component_take_property (ICalComponent *component,
                                   ICalProperty *property);

Add the `property` into the `component` and unrefs the `property` .

[skip]

#### Parameters

component | An ICalComponent. |
property | An ICalProperty. | [transfer full]

Since: 1.0

### i_cal_component_remove_property ()

    void
    i_cal_component_remove_property (ICalComponent *component,
                                     ICalProperty *property);

Remove ICalProperty from ICalComponent. Caution: The compare is based on address. So you must use the original ICalProperty as the target.

#### Parameters

component | A ICalComponent. |
property | A ICalProperty. |

Since: 1.0

### i_cal_component_count_properties ()

    gint
    i_cal_component_count_properties (ICalComponent *component,
                                      ICalPropertyKind kind);

Count the ICalProperty in ICalComponent.

#### Parameters

component | The ICalComponent. |
kind | A ICalPropertyKind. |

#### Returns

The number of ICalProperty.

Since: 1.0

### i_cal_property_get_parent ()

    ICalComponent *
    i_cal_property_get_parent (ICalProperty *property);

Get the parent component of the property. Use with caution. When icalproperty is deallocated, it won't deallocate its parent. However the ICalComponent object created using this method will be deallocated (if no reference in other places). So You need to make sure there is another reference except the one in ICalProperty.

#### Parameters

property | The ICalProperty. |

#### Returns

The parent ICalComponent of ICalProperty.

[transfer full][nullable]

Since: 2.0

### i_cal_property_set_parent ()

    void
    i_cal_property_set_parent (ICalProperty *property,
                               ICalComponent *component);

Set the parent ICalComponent of the specified ICalProperty.

#### Parameters

property | An ICalProperty. |
component | An ICalComponent. | [nullable]

Since: 3.0

### i_cal_property_get_datetime_with_component ()

    ICalTime *
    i_cal_property_get_datetime_with_component
                                   (ICalProperty *prop,
                                    ICalComponent *comp);

If the property is a DATE-TIME with a TZID parameter and a corresponding VTIMEZONE is present in the component, the returned component will already be in the correct timezone; otherwise the caller is responsible for converting it.

The `comp` can be NULL, in which case the parent of the `prop` is used to find the corresponding time zone.

#### Parameters

prop | An ICalProperty. |
comp | An ICalComponent. | [nullable]

#### Returns

Get a DATE or DATE-TIME property as an ICalTime.

[transfer full]

Since: 3.0.5

### i_cal_component_get_current_property ()

    ICalProperty *
    i_cal_component_get_current_property (ICalComponent *component);

Get the current ICalProperty in ICalComponent.

#### Parameters

component | A ICalComponent. |

#### Returns

The current ICalProperty.

[transfer full]

Since: 1.0

### i_cal_component_get_first_property ()

    ICalProperty *
    i_cal_component_get_first_property (ICalComponent *component,
                                        ICalPropertyKind kind);

Get the first ICalProperty with specific kind in ICalComponent.

#### Parameters

component | A ICalComponent. |
kind | A ICalPropertyKind. |

#### Returns

The first ICalProperty.

[transfer full][nullable]

Since: 1.0

### i_cal_component_get_next_property ()

    ICalProperty *
    i_cal_component_get_next_property (ICalComponent *component,
                                       ICalPropertyKind kind);

Get the next ICalProperty with specific kind in ICalComponent.

#### Parameters

component | A ICalComponent. |
kind | A ICalPropertyKind. |

#### Returns

The next ICalProperty.

[transfer full][nullable]

Since: 1.0

### i_cal_component_get_inner ()

    ICalComponent *
    i_cal_component_get_inner (ICalComponent *comp);

Return the first VEVENT, VTODO or VJOURNAL sub-component of cop, or comp if it is one of those types.

#### Parameters

comp | A ICalComponent. |

#### Returns

The first VEVENT, VTODO or VJOURNAL sub-component.

[transfer full][nullable]

Since: 1.0

### i_cal_component_add_component ()

    void
    i_cal_component_add_component (ICalComponent *parent,
                                   ICalComponent *child);

Add a ICalComponent into another ICalComponent as a child component.

#### Parameters

parent | A ICalComponent. |
child | A child ICalComponent. |

Since: 1.0

### i_cal_component_take_component ()

    void
    i_cal_component_take_component (ICalComponent *parent,
                                    ICalComponent *child);

Add the `child` into the `parent` as a child component and unrefs the `child` .

[skip]

#### Parameters

parent | A ICalComponent. |
child | A child ICalComponent. | [transfer full]

Since: 1.0

### i_cal_component_remove_component ()

    void
    i_cal_component_remove_component (ICalComponent *parent,
                                      ICalComponent *child);

Remove a child ICalComponent from another ICalComponent.

#### Parameters

parent | A ICalComponent. |
child | A child ICalComponent. |

Since: 1.0

### i_cal_component_count_components ()

    gint
    i_cal_component_count_components (ICalComponent *component,
                                      ICalComponentKind kind);

Count the child ICalComponent with the target kind in the parent one.

#### Parameters

component | The ICalComponent to be checked. |
kind | The target ICalComponentKind |

#### Returns

The count of child ICalComponent in the parent one.

Since: 1.0

### i_cal_component_get_parent ()

    ICalComponent *
    i_cal_component_get_parent (ICalComponent *component);

Get the parent component of the `component` .

#### Parameters

component | The ICalComponent. |

#### Returns

The parent ICalComponent of the `component` .

[transfer full][nullable]

Since: 3.0

### i_cal_component_set_parent ()

    void
    i_cal_component_set_parent (ICalComponent *component,
                                ICalComponent *parent);

Set the `parent` ICalComponent of the specified `component` .

#### Parameters

component | An ICalComponent, a child. |
parent | An ICalComponent, a new parent. | [nullable]

Since: 3.0

### i_cal_component_merge_component ()

    void
    i_cal_component_merge_component (ICalComponent *comp,
                                     ICalComponent *comp_to_merge);

This takes 2 VCALENDAR components and merges the second one into the first, resolving any problems with conflicting TZIDs. comp_to_merge will no longer exist after calling this function.

#### Parameters

comp | The ICalComponent. |
comp_to_merge | A ICalComponent. After merged it will not exist any more. | [in]

Since: 1.0

### i_cal_component_get_current_component ()

    ICalComponent *
    i_cal_component_get_current_component (ICalComponent *component);

Get the current ICalComponent in ICalComponent.

#### Parameters

component | A ICalComponent. |

#### Returns

The current ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_get_first_component ()

    ICalComponent *
    i_cal_component_get_first_component (ICalComponent *component,
                                         ICalComponentKind kind);

Get the first ICalComponent with specific kind in ICalComponent.

#### Parameters

component | A ICalComponent. |
kind | A ICalComponentKind. |

#### Returns

The first ICalComponent.

[transfer full][nullable]

Since: 1.0

### i_cal_component_get_next_component ()

    ICalComponent *
    i_cal_component_get_next_component (ICalComponent *component,
                                        ICalComponentKind kind);

Get the next ICalComponent with specific kind in ICalComponent.

#### Parameters

component | A ICalComponent. |
kind | A ICalComponentKind. |

#### Returns

The next ICalComponent.

[transfer full][nullable]

Since: 1.0

### i_cal_component_begin_component ()

    ICalCompIter *
    i_cal_component_begin_component (ICalComponent *component,
                                     ICalComponentKind kind);

Get the ICalCompIter pointing to the first child ICalComponent. Use ICalCompIter when you need remove the child component from the parent. For traversing, i_cal_object_set_owner needs to be called after this API. See component.py in tests for details.

#### Parameters

component | A ICalComponent. |
kind | A ICalComponentKind. |

#### Returns

A ICalCompIter.

[transfer full]

Since: 1.0

### i_cal_component_end_component ()

    ICalCompIter *
    i_cal_component_end_component (ICalComponent *component,
                                   ICalComponentKind kind);

Get the ICalCompIter pointing to the end child ICalComponent. Use ICalCompIter when you need remove the child component from the parent. For traversing, i_cal_object_set_owner needs to be called after this API. See component.py in tests for details.

#### Parameters

component | A ICalComponent. |
kind | A ICalComponentKind. |

#### Returns

A ICalCompIter.

[transfer full]

Since: 1.0

### i_cal_comp_iter_next ()

    ICalComponent *
    i_cal_comp_iter_next (ICalCompIter *i);

Get the next ICalComponent pointed by ICalCompIter. Use ICalCompIter when you need remove the child component from the parent. For traversing, i_cal_object_set_owner needs to be called after this API. See component.py in tests for details.

#### Parameters

i | A ICalCompIter. |

#### Returns

A ICalCompIter.

[transfer full]

Since: 1.0

### i_cal_comp_iter_prior ()

    ICalComponent *
    i_cal_comp_iter_prior (ICalCompIter *i);

Get the prior ICalComponent pointed by ICalCompIter. Use ICalCompIter when you need remove the child component from the parent. For traversing, i_cal_object_set_owner needs to be called after this API. See component.py in tests for details.

#### Parameters

i | A ICalCompIter. |

#### Returns

A ICalCompIter.

[transfer full]

Since: 1.0

### i_cal_comp_iter_deref ()

    ICalComponent *
    i_cal_comp_iter_deref (ICalCompIter *i);

Get the current ICalComponent pointed by ICalCompIter. Use ICalCompIter when you need remove the child component from the parent. For traversing, i_cal_object_set_owner needs to be called after this API. See component.py in tests for details.

#### Parameters

i | A ICalCompIter. |

#### Returns

A ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_check_restrictions ()

    gint
    i_cal_component_check_restrictions (ICalComponent *comp);

Check the number of restrictions in ICalComponent

#### Parameters

comp | The ICalComponent to be checked |

#### Returns

The number of restrictions in `comp`

Since: 1.0

### i_cal_component_count_errors ()

    gint
    i_cal_component_count_errors (ICalComponent *comp);

Count the number of errors in ICalComponent.

#### Parameters

comp | A ICalComponent |

#### Returns

The count of errors.

Since: 1.0

### i_cal_component_strip_errors ()

    void
    i_cal_component_strip_errors (ICalComponent *comp);

Remove all X-LIC-ERROR properties.

#### Parameters

comp | A ICalComponent |

Since: 1.0

### i_cal_component_convert_errors ()

    void
    i_cal_component_convert_errors (ICalComponent *comp);

Convert some X-LIC-ERROR properties into RETURN-STATUS properties.

#### Parameters

comp | A ICalComponent |

Since: 1.0

### i_cal_component_kind_is_valid ()

    gboolean
    i_cal_component_kind_is_valid (const ICalComponentKind kind);

Check if a ICalComponentKind is valid.

#### Parameters

kind | A ICalComponentKind. |

#### Returns

1 if `kind` id a ICalComponent but not the I_CAL_NO_COMPONENT, 0 if not.

Since: 1.0

### i_cal_component_kind_from_string ()

    ICalComponentKind
    i_cal_component_kind_from_string (const gchar *string);

Convert a string to a ICalComponentKind.

#### Parameters

string | A string. |

#### Returns

A ICalComponentKind

Since: 1.0

### i_cal_component_kind_to_string ()

    const gchar *
    i_cal_component_kind_to_string (ICalComponentKind kind);

Convert a ICalComponentKind to a string.

#### Parameters

kind | A ICalComponentKind. |

#### Returns

The string representation of `kind` .

[transfer none]

Since: 1.0

### i_cal_component_get_first_real_component ()

    ICalComponent *
    i_cal_component_get_first_real_component
                                   (ICalComponent *c);

For VCOMPONENT: Return a reference to the first VEVENT, VTODO or VJOURNAL.

#### Parameters

c | A VCOMPONENT type of ICalComponent. |

#### Returns

A reference to the first VEVENT, VTODO or VJOURNAL.

[transfer full]

Since: 1.0

### i_cal_component_get_span ()

    ICalTimeSpan *
    i_cal_component_get_span (ICalComponent *comp);

For VEVENT, VTODO, VJOURNAL and VTIMEZONE: report the start and end times of an event in UTC

#### Parameters

comp | A ICalComponent |

#### Returns

A ICalTimeSpan.

[transfer full]

Since: 1.0

### i_cal_component_set_dtstart ()

    void
    i_cal_component_set_dtstart (ICalComponent *comp,
                                 ICalTime *v);

Set the dtstart of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A ICalTime. |

Since: 1.0

### i_cal_component_get_dtstart ()

    ICalTime *
    i_cal_component_get_dtstart (ICalComponent *comp);

Get the dtstart of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

A ICalTime.

[transfer full]

Since: 1.0

### i_cal_component_set_dtend ()

    void
    i_cal_component_set_dtend (ICalComponent *comp,
                               ICalTime *v);

Set the dtend of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A ICalTime. |

Since: 1.0

### i_cal_component_get_dtend ()

    ICalTime *
    i_cal_component_get_dtend (ICalComponent *comp);

Get the dtend of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

A ICalTime.

[transfer full]

Since: 1.0

### i_cal_component_set_due ()

    void
    i_cal_component_set_due (ICalComponent *comp,
                             ICalTime *v);

Set the due of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A ICalTime. |

Since: 1.0

### i_cal_component_get_due ()

    ICalTime *
    i_cal_component_get_due (ICalComponent *comp);

Get the due of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

A ICalTime.

[transfer full]

Since: 1.0

### i_cal_component_set_duration ()

    void
    i_cal_component_set_duration (ICalComponent *comp,
                                  ICalDuration *v);

Set the duration of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A ICalDuration. |

Since: 1.0

### i_cal_component_get_duration ()

    ICalDuration *
    i_cal_component_get_duration (ICalComponent *comp);

Get the duration of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

An ICalDuration.

[transfer full]

Since: 1.0

### i_cal_component_set_method ()

    void
    i_cal_component_set_method (ICalComponent *comp,
                                ICalPropertyMethod method);

Set the method of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
method | A ICalPropertyMethod. |

Since: 1.0

### i_cal_component_get_method ()

    ICalPropertyMethod
    i_cal_component_get_method (ICalComponent *comp);

Get the method of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

A ICalPropertyMethod.

Since: 1.0

### i_cal_component_set_dtstamp ()

    void
    i_cal_component_set_dtstamp (ICalComponent *comp,
                                 ICalTime *v);

Set the dtstamp of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A ICalTime. |

Since: 1.0

### i_cal_component_get_dtstamp ()

    ICalTime *
    i_cal_component_get_dtstamp (ICalComponent *comp);

Get the dtstamp of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

A ICalTime.

[transfer full]

Since: 1.0

### i_cal_component_set_summary ()

    void
    i_cal_component_set_summary (ICalComponent *comp,
                                 const gchar *v);

Set the summary of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A string representing summary. |

Since: 1.0

### i_cal_component_get_summary ()

    const gchar *
    i_cal_component_get_summary (ICalComponent *comp);

Get the summary of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

The summary of `comp` .

[transfer none]

Since: 1.0

### i_cal_component_set_comment ()

    void
    i_cal_component_set_comment (ICalComponent *comp,
                                 const gchar *v);

Set the comment of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A string representing comment. |

Since: 1.0

### i_cal_component_get_comment ()

    const gchar *
    i_cal_component_get_comment (ICalComponent *comp);

Get the comment of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

The comment of `comp` .

[transfer none]

Since: 1.0

### i_cal_component_set_uid ()

    void
    i_cal_component_set_uid (ICalComponent *comp,
                             const gchar *v);

Set the uid of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A string representing uid. |

Since: 1.0

### i_cal_component_get_uid ()

    const gchar *
    i_cal_component_get_uid (ICalComponent *comp);

Get the uid of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

The uid of `comp` .

[transfer none]

Since: 1.0

### i_cal_component_set_relcalid ()

    void
    i_cal_component_set_relcalid (ICalComponent *comp,
                                  const gchar *v);

Set the relcalid of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A string representing relcalid. |

Since: 1.0

### i_cal_component_get_relcalid ()

    const gchar *
    i_cal_component_get_relcalid (ICalComponent *comp);

Get the relcalid of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

The relcalid of `comp` .

[transfer none]

Since: 1.0

### i_cal_component_set_recurrenceid ()

    void
    i_cal_component_set_recurrenceid (ICalComponent *comp,
                                      ICalTime *v);

Set the recurrenceid of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A ICalTime. |

Since: 1.0

### i_cal_component_get_recurrenceid ()

    ICalTime *
    i_cal_component_get_recurrenceid (ICalComponent *comp);

Get the recurrenceid of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

A ICalTime.

[transfer full]

Since: 1.0

### i_cal_component_set_description ()

    void
    i_cal_component_set_description (ICalComponent *comp,
                                     const gchar *v);

Set the description of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A string representing description. |

Since: 1.0

### i_cal_component_get_description ()

    const gchar *
    i_cal_component_get_description (ICalComponent *comp);

Get the description of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

The description of `comp` .

[transfer none]

Since: 1.0

### i_cal_component_set_location ()

    void
    i_cal_component_set_location (ICalComponent *comp,
                                  const gchar *v);

Set the location of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A string representing location. |

Since: 1.0

### i_cal_component_get_location ()

    const gchar *
    i_cal_component_get_location (ICalComponent *comp);

Get the location of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

The location of `comp` .

[transfer none]

Since: 1.0

### i_cal_component_set_sequence ()

    void
    i_cal_component_set_sequence (ICalComponent *comp,
                                  gint v);

Set the sequence of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | The sequence number. |

Since: 1.0

### i_cal_component_get_sequence ()

    gint
    i_cal_component_get_sequence (ICalComponent *comp);

Get the sequence of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

The sequence of `comp` .

Since: 1.0

### i_cal_component_set_status ()

    void
    i_cal_component_set_status (ICalComponent *comp,
                                ICalPropertyStatus status);

Set the status of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
status | A ICalPropertyStatus. |

Since: 1.0

### i_cal_component_get_status ()

    ICalPropertyStatus
    i_cal_component_get_status (ICalComponent *comp);

Get the status of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

A ICalPropertyStatus.

Since: 1.0

### i_cal_component_foreach_tzid ()

    void
    i_cal_component_foreach_tzid (ICalComponent *comp,
                                  ICalComponentForeachTZIDFunc callback,
                                  gpointer user_data);

Apply the same manipulation on every tzid in ICalComponent.

#### Parameters

comp | The ICalComponent to be queried. |
callback | The callback function. | [scope call]
user_data | The data for callback function. | [nullable][closure callback]

Since: 3.0.5

### i_cal_component_foreach_recurrence ()

    void
    i_cal_component_foreach_recurrence (ICalComponent *comp,
                                        ICalTime *start,
                                        ICalTime *end,
                                        ICalComponentForeachRecurrenceFunc callback,
                                        gpointer user_data);

Cycle through all recurrances of an event. This function will call the specified callback function for once for the base value of DTSTART, and foreach recurring date/time value. It will filter out events that are specified as an EXDATE or an EXRULE.

#### Parameters

comp | The ICalComponent to be queried. |
start | Ignore timespans before this |
end | Ignore timespans after this |
callback | Function called for each timespan within the range. | [scope call]
user_data | The user data for callback function. | [nullable][closure callback]

Since: 3.0.5

### i_cal_component_get_timezone ()

    ICalTimezone *
    i_cal_component_get_timezone (ICalComponent *comp,
                                  const gchar *tzid);

Returns the icaltimezone in the component corresponding to the TZID, or NULL if it can't be found.

#### Parameters

comp | A ICalComponent. |
tzid | A string representing timezone. |

#### Returns

A ICalTimezone.

[transfer full][allow-none]

Since: 1.0

### i_cal_property_recurrence_is_excluded ()

    gboolean
    i_cal_property_recurrence_is_excluded (ICalComponent *comp,
                                           ICalTime *dtstart,
                                           ICalTime *recurtime);

Decide if this recurrance is acceptable. This function decides if a specific recurrence value is excluded by EXRULE or EXDATE properties.

#### Parameters

comp | A ICalComponent. |
dtstart | The base dtstart value for this component. |
recurtime | The time to test against. |

#### Returns

1 if yes, 0 if not.

Since: 1.0

### i_cal_component_new_vcalendar ()

    ICalComponent *
    i_cal_component_new_vcalendar (void);

Create a ICalComponent with the type to be vcalendar

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_vevent ()

    ICalComponent *
    i_cal_component_new_vevent (void);

Create a ICalComponent with the type to be vevent

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_vtodo ()

    ICalComponent *
    i_cal_component_new_vtodo (void);

Create a ICalComponent with the type to be vtodo

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_vjournal ()

    ICalComponent *
    i_cal_component_new_vjournal (void);

Create a ICalComponent with the type to be vjournal

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_valarm ()

    ICalComponent *
    i_cal_component_new_valarm (void);

Create a ICalComponent with the type to be valarm

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_vfreebusy ()

    ICalComponent *
    i_cal_component_new_vfreebusy (void);

Create a ICalComponent with the type to be vfreebusy

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_vtimezone ()

    ICalComponent *
    i_cal_component_new_vtimezone (void);

Create a ICalComponent with the type to be vtimezone

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_xstandard ()

    ICalComponent *
    i_cal_component_new_xstandard (void);

Create a ICalComponent with the type to be xstandard

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_xdaylight ()

    ICalComponent *
    i_cal_component_new_xdaylight (void);

Create a ICalComponent with the type to be xdaylight

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_vagenda ()

    ICalComponent *
    i_cal_component_new_vagenda (void);

Create a ICalComponent with the type to be vagenda

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_vquery ()

    ICalComponent *
    i_cal_component_new_vquery (void);

Create a ICalComponent with the type to be vquery

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_vavailability ()

    ICalComponent *
    i_cal_component_new_vavailability (void);

Create a ICalComponent with the type to be vavailability

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_xavailable ()

    ICalComponent *
    i_cal_component_new_xavailable (void);

Create a ICalComponent with the type to be xavailable

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_vpoll ()

    ICalComponent *
    i_cal_component_new_vpoll (void);

Create a ICalComponent with the type to be vpoll

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_vvoter ()

    ICalComponent *
    i_cal_component_new_vvoter (void);

Create a ICalComponent with the type to be vvoter

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

### i_cal_component_new_xvote ()

    ICalComponent *
    i_cal_component_new_xvote (void);

Create a ICalComponent with the type to be xvote

#### Returns

The newly created ICalComponent.

[transfer full]

Since: 1.0

## Types and Values

### ICalComponent

    typedef struct _ICalComponent ICalComponent;

This is the ICalComponent instance.

### struct ICalComponentClass

    struct ICalComponentClass {
    };

This is the ICalComponent class.