EDataBook.DataBookCursorSetSexpFunc
Description: Reference for EDataBook.DataBookCursorSetSexpFunc

### Function

# EDataBookDataBookCursorSetSexpFunc

since: 3.12

#### Declaration

    gboolean
    (* EDataBookCursorSetSexpFunc) (
      EDataBookCursor* cursor,
      const gchar* sexp,
      GError** error
    )

#### Description [src]

Method type for `EDataBookCursorClass`.set_sexp()

A cursor implementation must implement this in order to modify the search expression for `cursor`. After this is called, the position and total will be recalculated.

If the cursor implementation is unable to deal with the `EContactFields` referred to in `sexp`, then an `E_CLIENT_ERROR_INVALID_QUERY` error should be set to indicate this.

Available since: 3.12

#### Parameters

`cursor`

  Type: `EDataBookCursor`

  An `EDataBookCursor`.

  The data is owned by the caller of the function.

`sexp`

  Type: `const gchar*`

  The search expression to set, or `NULL` for unfiltered results.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`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` on Success, otherwise `FALSE` is returned if any error occurred and `error` is set to reflect the error which occurred.