aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/pas/pas-backend.h
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2003-01-09 04:34:51 +0800
committerDan Winship <danw@src.gnome.org>2003-01-09 04:34:51 +0800
commitac80365c860bc263b183a76a5f035779b60f100f (patch)
tree9f5c0728c339e6330f07093127b88a31f7740afc /addressbook/backend/pas/pas-backend.h
parentd22be5639fcfeea8dafbf90f3b384aff1797e7fc (diff)
downloadgsoc2013-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.h62
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__ */