### Method

# EBook BookClient get_cursor

since: 3.12

#### Declaration [src]

    void
    e_book_client_get_cursor (
      EBookClient* client,
      const gchar* sexp,
      const EContactField* sort_fields,
      const EBookCursorSortType* sort_types,
      guint n_fields,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description [src]

Create an `EBookClientCursor`. The call is finished by `e_book_client_get_cursor_finish()` from the `callback`.

Note: `sexp` can be obtained through `EBookQuery`, by converting it to a string with e_book_query_to_string().

Available since: 3.12

This method completes asynchronously. Use `e_book_client_get_cursor_finish()` inside the `GAsyncReadyCallback` to obtain the result of the operation.

#### Parameters

`sexp`

  Type: `const gchar*`

  An S-expression representing the query.

  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`sort_fields`

  Type: `EContactField`

  An array of `EContactFields` to sort the cursor with.

  The data is owned by the caller of the method.

`sort_types`

  Type: `EBookCursorSortType`

  An array of `EBookCursorSortTypes` to complement `sort_fields`.

  The data is owned by the caller of the method.

`n_fields`

  Type: `guint`

  The length of the input `sort_fields` and `sort_types` arrays.

`cancellable`

  Type: `GCancellable`

  A `GCancellable`; can be `NULL`.

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

`callback`

  Type: `GAsyncReadyCallback`

  Callback to call when a result is ready.

  The argument can be `NULL`.

`user_data`

  Type: `gpointer`

  User data for the `callback`.

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