<!-- ##### SECTION Title ##### -->
EBookClient

<!-- ##### SECTION Short_Description ##### -->


<!-- ##### SECTION Long_Description ##### -->
<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### MACRO BOOK_BACKEND_PROPERTY_REQUIRED_FIELDS ##### -->
<para>

</para>



<!-- ##### MACRO BOOK_BACKEND_PROPERTY_SUPPORTED_FIELDS ##### -->
<para>

</para>



<!-- ##### MACRO BOOK_BACKEND_PROPERTY_SUPPORTED_AUTH_METHODS ##### -->
<para>

</para>



<!-- ##### MACRO E_BOOK_CLIENT_ERROR ##### -->
<para>

</para>



<!-- ##### ENUM EBookClientError ##### -->
<para>

</para>

@E_BOOK_CLIENT_ERROR_NO_SUCH_BOOK: 
@E_BOOK_CLIENT_ERROR_CONTACT_NOT_FOUND: 
@E_BOOK_CLIENT_ERROR_CONTACT_ID_ALREADY_EXISTS: 
@E_BOOK_CLIENT_ERROR_NO_SUCH_SOURCE: 
@E_BOOK_CLIENT_ERROR_NO_SPACE: 

<!-- ##### FUNCTION e_book_client_error_to_string ##### -->
<para>

</para>

@code: 
@Returns: 


<!-- ##### FUNCTION e_book_client_error_create ##### -->
<para>

</para>

@code: 
@custom_msg: 
@Returns: 


<!-- ##### STRUCT EBookClient ##### -->
<para>

</para>


<!-- ##### FUNCTION e_book_client_new ##### -->
<para>

</para>

@source: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_new_from_uri ##### -->
<para>

</para>

@uri: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_new_system ##### -->
<para>

</para>

@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_new_default ##### -->
<para>

</para>

@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_set_default ##### -->
<para>

</para>

@client: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_set_default_source ##### -->
<para>

</para>

@source: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_get_sources ##### -->
<para>

</para>

@sources: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_get_self ##### -->
<para>

</para>

@contact: 
@client: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_set_self ##### -->
<para>

</para>

@client: 
@contact: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_is_self ##### -->
<para>

</para>

@contact: 
@Returns: 


<!-- ##### FUNCTION e_book_client_add_contact ##### -->
<para>

</para>

@client: 
@contact: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION e_book_client_add_contact_finish ##### -->
<para>

</para>

@client: 
@result: 
@added_uid: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_add_contact_sync ##### -->
<para>

</para>

@client: 
@contact: 
@added_uid: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_modify_contact ##### -->
<para>

</para>

@client: 
@contact: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION e_book_client_modify_contact_finish ##### -->
<para>

</para>

@client: 
@result: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_modify_contact_sync ##### -->
<para>

</para>

@client: 
@contact: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_remove_contact ##### -->
<para>

</para>

@client: 
@contact: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION e_book_client_remove_contact_finish ##### -->
<para>

</para>

@client: 
@result: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_remove_contact_sync ##### -->
<para>

</para>

@client: 
@contact: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_remove_contact_by_uid ##### -->
<para>

</para>

@client: 
@uid: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION e_book_client_remove_contact_by_uid_finish ##### -->
<para>

</para>

@client: 
@result: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_remove_contact_by_uid_sync ##### -->
<para>

</para>

@client: 
@uid: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_remove_contacts ##### -->
<para>

</para>

@client: 
@uids: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION e_book_client_remove_contacts_finish ##### -->
<para>

</para>

@client: 
@result: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_remove_contacts_sync ##### -->
<para>

</para>

@client: 
@uids: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_get_contact ##### -->
<para>

</para>

@client: 
@uid: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION e_book_client_get_contact_finish ##### -->
<para>

</para>

@client: 
@result: 
@contact: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_get_contact_sync ##### -->
<para>

</para>

@client: 
@uid: 
@contact: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_get_contacts ##### -->
<para>

</para>

@client: 
@sexp: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION e_book_client_get_contacts_finish ##### -->
<para>

</para>

@client: 
@result: 
@contacts: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_get_contacts_sync ##### -->
<para>

</para>

@client: 
@sexp: 
@contacts: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_get_contacts_uids ##### -->
<para>

</para>

@client: 
@sexp: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION e_book_client_get_contacts_uids_finish ##### -->
<para>

</para>

@client: 
@result: 
@contacts_uids: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_get_contacts_uids_sync ##### -->
<para>

</para>

@client: 
@sexp: 
@contacts_uids: 
@cancellable: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_get_view ##### -->
<para>

</para>

@client: 
@sexp: 
@cancellable: 
@callback: 
@user_data: 


<!-- ##### FUNCTION e_book_client_get_view_finish ##### -->
<para>

</para>

@client: 
@result: 
@view: 
@error: 
@Returns: 


<!-- ##### FUNCTION e_book_client_get_view_sync ##### -->
<para>

</para>

@client: 
@sexp: 
@view: 
@cancellable: 
@error: 
@Returns: 


