## EBookClientView EBookClientView |

## Synopsis

    struct              EBookClientView;
    struct _EBookClient * e_book_client_view_get_client     (EBookClientView *view);
    gboolean            e_book_client_view_is_running       (EBookClientView *view);
    void                e_book_client_view_set_fields_of_interest
                                                            (EBookClientView *view,
                                                             const GSList *fields_of_interest,
                                                             GError **error);
    void                e_book_client_view_start            (EBookClientView *view,
                                                             GError **error);
    void                e_book_client_view_stop             (EBookClientView *view,
                                                             GError **error);
    enum                EBookClientViewFlags;
    void                e_book_client_view_set_flags        (EBookClientView *view,
                                                             EBookClientViewFlags flags,
                                                             GError **error);

## Object Hierarchy

      GObject
       +----EBookClientView

## Signals

      "complete"                                       : Run Last
      "objects-added"                                  : Run Last
      "objects-modified"                               : Run Last
      "objects-removed"                                : Run Last
      "progress"                                       : Run Last

## Description

## Details

### struct EBookClientView

    struct EBookClientView;

### e_book_client_view_get_client ()

    struct _EBookClient * e_book_client_view_get_client     (EBookClientView *view);

Returns the EBookClient that this book view is monitoring.

`view` : | an EBookClientView
Returns : | an EBookClient. [transfer none]

### e_book_client_view_is_running ()

    gboolean            e_book_client_view_is_running       (EBookClientView *view);

### e_book_client_view_set_fields_of_interest ()

    void                e_book_client_view_set_fields_of_interest
                                                            (EBookClientView *view,
                                                             const GSList *fields_of_interest,
                                                             GError **error);

Client can instruct server to which fields it is interested in only, thus the server can return less data over the wire. The server can still return complete objects, this is just a hint to it that the listed fields will be used only. The UID field is returned always. Initial views has no fields of interest and using `NULL` for `fields_of_interest` will unset any previous changes.

Some backends can use summary information of its cache to create artifical objects, which will omit stored object parsing. If this cannot be done then it will simply return object as is stored in the cache.

`view` : | An EBookClientView object
`fields_of_interest` : | List of field names in which the client is interested. [element-type utf8]
`error` : | A GError

### e_book_client_view_start ()

    void                e_book_client_view_start            (EBookClientView *view,
                                                             GError **error);

Tells `view` to start processing events.

`error` : | A GError
`view` : | an EBookClientView

### e_book_client_view_stop ()

    void                e_book_client_view_stop             (EBookClientView *view,
                                                             GError **error);

Tells `view` to stop processing events.

`view` : | an EBookClientView
`error` : | A GError

### enum EBookClientViewFlags

    typedef enum {
    	E_BOOK_CLIENT_VIEW_FLAGS_NONE           = 0,
    	E_BOOK_CLIENT_VIEW_FLAGS_NOTIFY_INITIAL = (1 << 0),
    } EBookClientViewFlags;

Flags that control the behaviour of an EBookClientView.

`E_BOOK_CLIENT_VIEW_FLAGS_NONE` | Symbolic value for no flags
`E_BOOK_CLIENT_VIEW_FLAGS_NOTIFY_INITIAL` | If this flag is set then all contacts matching the view's query will be sent as notifications when starting the view, otherwise only future changes will be reported. The default for a EBookClientView is `TRUE`.

Since 3.4

### e_book_client_view_set_flags ()

    void                e_book_client_view_set_flags        (EBookClientView *view,
                                                             EBookClientViewFlags flags,
                                                             GError **error);

Sets the `flags` which control the behaviour of `view`.

`view` : | an EBookClientView
`flags` : | the EBookClientViewFlags for `view`.
`error` : | a return location for a GError, or `NULL`.

Since 3.4

## Signal Details

### The `"complete"` signal

    void                user_function                      (EBookClientView *ebookclientview,
                                                            GError          *arg1,
                                                            gpointer         user_data)            : Run Last

### The `"objects-added"` signal

    void                user_function                      (EBookClientView *ebookclientview,
                                                            gpointer         arg1,
                                                            gpointer         user_data)            : Run Last

### The `"objects-modified"` signal

    void                user_function                      (EBookClientView *ebookclientview,
                                                            gpointer         arg1,
                                                            gpointer         user_data)            : Run Last

### The `"objects-removed"` signal

    void                user_function                      (EBookClientView *ebookclientview,
                                                            gpointer         arg1,
                                                            gpointer         user_data)            : Run Last

### The `"progress"` signal

    void                user_function                      (EBookClientView *ebookclientview,
                                                            guint            arg1,
                                                            gchar           *arg2,
                                                            gpointer         user_data)            : Run Last