### Virtual Method

# EDataServer Source remote_create

since: 3.6

#### Declaration [src]

    void
    remote_create (
      ESource* source,
      ESource* scratch_source,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description [src]

Asynchronously creates a new remote resource by picking out relevant details from `scratch_source`. The `scratch_source` must be an `ESource` with no `GDBusObject`. The `source` must be `ESource:remote-creatable`.

The details required to create the resource vary by `ECollectionBackend`, but in most cases the `scratch_source` need only define the resource type (address book, calendar, etc.), a display name for the resource, and possibly a server-side path or ID for the resource.

When the operation is finished, `callback` will be called. You can then call `e_source_remote_create_finish()` to get the result of the operation.

Available since: 3.6

#### Parameters

`scratch_source`

  Type: `ESource`

  An `ESource` describing the resource to create.

  The data is owned by the caller of the method.

`cancellable`

  Type: `GCancellable`

  Optional `GCancellable` object, or `NULL`.

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

`callback`

  Type: `GAsyncReadyCallback`

  A `GAsyncReadyCallback` to call when the request is satisfied.

`user_data`

  Type: `gpointer`

  Data to pass to the callback function.

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