### Method

# EBook BookClientCursor set_sexp_sync

since: 3.12

#### Declaration [src]

    gboolean
    e_book_client_cursor_set_sexp_sync (
      EBookClientCursor* cursor,
      const gchar* sexp,
      GCancellable* cancellable,
      GError** error
    )

#### Description [src]

Sets the Search Expression for the cursor.

A side effect of setting the search expression is that the position and total properties will be updated.

If this method is called from the same thread context in which the cursor was created, then the updates to the `EBookClientCursor:position` and `EBookClientCursor:total` properties are guaranteed to be delivered synchronously upon successful completion of setting the search expression. Otherwise, notifications will be delivered asynchronously in the cursor’s original thread context.

If the backend does not support the given search expression, an `E_CLIENT_ERROR_INVALID_QUERY` error will be set.

Available since: 3.12

#### Parameters

`sexp`

  Type: `const gchar*`

  The new search expression for `cursor`.

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

`cancellable`

  Type: `GCancellable`

  A `GCancellable` to optionally cancel this operation while in progress.

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

`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 method 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` on success, otherwise `FALSE` is returned and `error` is set.