## EBookBackendSExp

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

## Functions

EBookBackendSExp * | e_book_backend_sexp_new ()
const gchar * | e_book_backend_sexp_text ()
gboolean | e_book_backend_sexp_match_vcard ()
gboolean | e_book_backend_sexp_match_contact ()
void | e_book_backend_sexp_lock ()
void | e_book_backend_sexp_unlock ()

## Types and Values

struct | EBookBackendSExp
struct | EBookBackendSExpClass

## Object Hierarchy

        GObject
        ╰── EBookBackendSExp

## Includes

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

## Description

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

## Functions

### e_book_backend_sexp_new ()

    EBookBackendSExp *
    e_book_backend_sexp_new (const gchar *text);

Creates a new EBookBackendSExp from `text` .

#### Parameters

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.

#### Parameters

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` .

#### Parameters

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` .

#### Parameters

sexp | an EBookBackendSExp |
contact | an EContact |

#### Returns

`TRUE` if the contact matches, `FALSE` otherwise

### e_book_backend_sexp_lock ()

    void
    e_book_backend_sexp_lock (EBookBackendSExp *sexp);

Locks the `sexp` . Other threads cannot use it until it's unlocked with `e_book_backend_sexp_unlock()`.

#### Parameters

sexp | an EBookBackendSExp |

Since: 3.34

### e_book_backend_sexp_unlock ()

    void
    e_book_backend_sexp_unlock (EBookBackendSExp *sexp);

Unlocks the `sexp` , previously locked by `e_book_backend_sexp_lock()`.

#### Parameters

sexp | an EBookBackendSExp |

Since: 3.34

## Types and Values

### struct EBookBackendSExp

    struct EBookBackendSExp;

### struct EBookBackendSExpClass

    struct EBookBackendSExpClass {
    };