Function

ECalutil_split_at_instance_ex

since: 3.38

Declaration [src]

ICalComponent*
e_cal_util_split_at_instance_ex (
  ICalComponent* icalcomp,
  const ICalTime* rid,
  const ICalTime* master_dtstart,
  ECalRecurResolveTimezoneCb tz_cb,
  gpointer tz_cb_data
)

Description [src]

Splits a recurring icalcomp into two at time rid. The returned ICalComponent is modified icalcomp which contains recurrences beginning at rid, inclusive. The instance identified by rid should exist. The master_dtstart can be a null time, then it is read from the icalcomp.

Uses tz_cb with tz_cb_data to resolve time zones when needed.

Use e_cal_util_remove_instances_ex() with E_CAL_OBJ_MOD_THIS_AND_FUTURE mode on the icalcomp to remove the overlapping interval from it, if needed.

Free the returned non-NULL component with g_object_unref(), when done with it.

Available since: 3.38

Parameters

icalcomp

Type: None

A (recurring) ICalComponent.

The data is owned by the caller of the function.
rid

Type: None

The base RECURRENCE-ID to remove.

The data is owned by the caller of the function.
master_dtstart

Type: None

The DTSTART of the master object.

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

Type: ECalRecurResolveTimezoneCb

The ECalRecurResolveTimezoneCb to call.

tz_cb_data

Type: gpointer

User data to be passed to the tz_cb callback.

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

Return value

Type: None

The split icalcomp, or NULL.

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