### Function

# ICalGLib Object construct

since: 1.0

#### Declaration [src]

    gpointer
    i_cal_object_construct (
      GType object_type,
      gpointer native,
      GDestroyNotify native_destroy_func,
      gboolean is_global_memory,
      GObject* owner
    )

#### Description [src]

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.

The `is_global_memory` defines whether the returned object is a singleton, in which case the object is owned by the libical-glib and should not be freed, or, when `FALSE`, the returned object is a newly created object and the caller is responsible to free it with g_object_unref().

Available since: 1.0

This function is not directly available to language bindings.

#### Parameters

`object_type`

  Type: `GType`

  A GType of an `ICalObject` descendant to construct.

`native`

  Type: `gpointer`

  A native libical structure.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`native_destroy_func`

  Type: `GDestroyNotify`

  A function to be called on `native` when it should be freed.

`is_global_memory`

  Type: `gboolean`

  Whether `native` is a global shared memory structure.

`owner`

  Type: `GObject`

  An owner of `native`.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

#### Return value

Type: `gpointer`

An `ICalObject` descendant of type `type`.

The caller of the function takes ownership of the data, and is responsible for freeing it.
The return value can be `NULL`.