libical-glib Reference Manual: ICalComponent

## ICalComponent ICalComponent |

## Functions

ICalComponent * | i_cal_component_new_full ()
ICalComponent * | i_cal_component_new ()
ICalComponent * | i_cal_component_new_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_r ()
gint | 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_remove_property ()
gint | i_cal_component_count_properties ()
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_remove_component ()
gint | i_cal_component_count_components ()
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 ()
gint | i_cal_component_kind_is_valid ()
ICalComponentKind | i_cal_component_string_to_kind ()
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 ()
ICalTimetype * | i_cal_component_get_dtstart ()
void | i_cal_component_set_dtend ()
ICalTimetype * | i_cal_component_get_dtend ()
void | i_cal_component_set_due ()
ICalTimetype * | i_cal_component_get_due ()
void | i_cal_component_set_duration ()
ICalDurationType * | i_cal_component_get_duration ()
void | i_cal_component_set_method ()
ICalPropertyMethod | i_cal_component_get_method ()
void | i_cal_component_set_dtstamp ()
ICalTimetype * | 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 ()
ICalTimetype * | 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 ()
ICalTimezone * | i_cal_component_get_timezone ()
gint | 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 ()

## Types and Values

#define | I_CAL_COMPONENT_TYPE
| ICalComponent
struct | ICalComponentClass

## Object Hierarchy

        GObject
        ╰── ICalObject
            ╰── ICalComponent

## Includes

    #include <i-cal-comp-iter>
    #include <i-cal-duration-type>
    #include <i-cal-property>
    #include <i-cal-timetype>
    #include <i-cal-timezone>
    #include <i-cal-time-span>

## Description

## Functions

### i_cal_component_new_full ()

    ICalComponent *
    i_cal_component_new_full (icalcomponent *native,
                              GObject *owner);

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

#### Parameters

native | The native libical object. |
owner | The parent. |

#### Returns

The newly create libical-glib object.

[transfer full]

Since 1.0

### 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_new_clone ()

    ICalComponent *
    i_cal_component_new_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.

#### Parameters

component | The ICalComponent to be freed. |

Since 1.0

### i_cal_component_as_ical_string_r ()

    gchar *
    i_cal_component_as_ical_string_r (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 ()

    gint
    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 a ICalProperty into ICalComponent.

#### Parameters

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

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_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]

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]

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]

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_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_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]

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]

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 ()

    gint
    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_string_to_kind ()

    ICalComponentKind
    i_cal_component_string_to_kind (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,
                                 ICalTimetype *v);

Set the dtstart of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A ICalTimetype. |

Since 1.0

### i_cal_component_get_dtstart ()

    ICalTimetype *
    i_cal_component_get_dtstart (ICalComponent *comp);

Get the dtstart of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

A ICalTimetype.

[transfer full]

Since 1.0

### i_cal_component_set_dtend ()

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

Set the dtend of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A ICalTimetype. |

Since 1.0

### i_cal_component_get_dtend ()

    ICalTimetype *
    i_cal_component_get_dtend (ICalComponent *comp);

Get the dtend of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

A ICalTimetype.

[transfer full]

Since 1.0

### i_cal_component_set_due ()

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

Set the due of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A ICalTimetype. |

Since 1.0

### i_cal_component_get_due ()

    ICalTimetype *
    i_cal_component_get_due (ICalComponent *comp);

Get the due of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

A ICalTimetype.

[transfer full]

Since 1.0

### i_cal_component_set_duration ()

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

Set the duration of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A ICalDurationType. |

Since 1.0

### i_cal_component_get_duration ()

    ICalDurationType *
    i_cal_component_get_duration (ICalComponent *comp);

Get the duration of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

A ICalDurationType.

[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,
                                 ICalTimetype *v);

Set the dtstamp of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A ICalTimetype. |

Since 1.0

### i_cal_component_get_dtstamp ()

    ICalTimetype *
    i_cal_component_get_dtstamp (ICalComponent *comp);

Get the dtstamp of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

A ICalTimetype.

[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,
                                      ICalTimetype *v);

Set the recurrenceid of the ICalComponent.

#### Parameters

comp | A ICalComponent. |
v | A ICalTimetype. |

Since 1.0

### i_cal_component_get_recurrenceid ()

    ICalTimetype *
    i_cal_component_get_recurrenceid (ICalComponent *comp);

Get the recurrenceid of the ICalComponent.

#### Parameters

comp | A ICalComponent. |

#### Returns

A ICalTimetype.

[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,
                                  void (*callback) (ICalParameter *param, void *data),
                                  void *callback_data);

Apply the same manipulation on every tzid in ICalComponent. It cannot be used by Python yet. For convenience, a python version of this API is defined in tests/component.py.

#### Parameters

comp | The ICalComponent to be queried. |
callback | The callback function. |
callback_data | The data for callback function. | [allow-none]

Since 1.0

### 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 ()

    gint
    i_cal_property_recurrence_is_excluded (ICalComponent *comp,
                                           ICalTimetype *dtstart,
                                           ICalTimetype *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

## Types and Values

### I_CAL_COMPONENT_TYPE

    #define             I_CAL_COMPONENT_TYPE

### ICalComponent

    typedef struct _ICalComponent ICalComponent;

This is the ICalComponent instance.

### struct ICalComponentClass

    struct ICalComponentClass {
    };

This is the ICalComponent class.