### Class

# ICalGLib Object

#### Description [src]

    abstract class ICalGLib.Object : GObject.Object
    {
      /* No available fields */
    }

This is an ICalObject instance struct.

#### Hierarchy

#### Ancestors

- GObject

#### Descendants

- ICalArray
- ICalAttach
- ICalCompIter
- ICalComponent
- ICalDatetimeperiod
- ICalDuration
- ICalEnumArray
- ICalGeo
- ICalParamIter
- ICalParameter
- ICalParser
- ICalPeriod
- ICalPropIter
- ICalProperty
- ICalRecurIterator
- const ICalRecurrence
- const ICalReqstat
- const ICalStrArray
- ICalTime
- ICalTimeSpan
- ICalTimezone
- const ICalTrigger
- ICalValue
- ICalVcardComponent
- ICalVcardEnumArray
- ICalVcardGeo
- ICalVcardParameter
- ICalVcardProperty
- const ICalVcardStrArray
- const ICalVcardStructured
- const ICalVcardTime
- const ICalVcardTz
- ICalVcardValue

#### Functions

###### i_cal_object_construct

Creates an `ICalObject` descendant of type `type` and initialize private members of it. The descendants should call this function in their _new() function, or use corresponding properties during the construction time. This should not be mixed, either use properties or this function.

since: 1.0

###### i_cal_object_free_global_objects

Frees all global objects. Any references to them are invalidated by this call, unless they had been g_object_ref()-ed manually.

since: 3.0.5

#### Instance methods

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

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

This is an ICalObject class struct.