### Function

# ECal recur_generate_instances_sync

since: 3.20

#### Declaration [src]

    gboolean
    e_cal_recur_generate_instances_sync (
      ICalComponent* icalcomp,
      ICalTime* interval_start,
      ICalTime* interval_end,
      ECalRecurInstanceCb callback,
      gpointer callback_user_data,
      ECalRecurResolveTimezoneCb get_tz_callback,
      gpointer get_tz_callback_user_data,
      ICalTimezone* default_timezone,
      GCancellable* cancellable,
      GError** error
    )

#### Description [src]

Calls the given callback function for each occurrence of the event that intersects the range between the given `start` and `end` times (the end time is not included). Note that the occurrences may start before the given start time.

If the callback routine returns FALSE the occurrence generation stops.

The start and end times are required valid times, start before end time.

The `get_tz_callback` is used to resolve references to timezones. It is passed a TZID and should return the ICalTimezone * corresponding to that TZID. We need to do this as we access timezones in different ways on the client & server.

The default_timezone argument is used for DTSTART or DTEND properties that are DATE values or do not have a TZID (i.e. floating times).

Available since: 3.20

#### Parameters

`icalcomp`

  Type: `None`

  An `ICalComponent`.

  The data is owned by the caller of the function.

`interval_start`

  Type: `None`

  An interval start, for which generate instances.

  The data is owned by the caller of the function.

`interval_end`

  Type: `None`

  An interval end, for which generate instances.

  The data is owned by the caller of the function.

`callback`

  Type: `ECalRecurInstanceCb`

  A callback to be called for each instance.

`callback_user_data`

  Type: `gpointer`

  User data for `callback`.

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

`get_tz_callback`

  Type: `ECalRecurResolveTimezoneCb`

  A callback to call when resolving timezone.

`get_tz_callback_user_data`

  Type: `gpointer`

  User data for `get_tz_callback`.

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

`default_timezone`

  Type: `None`

  A default `ICalTimezone`.

  The data is owned by the caller of the function.

`cancellable`

  Type: `GCancellable`

  A `GCancellable`; can be `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` if successful (when all instances had been returned), `FALSE` otherwise.