EDataBook

EDataBook

Synopsis

struct              EDataBook;
#define             E_DATA_BOOK_ERROR
GError *            e_data_book_create_error            (EDataBookStatus status,
                                                         const gchar *custom_msg);
GError *            e_data_book_create_error_fmt        (EDataBookStatus status,
                                                         const gchar *custom_msg_fmt,
                                                         ...);
const gchar *       e_data_book_status_to_string        (EDataBookStatus status);
#define             e_return_data_book_error_if_fail    (expr,
                                                         _code)
#define             e_return_data_book_error_val_if_fail(expr,
                                                         _code)
EDataBook *         e_data_book_new                     (struct _EBookBackend *backend,
                                                         GDBusConnection *connection,
                                                         const gchar *object_path,
                                                         GError **error);
struct _EBookBackend * e_data_book_get_backend          (EDataBook *book);
GDBusConnection *   e_data_book_get_connection          (EDataBook *book);
const gchar *       e_data_book_get_object_path         (EDataBook *book);
void                e_data_book_respond_open            (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error);
void                e_data_book_respond_refresh         (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error);
void                e_data_book_respond_get_backend_property
                                                        (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const gchar *prop_value);
void                e_data_book_respond_create_contacts (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const GSList *contacts);
void                e_data_book_respond_remove_contacts (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const GSList *ids);
void                e_data_book_respond_modify_contacts (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const GSList *contacts);
void                e_data_book_respond_get_contact     (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const gchar *vcard);
void                e_data_book_respond_get_contact_list
                                                        (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const GSList *cards);
void                e_data_book_respond_get_contact_list_uids
                                                        (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const GSList *uids);
void                e_data_book_report_error            (EDataBook *book,
                                                         const gchar *message);
void                e_data_book_report_backend_property_changed
                                                        (EDataBook *book,
                                                         const gchar *prop_name,
                                                         const gchar *prop_value);
gchar *             e_data_book_string_slist_to_comma_string
                                                        (const GSList *strings);
EDataBook *         e_data_book_new_direct              (ESourceRegistry *registry,
                                                         ESource *source,
                                                         const gchar *backend_path,
                                                         const gchar *backend_name,
                                                         const gchar *config,
                                                         GError **error);
gboolean            e_data_book_open_sync               (EDataBook *book,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                e_data_book_close                   (EDataBook *book,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            e_data_book_close_finish            (EDataBook *book,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            e_data_book_close_sync              (EDataBook *book,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                e_data_book_get_contact             (EDataBook *book,
                                                         const gchar *uid,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            e_data_book_get_contact_finish      (EDataBook *book,
                                                         GAsyncResult *result,
                                                         EContact **contact,
                                                         GError **error);
gboolean            e_data_book_get_contact_sync        (EDataBook *book,
                                                         const gchar *uid,
                                                         EContact **contact,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                e_data_book_get_contacts            (EDataBook *book,
                                                         const gchar *sexp,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            e_data_book_get_contacts_finish     (EDataBook *book,
                                                         GAsyncResult *result,
                                                         GSList **contacts,
                                                         GError **error);
gboolean            e_data_book_get_contacts_sync       (EDataBook *book,
                                                         const gchar *sexp,
                                                         GSList **contacts,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                e_data_book_get_contacts_uids       (EDataBook *book,
                                                         const gchar *sexp,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            e_data_book_get_contacts_uids_finish
                                                        (EDataBook *book,
                                                         GAsyncResult *result,
                                                         GSList **contacts_uids,
                                                         GError **error);
gboolean            e_data_book_get_contacts_uids_sync  (EDataBook *book,
                                                         const gchar *sexp,
                                                         GSList **contacts_uids,
                                                         GCancellable *cancellable,
                                                         GError **error);

void                e_data_book_respond_set_backend_property
                                                        (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error);
void                e_data_book_report_opened           (EDataBook *book,
                                                         const GError *error);
void                e_data_book_report_readonly         (EDataBook *book,
                                                         gboolean readonly);
void                e_data_book_report_online           (EDataBook *book,
                                                         gboolean is_online);

Object Hierarchy

  GObject
   +----EDataBook

Implemented Interfaces

EDataBook implements GInitable.

Properties

  "backend"                  EBookBackend*         : Read / Write / Construct Only
  "connection"               GDBusConnection*      : Read / Write / Construct Only
  "object-path"              gchar*                : Read / Write / Construct Only

Description

Details

struct EDataBook

struct EDataBook;

E_DATA_BOOK_ERROR

#define E_DATA_BOOK_ERROR e_data_book_error_quark ()

Since 2.30


e_data_book_create_error ()

GError *            e_data_book_create_error            (EDataBookStatus status,
                                                         const gchar *custom_msg);

status :

EDataBookStatus code

custom_msg :

Custom message to use for the error. When NULL, then uses a default message based on the status code.

Returns :

NULL, when the status is E_DATA_BOOK_STATUS_SUCCESS, or a newly allocated GError, which should be freed with g_error_free() call.

Since 2.32


e_data_book_create_error_fmt ()

GError *            e_data_book_create_error_fmt        (EDataBookStatus status,
                                                         const gchar *custom_msg_fmt,
                                                         ...);

Similar as e_data_book_create_error(), only here, instead of custom_msg, is used a printf() format to create a custom_msg for the error.

Since 2.32


e_data_book_status_to_string ()

const gchar *       e_data_book_status_to_string        (EDataBookStatus status);

Since 2.32


e_return_data_book_error_if_fail()

#define             e_return_data_book_error_if_fail(expr, _code)

Since 2.32


e_return_data_book_error_val_if_fail()

#define             e_return_data_book_error_val_if_fail(expr, _code)

Same as e_return_data_book_error_if_fail(), only returns FALSE on a failure

Since 3.2


e_data_book_new ()

EDataBook *         e_data_book_new                     (struct _EBookBackend *backend,
                                                         GDBusConnection *connection,
                                                         const gchar *object_path,
                                                         GError **error);

Creates a new EDataBook and exports the AddressBook D-Bus interface on connection at object_path. The EDataBook handles incoming remote method invocations and forwards them to the backend. If the AddressBook interface fails to export, the function sets error and returns NULL.

backend :

an EBookBackend

connection :

a GDBusConnection

object_path :

object path for the D-Bus interface

error :

return location for a GError, or NULL

Returns :

an EDataBook, or NULL on error

e_data_book_get_backend ()

struct _EBookBackend * e_data_book_get_backend          (EDataBook *book);

Returns the EBookBackend to which incoming remote method invocations are being forwarded.

book :

an EDataBook

Returns :

the EBookBackend

e_data_book_get_connection ()

GDBusConnection *   e_data_book_get_connection          (EDataBook *book);

Returns the GDBusConnection on which the AddressBook D-Bus interface is exported.

book :

an EDataBook

Returns :

the GDBusConnection

Since 3.8


e_data_book_get_object_path ()

const gchar *       e_data_book_get_object_path         (EDataBook *book);

Returns the object path at which the AddressBook D-Bus interface is exported.

book :

an EDataBook

Returns :

the object path

Since 3.8


e_data_book_respond_open ()

void                e_data_book_respond_open            (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error);

e_data_book_respond_refresh ()

void                e_data_book_respond_refresh         (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error);

Notifies listeners of the completion of the refresh method call.

book :

An addressbook client interface.

error :

Operation error, if any, automatically freed if passed it.

Since 3.2


e_data_book_respond_get_backend_property ()

void                e_data_book_respond_get_backend_property
                                                        (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const gchar *prop_value);

FIXME: Document me.

Since 3.2


e_data_book_respond_create_contacts ()

void                e_data_book_respond_create_contacts (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const GSList *contacts);

FIXME: Document me!

Since 3.4


e_data_book_respond_remove_contacts ()

void                e_data_book_respond_remove_contacts (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const GSList *ids);

e_data_book_respond_modify_contacts ()

void                e_data_book_respond_modify_contacts (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const GSList *contacts);

FIXME: Document me!

Since 3.4


e_data_book_respond_get_contact ()

void                e_data_book_respond_get_contact     (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const gchar *vcard);

e_data_book_respond_get_contact_list ()

void                e_data_book_respond_get_contact_list
                                                        (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const GSList *cards);

e_data_book_respond_get_contact_list_uids ()

void                e_data_book_respond_get_contact_list_uids
                                                        (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error,
                                                         const GSList *uids);

FIXME: Document me.

Since 3.2


e_data_book_report_error ()

void                e_data_book_report_error            (EDataBook *book,
                                                         const gchar *message);

FIXME: Document me.

Since 3.2


e_data_book_report_backend_property_changed ()

void                e_data_book_report_backend_property_changed
                                                        (EDataBook *book,
                                                         const gchar *prop_name,
                                                         const gchar *prop_value);

FIXME: Document me.

Since 3.2


e_data_book_string_slist_to_comma_string ()

gchar *             e_data_book_string_slist_to_comma_string
                                                        (const GSList *strings);

Takes a list of strings and converts it to a comma-separated string of values; free returned pointer with g_free()

Since 3.2


e_data_book_new_direct ()

EDataBook *         e_data_book_new_direct              (ESourceRegistry *registry,
                                                         ESource *source,
                                                         const gchar *backend_path,
                                                         const gchar *backend_name,
                                                         const gchar *config,
                                                         GError **error);

Creates an EDataBook for Direct Read Access, the backend_path, backend_name and config parameters are fetched from an EDataBookDirect reported over D-Bus from the server side counter part of a given backend.

Note

This API is intended for internal use only, if you want client side direct read access then use e_book_client_connect_direct_sync() instead

registry :

The ESourceRegistry

source :

The ESource to create a book for

backend_path :

The full path to the backend module to use

backend_name :

The EDataFactory type name to use from the module specified by backend_path

config :

The backend specific configuration string specified by the EDataBookDirect

error :

return location for a GError, or NULL. [allow-none]

Returns :

A newly created EDataBook for direct read access, otherwise NULL is returned and error is set. [transfer full]

Since 3.8


e_data_book_open_sync ()

gboolean            e_data_book_open_sync               (EDataBook *book,
                                                         GCancellable *cancellable,
                                                         GError **error);

Opens the EDataBook and it's backend.

Note

This API is intended for internal use only, if you want client side direct read access then use e_book_client_connect_direct_sync() instead

book :

an EDataBook

cancellable :

optional GCancellable object, or NULL. [allow-none]

error :

return location for a GError, or NULL. [allow-none]

Returns :

TRUE on success. If FALSE is returned, error will be set

Since 3.8


e_data_book_close ()

void                e_data_book_close                   (EDataBook *book,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Closes the book and its backend.

Note

This API is intended for internal use only, if you want client side direct read access then use e_book_client_connect_direct_sync() instead

book :

an EDataBook

cancellable :

optional GCancellable object, or NULL. [allow-none]

callback :

a GAsyncReadyCallback to call when the request is satisfied. [scope async]

user_data :

data to pass to callback. [closure]

Since 3.8


e_data_book_close_finish ()

gboolean            e_data_book_close_finish            (EDataBook *book,
                                                         GAsyncResult *result,
                                                         GError **error);

Finishes the operation started with e_data_book_close(). If an error occurs, then this function sets error and returns FALSE.

book :

an EDataBook

result :

a GAsyncResult

error :

return location for a GError, or NULL. [allow-none]

Returns :

TRUE on success

Since 3.8


e_data_book_close_sync ()

gboolean            e_data_book_close_sync              (EDataBook *book,
                                                         GCancellable *cancellable,
                                                         GError **error);

Closes the book and its backend.

Note

This API is intended for internal use only, if you want client side direct read access then use e_book_client_connect_direct_sync() instead

book :

an EDataBook

cancellable :

optional GCancellable object, or NULL. [allow-none]

error :

return location for a GError, or NULL. [allow-none]

Returns :

TRUE on success. If FALSE is returned, error will be set

Since 3.8


e_data_book_get_contact ()

void                e_data_book_get_contact             (EDataBook *book,
                                                         const gchar *uid,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Retrieves EContact from the book for the gived uid. The call is finished by e_data_book_get_contact_finish() from the callback.

Note

This API is intended for internal use only, if you want client side direct read access then use e_book_client_connect_direct_sync() instead

book :

an EDataBook

uid :

a unique string ID specifying the contact

cancellable :

optional GCancellable object, or NULL. [allow-none]

callback :

a GAsyncReadyCallback to call when the request is satisfied. [scope async]

user_data :

data to pass to callback. [closure]

Since 3.8


e_data_book_get_contact_finish ()

gboolean            e_data_book_get_contact_finish      (EDataBook *book,
                                                         GAsyncResult *result,
                                                         EContact **contact,
                                                         GError **error);

Finishes the operation started with e_data_book_get_contact(). If an error occurs, then this function sets error and returns FALSE.

book :

an EDataBook

result :

a GAsyncResult

contact :

return location for the fetched EContact

error :

return location for a GError, or NULL. [allow-none]

Returns :

TRUE on success

Since 3.8


e_data_book_get_contact_sync ()

gboolean            e_data_book_get_contact_sync        (EDataBook *book,
                                                         const gchar *uid,
                                                         EContact **contact,
                                                         GCancellable *cancellable,
                                                         GError **error);

Retrieves an EContact from the book for the gived uid.

Note

This API is intended for internal use only, if you want client side direct read access then use e_book_client_connect_direct_sync() instead

book :

an EDataBook

uid :

a unique string ID specifying the contact

contact :

return location for the fetched EContact

cancellable :

optional GCancellable object, or NULL. [allow-none]

error :

return location for a GError, or NULL. [allow-none]

Returns :

TRUE on success. If FALSE is returned, error will be set

Since 3.8


e_data_book_get_contacts ()

void                e_data_book_get_contacts            (EDataBook *book,
                                                         const gchar *sexp,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Query book with sexp, receiving a list of contacts which matched. The call is finished by e_data_book_get_contacts_finish() from the callback.

Note

This API is intended for internal use only, if you want client side direct read access then use e_book_client_connect_direct_sync() instead

book :

an EDataBook

sexp :

an S-expression representing the query

cancellable :

optional GCancellable object, or NULL. [allow-none]

callback :

a GAsyncReadyCallback to call when the request is satisfied. [scope async]

user_data :

data to pass to callback. [closure]

Since 3.8


e_data_book_get_contacts_finish ()

gboolean            e_data_book_get_contacts_finish     (EDataBook *book,
                                                         GAsyncResult *result,
                                                         GSList **contacts,
                                                         GError **error);

Finishes the operation started with e_data_book_get_contacts(). If an error occurs, then this function sets error and returns FALSE.

book :

an EDataBook

result :

a GAsyncResult

contacts :

a GSList of matched EContacts. [element-type EContact][out]

error :

return location for a GError, or NULL. [allow-none]

Returns :

TRUE on success

Since 3.8


e_data_book_get_contacts_sync ()

gboolean            e_data_book_get_contacts_sync       (EDataBook *book,
                                                         const gchar *sexp,
                                                         GSList **contacts,
                                                         GCancellable *cancellable,
                                                         GError **error);

Query book with sexp, receiving a list of contacts which matched.

Note

This API is intended for internal use only, if you want client side direct read access then use e_book_client_connect_direct_sync() instead

book :

an EDataBook

sexp :

an S-expression representing the query

contacts :

a GSList of matched EContacts. [element-type EContact][out]

cancellable :

optional GCancellable object, or NULL. [allow-none]

error :

return location for a GError, or NULL. [allow-none]

Returns :

TRUE on success. If FALSE is returned, error will be set

Since 3.8


e_data_book_get_contacts_uids ()

void                e_data_book_get_contacts_uids       (EDataBook *book,
                                                         const gchar *sexp,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Query book with sexp, receiving a list of contacts UIDs which matched. The call is finished by e_data_book_get_contacts_uids_finish() from the callback.

Note

This API is intended for internal use only, if you want client side direct read access then use e_book_client_connect_direct_sync() instead

book :

an EDataBook

sexp :

an S-expression representing the query

cancellable :

optional GCancellable object, or NULL. [allow-none]

callback :

a GAsyncReadyCallback to call when the request is satisfied. [scope async]

user_data :

data to pass to callback. [closure]

Since 3.8


e_data_book_get_contacts_uids_finish ()

gboolean            e_data_book_get_contacts_uids_finish
                                                        (EDataBook *book,
                                                         GAsyncResult *result,
                                                         GSList **contacts_uids,
                                                         GError **error);

Finishes the operation started with e_data_book_get_contacts_uids(). If an error occurs, then this function sets error and returns FALSE.

book :

an EDataBook

result :

a GAsyncResult

contacts_uids :

a GSList of matched contact UIDs stored as strings. [element-type utf8][out]

error :

return location for a GError, or NULL. [allow-none]

Returns :

TRUE on success

Since 3.8


e_data_book_get_contacts_uids_sync ()

gboolean            e_data_book_get_contacts_uids_sync  (EDataBook *book,
                                                         const gchar *sexp,
                                                         GSList **contacts_uids,
                                                         GCancellable *cancellable,
                                                         GError **error);

Query book with sexp, receiving a list of contacts UIDs which matched.

Note

This API is intended for internal use only, if you want client side direct read access then use e_book_client_connect_direct_sync() instead

book :

an EDataBook

sexp :

an S-expression representing the query

contacts_uids :

a GSList of matched contact UIDs stored as strings. [element-type utf8][out]

cancellable :

optional GCancellable object, or NULL. [allow-none]

error :

return location for a GError, or NULL. [allow-none]

Returns :

TRUE on success. If FALSE is returned, error will be set

Since 3.8


e_data_book_respond_set_backend_property ()

void                e_data_book_respond_set_backend_property
                                                        (EDataBook *book,
                                                         guint32 opid,
                                                         GError *error);

Warning

e_data_book_respond_set_backend_property has been deprecated since version 3.8 and should not be used in newly-written code. This function no longer does anything.

FIXME: Document me.

Since 3.2


e_data_book_report_opened ()

void                e_data_book_report_opened           (EDataBook *book,
                                                         const GError *error);

Warning

e_data_book_report_opened has been deprecated since version 3.8 and should not be used in newly-written code. This function no longer does anything.

Reports to associated client that opening phase of the book is finished. error being NULL means successfully, otherwise reports an error which happened during opening phase. By opening phase is meant a process including successfull authentication to the server/storage.

Since 3.2


e_data_book_report_readonly ()

void                e_data_book_report_readonly         (EDataBook *book,
                                                         gboolean readonly);

Warning

e_data_book_report_readonly has been deprecated since version 3.8 and should not be used in newly-written code. Use e_book_backend_set_writable() instead.

FIXME: Document me.

Since 3.2


e_data_book_report_online ()

void                e_data_book_report_online           (EDataBook *book,
                                                         gboolean is_online);

Warning

e_data_book_report_online has been deprecated since version 3.8 and should not be used in newly-written code. Use e_backend_set_online() instead.

FIXME: Document me.

Since 3.2

Property Details

The "backend" property

  "backend"                  EBookBackend*         : Read / Write / Construct Only

The backend driving this connection.


The "connection" property

  "connection"               GDBusConnection*      : Read / Write / Construct Only

The GDBusConnection on which to export the address book interface.


The "object-path" property

  "object-path"              gchar*                : Read / Write / Construct Only

The object path at which to export the address book interface.

Default value: NULL