### Method

# ECal Client generate_instances

since: 3.2

#### Declaration [src]

    void
    e_cal_client_generate_instances (
      ECalClient* client,
      time_t start,
      time_t end,
      GCancellable* cancellable,
      ECalRecurInstanceCb cb,
      gpointer cb_data,
      GDestroyNotify destroy_cb_data
    )

#### Description [src]

Does a combination of `e_cal_client_get_object_list()` and e_cal_recur_generate_instances_sync(). Unlike e_cal_client_generate_instances_sync(), this returns immediately and the `cb` callback is called asynchronously.

The callback function should do a `g_object_ref()` of the calendar component it gets passed if it intends to keep it around, since it will be unref’ed as soon as the callback returns.

Available since: 3.2

#### Parameters

`start`

  Type: `time_t`

  Start time for query.

`end`

  Type: `time_t`

  End time for query.

`cancellable`

  Type: `GCancellable`

  A `GCancellable`; can be `NULL`.

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

`cb`

  Type: `ECalRecurInstanceCb`

  Callback for each generated instance.

`cb_data`

  Type: `gpointer`

  Closure data for the callback.

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

`destroy_cb_data`

  Type: `GDestroyNotify`

  Function to call when the processing is done, to free `cb_data`; can be `NULL`.