## EDataBookDirect

EDataBookDirect — An interface for implementing Direct Read Access

## Synopsis

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

    struct              EDataBookDirect;
    struct              EDataBookDirectClass;
    EDataBookDirect *   e_data_book_direct_new              (const gchar *backend_path,
                                                             const gchar *backend_factory_name,
                                                             const gchar *config);
    gboolean            e_data_book_direct_register_gdbus_object
                                                            (EDataBookDirect *direct,
                                                             GDBusConnection *connection,
                                                             const gchar *object_path,
                                                             GError **error);

## Description

This class should be created by an `EBookBackendClass.get_direct_book()` implementation of a backend which supports direct read access.

This will only be asked of the backend when instantiated on the server side. If the server side instance of an EBookBackend does return an EDataBookDirect, then a client side instance of the same backend will be created and `EBookBackendClass.configure_direct()` will be called on the corresponding client side instance.

## Details

### struct EDataBookDirect

    struct EDataBookDirect {
    	GObject parent;
    	EDataBookDirectPrivate *priv;
    };

### struct EDataBookDirectClass

    struct EDataBookDirectClass {
    	GObjectClass parent;
    };

### e_data_book_direct_new ()

    EDataBookDirect *   e_data_book_direct_new              (const gchar *backend_path,
                                                             const gchar *backend_factory_name,
                                                             const gchar *config);

Creates a EDataBookDirect to report configuration data needed for direct read access.

This is returned by `e_book_backend_get_direct_book()` for backends which support direct read access mode.

`backend_path` : | Full path to the installed backend shared library
`backend_factory_name` : | Type name of the EBookBackendFactory implemented by the library
`config` : | A backend specific configuration string
Returns : | A newly created EDataBookDirect. [transfer full]

Since 3.8

### e_data_book_direct_register_gdbus_object ()

    gboolean            e_data_book_direct_register_gdbus_object
                                                            (EDataBookDirect *direct,
                                                             GDBusConnection *connection,
                                                             const gchar *object_path,
                                                             GError **error);

Places `direct` on the `connection` at `object_path`

`direct` : | An EDataBookDirect
`connection` : | The GDBusConnection to register with
`object_path` : | The object path to place the direct access configuration data
`error` : | A location to store any error which might occur while registering

Since 3.8