diff options
author | Dan Winship <danw@src.gnome.org> | 2003-01-09 04:34:51 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2003-01-09 04:34:51 +0800 |
commit | ac80365c860bc263b183a76a5f035779b60f100f (patch) | |
tree | 9f5c0728c339e6330f07093127b88a31f7740afc /addressbook/backend/pas/pas-backend.h | |
parent | d22be5639fcfeea8dafbf90f3b384aff1797e7fc (diff) | |
download | gsoc2013-evolution-ac80365c860bc263b183a76a5f035779b60f100f.tar gsoc2013-evolution-ac80365c860bc263b183a76a5f035779b60f100f.tar.gz gsoc2013-evolution-ac80365c860bc263b183a76a5f035779b60f100f.tar.bz2 gsoc2013-evolution-ac80365c860bc263b183a76a5f035779b60f100f.tar.lz gsoc2013-evolution-ac80365c860bc263b183a76a5f035779b60f100f.tar.xz gsoc2013-evolution-ac80365c860bc263b183a76a5f035779b60f100f.tar.zst gsoc2013-evolution-ac80365c860bc263b183a76a5f035779b60f100f.zip |
Move PASBook request handling into PASBackend itself since all
existing backends do it exactly the same way. (Part of 32866).
* backend/pas/pas-backend.h (PASBackendClass): add new methods for
the various pas book requests.
* backend/pas/pas-backend.c: Add a clients list to
PASBackendPrivate.
(pas_backend_create_card, etc): Add these to invoke the new
methods.
(process_client_requests, book_destroy_cb): Moved here and
slightly rewritten from pas-backend-file.
(last_client_gone): Now static.
(add_client, remove_client): Default implementations, based on
pas-backend-file, that add the client to/remove it from the
backend's clients list and connect to its requests_queued signal.
(pas_backend_init, pas_backend_dispose): Deal with the clients
list.
* backend/pas/pas-backend-file.c (struct _PASBackendFilePrivate):
Remove GList *clients.
(pas_backend_file_process_client_requests,
pas_backend_file_book_destroy_db, pas_backend_file_add_client,
pas_backend_file_remove_client): Gone.
(pas_backend_file_class_init): Remove add_client/remove_client
method initializations, add initializations for processing the
various book requests.
* backend/pas/pas-backend-ldap.c (struct _PASBackendLDAPPrivate):
Remove GList *clients.
(pas_backend_ldap_process_create_card, etc): Make these take the
specific PAS*Request types rather than a generic PASRequest.
(pas_backend_ldap_process_client_requests,
pas_backend_ldap_book_destroy_db, pas_backend_ldap_add_client,
pas_backend_ldap_remove_client): Gone.
(pas_backend_ldap_class_init): Remove add_client/remove_client
method initializations, add initializations for processing the
various book requests.
svn path=/trunk/; revision=19287
Diffstat (limited to 'addressbook/backend/pas/pas-backend.h')
-rw-r--r-- | addressbook/backend/pas/pas-backend.h | 62 |
1 files changed, 59 insertions, 3 deletions
diff --git a/addressbook/backend/pas/pas-backend.h b/addressbook/backend/pas/pas-backend.h index d1d5705b0f..8c3cab2c60 100644 --- a/addressbook/backend/pas/pas-backend.h +++ b/addressbook/backend/pas/pas-backend.h @@ -53,6 +53,18 @@ typedef struct { void (*remove_client) (PASBackend *backend, PASBook *book); char *(*get_static_capabilities) (PASBackend *backend); + void (*create_card) (PASBackend *backend, PASBook *book, PASCreateCardRequest *req); + void (*remove_card) (PASBackend *backend, PASBook *book, PASRemoveCardRequest *req); + void (*modify_card) (PASBackend *backend, PASBook *book, PASModifyCardRequest *req); + void (*check_connection) (PASBackend *backend, PASBook *book, PASCheckConnectionRequest *req); + void (*get_vcard) (PASBackend *backend, PASBook *book, PASGetVCardRequest *req); + void (*get_cursor) (PASBackend *backend, PASBook *book, PASGetCursorRequest *req); + void (*get_book_view) (PASBackend *backend, PASBook *book, PASGetBookViewRequest *req); + void (*get_completion_view) (PASBackend *backend, PASBook *book, PASGetCompletionViewRequest *req); + void (*get_changes) (PASBackend *backend, PASBook *book, PASGetChangesRequest *req); + void (*authenticate_user) (PASBackend *backend, PASBook *book, PASAuthenticateUserRequest *req); + void (*get_supported_fields) (PASBackend *backend, PASBook *book, PASGetSupportedFieldsRequest *req); + /* Notification signals */ void (* last_client_gone) (PASBackend *backend); } PASBackendClass; @@ -72,9 +84,53 @@ void pas_backend_remove_client (PASBackend *backen PASBook *book); char *pas_backend_get_static_capabilities (PASBackend *backend); -void pas_backend_last_client_gone (PASBackend *backend); - -GType pas_backend_get_type (void); +gboolean pas_backend_is_loaded (PASBackend *backend); + +gboolean pas_backend_is_writable (PASBackend *backend); + +void pas_backend_create_card (PASBackend *backend, + PASBook *book, + PASCreateCardRequest *req); +void pas_backend_remove_card (PASBackend *backend, + PASBook *book, + PASRemoveCardRequest *req); +void pas_backend_modify_card (PASBackend *backend, + PASBook *book, + PASModifyCardRequest *req); +void pas_backend_check_connection (PASBackend *backend, + PASBook *book, + PASCheckConnectionRequest *req); +void pas_backend_get_vcard (PASBackend *backend, + PASBook *book, + PASGetVCardRequest *req); +void pas_backend_get_cursor (PASBackend *backend, + PASBook *book, + PASGetCursorRequest *req); +void pas_backend_get_book_view (PASBackend *backend, + PASBook *book, + PASGetBookViewRequest *req); +void pas_backend_get_completion_view (PASBackend *backend, + PASBook *book, + PASGetCompletionViewRequest *req); +void pas_backend_get_changes (PASBackend *backend, + PASBook *book, + PASGetChangesRequest *req); +void pas_backend_authenticate_user (PASBackend *backend, + PASBook *book, + PASAuthenticateUserRequest *req); +void pas_backend_get_supported_fields (PASBackend *backend, + PASBook *book, + PASGetSupportedFieldsRequest *req); + + +GType pas_backend_get_type (void); + + +/* protected functions for subclasses */ +void pas_backend_set_is_loaded (PASBackend *backend, + gboolean is_loaded); +void pas_backend_set_is_writable (PASBackend *backend, + gboolean is_writable); #endif /* ! __PAS_BACKEND_H__ */ |