### Function

# ECal RecurInstanceCb

since: 3.34

#### Declaration

    gboolean
    (* ECalRecurInstanceCb) (
      ICalComponent* icomp,
      ICalTime* instance_start,
      ICalTime* instance_end,
      gpointer user_data,
      GCancellable* cancellable,
      GError** error
    )

#### Description [src]

Callback used by e_cal_recur_generate_instances_sync(), called for each instance of a (recurring) component within given time range.

Available since: 3.34

#### Parameters

`icomp`

  Type: `None`

  An `ICalComponent`.

  The data is owned by the caller of the function.

`instance_start`

  Type: `None`

  Start time of an instance.

  The data is owned by the caller of the function.

`instance_end`

  Type: `None`

  End time of an instance.

  The data is owned by the caller of the function.

`user_data`

  Type: `gpointer`

  User data used for this callback in e_cal_recur_generate_instances_sync().

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

`cancellable`

  Type: `GCancellable`

  Optional `GCancellable` object, or `NULL`.

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

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the function if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.

#### Return value

Type: `gboolean`

`TRUE`, to continue recurrence generation, `FALSE` to stop.