ICalGLib.Duration
Description: Reference for ICalGLib.Duration

### Class

# ICalGLibDuration

#### Description [src]

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

This is the ICalDuration instance.

#### Hierarchy

#### Ancestors

- ICalObject
- GObject

#### Constructors

###### i_cal_duration_new_bad_duration

Creates a bad `ICalDuration`.

since: 1.0

###### i_cal_duration_new_from_seconds

Creates a `ICalDuration` from the duration in second.

since: 4.0

###### i_cal_duration_new_from_string

Creates a `ICalDuration` from the duration in string.

since: 1.0

###### i_cal_duration_new_full

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

since: 1.0

###### i_cal_duration_new_null_duration

Creates a `ICalDuration` with all the fields to be zero.

since: 1.0

#### Functions

###### i_cal_duration_extend

Extends a time duration.

since: 4.0

###### i_cal_duration_from_times

Creates a duration between two time endpoints.

since: 4.0

#### Instance methods

###### i_cal_duration_as_ical_string

Converts the `ICalDuration` to the representation in string.

since: 1.0

###### i_cal_duration_as_seconds

Extracts the duration in seconds from an `ICalDuration`. Does not consider negative durations. Does not support days and weeks.

since: 4.0

###### i_cal_duration_as_utc_seconds

Extracts the duration in seconds from an `ICalDuration` on a continuous timeline with 24-hour days. Supports days, weeks, and negative durations.

since: 4.0

###### i_cal_duration_get_days

Gets the days of `ICalDuration`.

since: 1.0

###### i_cal_duration_get_hours

Gets the hours of `ICalDuration`.

since: 1.0

###### i_cal_duration_get_minutes

Gets the minutes of `ICalDuration`.

since: 1.0

###### i_cal_duration_get_seconds

Gets the seconds of `ICalDuration`.

since: 1.0

###### i_cal_duration_get_weeks

Gets the weeks of `ICalDuration`.

since: 1.0

###### i_cal_duration_is_bad_duration

Checks whether the `ICalDuration` is the bad_duration.

since: 1.0

###### i_cal_duration_is_neg

Gets the is_neg of `ICalDuration`.

since: 1.0

###### i_cal_duration_is_null_duration

Checks whether the `ICalDuration` is the null_duration.

since: 1.0

###### i_cal_duration_normalize

Create a normalized duration from another duration.

since: 4.0

###### i_cal_duration_set_days

Sets the days of `ICalDuration`.

since: 1.0

###### i_cal_duration_set_hours

Sets the hours of `ICalDuration`.

since: 1.0

###### i_cal_duration_set_is_neg

Sets the is_neg of `ICalDuration`.

since: 1.0

###### i_cal_duration_set_minutes

Sets the minutes of `ICalDuration`.

since: 1.0

###### i_cal_duration_set_seconds

Sets the seconds of `ICalDuration`.

since: 1.0

###### i_cal_duration_set_weeks

Sets the weeks of `ICalDuration`.

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 ICalGLibDurationClass {
      /* no available fields */
    }

This is the ICalDuration class.