### Class

# ICalGLib Component

#### Description [src]

    final class ICalGLib.Component : ICalGLib.Object
    {
      /* No available fields */
    }

This is the ICalComponent instance.

#### Hierarchy

#### Ancestors

- ICalObject
- GObject

#### Constructors

###### i_cal_component_new

Creates a new `ICalComponent` with specific type.

since: 1.0

###### i_cal_component_new_from_string

Creates a new `ICalComponent` based on a string.

since: 1.0

###### i_cal_component_new_full

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

since: 1.0

###### i_cal_component_new_iana

Creates a new `ICalComponent` with an IANA component name.

since: 4.0

###### i_cal_component_new_participant

Creates a `ICalComponent` of type `I_CAL_PARTICIPANT_COMPONENT`.

since: 4.0

###### i_cal_component_new_vagenda

Creates a `ICalComponent` with the type to be vagenda.

since: 1.0

###### i_cal_component_new_valarm

Creates a `ICalComponent` with the type to be valarm.

since: 1.0

###### i_cal_component_new_vavailability

Creates a `ICalComponent` with the type to be vavailability.

since: 1.0

###### i_cal_component_new_vcalendar

Creates a `ICalComponent` with the type to be vcalendar.

since: 1.0

###### i_cal_component_new_vevent

Creates a `ICalComponent` with the type to be vevent.

since: 1.0

###### i_cal_component_new_vfreebusy

Creates a `ICalComponent` with the type to be vfreebusy.

since: 1.0

###### i_cal_component_new_vjournal

Creates a `ICalComponent` with the type to be vjournal.

since: 1.0

###### i_cal_component_new_vlocation

Creates a `ICalComponent` of type `I_CAL_VLOCATION_COMPONENT`.

since: 4.0

###### i_cal_component_new_vpatch

Creates a `ICalComponent` of type `I_CAL_VPATCH_COMPONENT`.

since: 4.0

###### i_cal_component_new_vpoll

Creates a `ICalComponent` with the type to be vpoll.

since: 1.0

###### i_cal_component_new_vquery

Creates a `ICalComponent` with the type to be vquery.

since: 1.0

###### i_cal_component_new_vreply

Creates a `ICalComponent` with the type to be vreply.

since: 1.0

###### i_cal_component_new_vresource

Creates a `ICalComponent` of type `I_CAL_VRESOURCE_COMPONENT`.

since: 4.0

###### i_cal_component_new_vtimezone

Creates a `ICalComponent` with the type to be vtimezone.

since: 1.0

###### i_cal_component_new_vtodo

Creates a `ICalComponent` with the type to be vtodo.

since: 1.0

###### i_cal_component_new_vvoter

Creates a `ICalComponent` with the type to be vvoter.

since: 1.0

###### i_cal_component_new_x

Creates a new `ICalComponent` based on name of x property.

since: 1.0

###### i_cal_component_new_xavailable

Creates a `ICalComponent` with the type to be xavailable.

since: 1.0

###### i_cal_component_new_xdaylight

Creates a `ICalComponent` with the type to be xdaylight.

since: 1.0

###### i_cal_component_new_xpatch

Creates a `ICalComponent` of type `I_CAL_XPATCH_COMPONENT`.

since: 4.0

###### i_cal_component_new_xstandard

Creates a `ICalComponent` with the type to be xstandard.

since: 1.0

###### i_cal_component_new_xvote

Creates a `ICalComponent` with the type to be xvote.

since: 1.0

#### Functions

###### i_cal_component_kind_from_string

Converts a string to a `ICalComponentKind`.

since: 1.0

###### i_cal_component_kind_is_valid

Checks if a `ICalComponentKind` is valid.

since: 1.0

###### i_cal_component_kind_to_string

Converts a `ICalComponentKind` to a string.

since: 1.0

#### Instance methods

###### i_cal_component_add_component

Adds a `ICalComponent` into another `ICalComponent` as a child component.

since: 1.0

###### i_cal_component_add_property

Adds an `ICalProperty` into `ICalComponent`.

since: 1.0

###### i_cal_component_as_ical_string

Converts a `ICalComponent` to a string.

since: 1.0

###### i_cal_component_begin_component

Gets the `ICalCompIter` pointing to the first child `ICalComponent`.

since: 1.0

###### i_cal_component_begin_property

Gets the `ICalPropIter` pointing to the first property of type `kind` in `ICalComponent`.

since: 4.0

###### i_cal_component_check_restrictions

Checks if the `ICalComponent` has restrictions.

since: 1.0

###### i_cal_component_clone

Deeply clone a `ICalComponent`.

since: 4.0

###### i_cal_component_convert_errors

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

since: 1.0

###### i_cal_component_count_components

Counts the child `ICalComponent` with the target kind in the parent one.

since: 1.0

###### i_cal_component_count_errors

Counts the number of errors in `ICalComponent`.

since: 1.0

###### i_cal_component_count_properties

Counts the number of `ICalProperty` in `ICalComponent`.

since: 1.0

###### i_cal_component_end_component

Gets the `ICalCompIter` pointing to the end child `ICalComponent`.

since: 1.0

###### i_cal_component_foreach_recurrence

Cycles through all recurrences 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.

since: 3.0.5

###### i_cal_component_foreach_tzid

Applies the same manipulation on every tzid in `ICalComponent`.

since: 3.0.5

###### i_cal_component_free

Frees a `ICalComponent`.

since: 1.0

###### i_cal_component_get_comment

Gets the comment of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_component_name

Returns the name of the `component` as string.

since: 4.0

###### i_cal_component_get_current_component

Gets the current `ICalComponent` in `ICalComponent`.

since: 1.0

###### i_cal_component_get_current_property

Gets the current `ICalProperty` in `ICalComponent`.

since: 1.0

###### i_cal_component_get_description

Gets the description of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_dtend

Gets the dtend of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_dtstamp

Gets the dtstamp of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_dtstart

Gets the dtstart of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_due

Gets the due of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_duration

Gets the duration of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_first_component

Gets the first `ICalComponent` with specific kind in `ICalComponent`.

since: 1.0

###### i_cal_component_get_first_property

Gets the first `ICalProperty` with specific kind in `ICalComponent`.

since: 1.0

###### i_cal_component_get_first_real_component

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

since: 1.0

###### i_cal_component_get_iana_name

Returns the IANA name of the `component` as string, or `NULL`.

since: 4.0

###### i_cal_component_get_inner

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

since: 1.0

###### i_cal_component_get_location

Gets the location of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_method

Gets the method of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_next_component

Gets the next `ICalComponent` with specific kind in `ICalComponent`.

since: 1.0

###### i_cal_component_get_next_property

Gets the next `ICalProperty` with specific kind in `ICalComponent`.

since: 1.0

###### i_cal_component_get_parent

Gets the parent component of the `component`.

since: 3.0

###### i_cal_component_get_recurrenceid

Gets the recurrenceid of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_relcalid

Gets the relcalid of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_sequence

Gets the sequence of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_span

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

since: 1.0

###### i_cal_component_get_status

Returns the property status of the `ICalComponent`. ICAL_STATUS_NONE is returned if a problem parsing the component was detected.

since: 1.0

###### i_cal_component_get_summary

Gets the summary of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_timezone

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

since: 1.0

###### i_cal_component_get_uid

Gets the uid of the `ICalComponent`.

since: 1.0

###### i_cal_component_get_x_name

Returns the X (custom) name of the `component` as string, or `NULL`.

since: 4.0

###### i_cal_component_is_valid

Checks whether `ICalComponent` is valid.

since: 1.0

###### i_cal_component_isa

Gets the type of `ICalComponent`.

since: 1.0

###### i_cal_component_isa_component

Checks whether the native part of `ICalComponent` is icalcomponent.

since: 1.0

###### i_cal_component_merge_component

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.

since: 1.0

###### i_cal_component_normalize

Normalizes (reorders and sorts the properties) the `component`.

since: 4.0

###### i_cal_component_remove_component

Removes a child `ICalComponent` from another `ICalComponent`.

since: 1.0

###### i_cal_component_remove_property

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

since: 1.0

###### i_cal_component_remove_property_by_kind

Removes all properties of that kind in the `ICalComponent`.

since: 4.0

###### i_cal_component_set_comment

Sets the comment of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_description

Sets the description of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_dtend

Sets the dtend of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_dtstamp

Sets the dtstamp of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_dtstart

Sets the dtstart of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_due

Sets the due of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_duration

Sets the duration of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_iana_name

Sets the IANA name of the `component`.

since: 4.0

###### i_cal_component_set_location

Sets the location of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_method

Sets the method of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_parent

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

since: 3.0

###### i_cal_component_set_recurrenceid

Sets the recurrenceid of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_relcalid

Sets the relcalid of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_sequence

Sets the sequence of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_status

Sets the status of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_summary

Sets the summary of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_uid

Sets the uid of the `ICalComponent`.

since: 1.0

###### i_cal_component_set_x_name

Sets an X (custom) name of the `component`.

since: 4.0

###### i_cal_component_strip_errors

Removes all X-LIC-ERROR properties.

since: 1.0

###### i_cal_component_take_component

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

since: 1.0

###### i_cal_component_take_property

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

since: 1.0

##### Methods inherited from ICalObject (12)

###### i_cal_object_add_depender

Adds a `depender` into the list of objects which should not be destroyed before this `iobject`. It’s usually used for cases where the `iobject` uses native libical structure from the `depender`. The `depender` is referenced. It’s illegal to try to add one `depender` multiple times.

since: 1.0

###### i_cal_object_get_always_destroy

Obtain the `ICalObject`::always-destroy property value.

since: 3.0.11

###### i_cal_object_get_is_global_memory

Obtains whether the native libical structure is a global shared memory, thus should not be destroyed. This can be set only during construction time.

since: 1.0

###### i_cal_object_get_native

Obtain native libical structure pointer associated with this `iobject`.

since: 1.0

###### i_cal_object_get_native_destroy_func

Obtain a pointer to a function responsible to free the libical native structure.

since: 1.0

###### i_cal_object_ref_owner

Obtain current owner of the native libical structure. The returned pointer, if not NULL, is referenced for thread safety. Unref it with g_object_unref when done with it.

since: 1.0

###### i_cal_object_remove_depender

Removes a `depender` from the list of objects which should not be destroyed before this `iobject`, previously added with i_cal_object_add_depender(). It’s illegal to try to remove the `depender` which is not in the internal list.

since: 1.0

###### i_cal_object_remove_owner

Unref and remove the owner.

since: 1.0

###### i_cal_object_set_always_destroy

Sets the `ICalObject`::always-destroy property value. When `TRUE`, the native libical structure is always freed, even when an owner of the `iobject` is set.

since: 3.0.11

###### i_cal_object_set_native_destroy_func

Sets a function to be used to destroy the native libical structure.

since: 1.0

###### i_cal_object_set_owner

Sets an owner of the native libical structure, that is an object responsible for a destroy of the native libical structure.

since: 1.0

###### i_cal_object_steal_native

Obtain native libical structure pointer associated with this `iobject` and sets the one at `iobject` to NULL, thus it’s invalid since now on.

since: 1.0

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

##### Properties inherited from ICalObject (5)

###### ICalGLib.Object:always-destroy

Whether free the native libical structure on `ICalObject`‘s finalize even if the object has set an owner.

since: 3.0.11

###### ICalGLib.Object:is-global-memory

Whether the native libical structure is from a global shared memory. If TRUE, then it is not freed on `ICalObject`‘s finalize.

###### ICalGLib.Object:native

The native libical structure for this ICalObject.

###### ICalGLib.Object:native-destroy-func

GDestroyNotify function to use to destroy the native libical pointer.

###### ICalGLib.Object:owner

Owner of the native libical structure. If set, then it is responsible for a free of the native libical structure.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct ICalGLibComponentClass {
      /* no available fields */
    }

This is the ICalComponent class.