### Method

# EDataCal CalBackend schedule_custom_operation

since: 3.26

#### Declaration [src]

    void
    e_cal_backend_schedule_custom_operation (
      ECalBackend* cal_backend,
      GCancellable* use_cancellable,
      ECalBackendCustomOpFunc func,
      gpointer user_data,
      GDestroyNotify user_data_free
    )

#### Description [src]

Schedules user function `func` to be run in a dedicated thread as a blocking operation.

The function adds its own reference to `use_cancellable`, if not `NULL`.

The error returned from `func` is propagated to client using `e_cal_backend_notify_error()` function. If it’s not desired, then left the error unchanged and notify about errors manually.

Available since: 3.26

#### Parameters

`use_cancellable`

  Type: `GCancellable`

  An optional `GCancellable` to use for `func`.

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

`func`

  Type: `ECalBackendCustomOpFunc`

  A function to call in a dedicated thread.

`user_data`

  Type: `gpointer`

  User data being passed to `func`.

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

`user_data_free`

  Type: `GDestroyNotify`

  Optional destroy call back for `user_data`.

  The argument can be `NULL`.