## EBookBackendSExp

EBookBackendSExp — A utility for comparing EContacts or vcards with search expressions.

## Synopsis

    #include <libedata-book/libedata-book.h>

    struct              EBookBackendSExp;
    struct              EBookBackendSExpClass;
    EBookBackendSExp *  e_book_backend_sexp_new             (const gchar *text);
    const gchar *       e_book_backend_sexp_text            (EBookBackendSExp *sexp);
    gboolean            e_book_backend_sexp_match_vcard     (EBookBackendSExp *sexp,
                                                             const gchar *vcard);
    gboolean            e_book_backend_sexp_match_contact   (EBookBackendSExp *sexp,
                                                             EContact *contact);

## Description

This API is an all purpose utility for comparing EContacts with search expressions generated by EBookQuery.

## Details

### struct EBookBackendSExp

    struct EBookBackendSExp {
    };

### struct EBookBackendSExpClass

    struct EBookBackendSExpClass {
    };

### e_book_backend_sexp_new ()

    EBookBackendSExp *  e_book_backend_sexp_new             (const gchar *text);

Creates a new EBookBackendSExp from `text`.

`text` : | an s-expression to parse
Returns : | a new EBookBackendSExp

### e_book_backend_sexp_text ()

    const gchar *       e_book_backend_sexp_text            (EBookBackendSExp *sexp);

Retrieve the text expression for the given EBookBackendSExp object.

`sexp` : | an EBookBackendSExp
Returns : | the text expression

Since 3.8

### e_book_backend_sexp_match_vcard ()

    gboolean            e_book_backend_sexp_match_vcard     (EBookBackendSExp *sexp,
                                                             const gchar *vcard);

Checks if `vcard` matches `sexp`.

`sexp` : | an EBookBackendSExp
`vcard` : | a vCard string
Returns : | `TRUE` if the vCard matches, `FALSE` otherwise

### e_book_backend_sexp_match_contact ()

    gboolean            e_book_backend_sexp_match_contact   (EBookBackendSExp *sexp,
                                                             EContact *contact);

Checks if `contact` matches `sexp`.

`sexp` : | an EBookBackendSExp
`contact` : | an EContact
Returns : | `TRUE` if the contact matches, `FALSE` otherwise