aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/pas/pas-backend.h
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/backend/pas/pas-backend.h')
-rw-r--r--addressbook/backend/pas/pas-backend.h119
1 files changed, 73 insertions, 46 deletions
diff --git a/addressbook/backend/pas/pas-backend.h b/addressbook/backend/pas/pas-backend.h
index b33518116e..41f6542213 100644
--- a/addressbook/backend/pas/pas-backend.h
+++ b/addressbook/backend/pas/pas-backend.h
@@ -25,6 +25,8 @@
#include <glib.h>
#include <glib-object.h>
#include <pas/addressbook.h>
+#include <pas/pas-types.h>
+#include <ebook/e-contact.h>
#define PAS_TYPE_BACKEND (pas_backend_get_type ())
#define PAS_BACKEND(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PAS_TYPE_BACKEND, PASBackend))
@@ -33,7 +35,6 @@
#define PAS_IS_BACKEND_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PAS_TYPE_BACKEND))
#define PAS_BACKEND_GET_CLASS(k) (G_TYPE_INSTANCE_GET_CLASS ((k), PAS_TYPE_BACKEND, PASBackendClass))
-typedef struct _PASBackend PASBackend;
typedef struct _PASBackendPrivate PASBackendPrivate;
#include <pas/pas-book.h>
@@ -43,44 +44,49 @@ struct _PASBackend {
PASBackendPrivate *priv;
};
-typedef struct {
+struct _PASBackendClass {
GObjectClass parent_class;
/* Virtual methods */
- GNOME_Evolution_Addressbook_BookListener_CallStatus (*load_uri) (PASBackend *backend, const char *uri);
- const char *(* get_uri) (PASBackend *backend);
- gboolean (*add_client) (PASBackend *backend, GNOME_Evolution_Addressbook_BookListener listener);
- void (*remove_client) (PASBackend *backend, PASBook *book);
+ GNOME_Evolution_Addressbook_CallStatus (*load_uri) (PASBackend *backend, const char *uri, gboolean only_if_exists);
+ void (*remove) (PASBackend *backend, PASBook *book);
char *(*get_static_capabilities) (PASBackend *backend);
- void (*create_card) (PASBackend *backend, PASBook *book, PASCreateCardRequest *req);
- void (*remove_cards) (PASBackend *backend, PASBook *book, PASRemoveCardsRequest *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);
- void (*get_supported_auth_methods) (PASBackend *backend, PASBook *book, PASGetSupportedAuthMethodsRequest *req);
+ void (*create_contact) (PASBackend *backend, PASBook *book, const char *vcard);
+ void (*remove_contacts) (PASBackend *backend, PASBook *book, GList *id_list);
+ void (*modify_contact) (PASBackend *backend, PASBook *book, const char *vcard);
+ void (*get_contact) (PASBackend *backend, PASBook *book, const char *id);
+ void (*get_contact_list) (PASBackend *backend, PASBook *book, const char *query);
+ void (*start_book_view) (PASBackend *backend, PASBookView *book_view);
+ void (*get_changes) (PASBackend *backend, PASBook *book, const char *change_id);
+ void (*authenticate_user) (PASBackend *backend, PASBook *book, const char *user, const char *passwd, const char *auth_method);
+ void (*get_supported_fields) (PASBackend *backend, PASBook *book);
+ void (*get_supported_auth_methods) (PASBackend *backend, PASBook *book);
+ GNOME_Evolution_Addressbook_CallStatus (*cancel_operation) (PASBackend *backend, PASBook *book);
/* Notification signals */
void (* last_client_gone) (PASBackend *backend);
-} PASBackendClass;
+
+ /* Padding for future expansion */
+ void (*_pas_reserved0) (void);
+ void (*_pas_reserved1) (void);
+ void (*_pas_reserved2) (void);
+ void (*_pas_reserved3) (void);
+ void (*_pas_reserved4) (void);
+};
typedef PASBackend * (*PASBackendFactoryFn) (void);
gboolean pas_backend_construct (PASBackend *backend);
-GNOME_Evolution_Addressbook_BookListener_CallStatus
+GNOME_Evolution_Addressbook_CallStatus
pas_backend_load_uri (PASBackend *backend,
- const char *uri);
+ const char *uri,
+ gboolean only_if_exists);
const char *pas_backend_get_uri (PASBackend *backend);
gboolean pas_backend_add_client (PASBackend *backend,
- GNOME_Evolution_Addressbook_BookListener listener);
+ PASBook *book);
void pas_backend_remove_client (PASBackend *backend,
PASBook *book);
char *pas_backend_get_static_capabilities (PASBackend *backend);
@@ -89,42 +95,56 @@ gboolean pas_backend_is_loaded (PASBackend *backen
gboolean pas_backend_is_writable (PASBackend *backend);
-void pas_backend_create_card (PASBackend *backend,
- PASBook *book,
- PASCreateCardRequest *req);
-void pas_backend_remove_cards (PASBackend *backend,
- PASBook *book,
- PASRemoveCardsRequest *req);
-void pas_backend_modify_card (PASBackend *backend,
+gboolean pas_backend_is_removed (PASBackend *backend);
+
+void pas_backend_open (PASBackend *backend,
PASBook *book,
- PASModifyCardRequest *req);
-void pas_backend_check_connection (PASBackend *backend,
+ gboolean only_if_exists);
+void pas_backend_remove (PASBackend *backend,
+ PASBook *book);
+void pas_backend_create_contact (PASBackend *backend,
PASBook *book,
- PASCheckConnectionRequest *req);
-void pas_backend_get_vcard (PASBackend *backend,
+ const char *vcard);
+void pas_backend_remove_contacts (PASBackend *backend,
PASBook *book,
- PASGetVCardRequest *req);
-void pas_backend_get_cursor (PASBackend *backend,
+ GList *id_list);
+void pas_backend_modify_contact (PASBackend *backend,
PASBook *book,
- PASGetCursorRequest *req);
-void pas_backend_get_book_view (PASBackend *backend,
+ const char *vcard);
+void pas_backend_get_contact (PASBackend *backend,
PASBook *book,
- PASGetBookViewRequest *req);
-void pas_backend_get_completion_view (PASBackend *backend,
+ const char *id);
+void pas_backend_get_contact_list (PASBackend *backend,
PASBook *book,
- PASGetCompletionViewRequest *req);
+ const char *query);
void pas_backend_get_changes (PASBackend *backend,
PASBook *book,
- PASGetChangesRequest *req);
+ const char *change_id);
void pas_backend_authenticate_user (PASBackend *backend,
PASBook *book,
- PASAuthenticateUserRequest *req);
+ const char *user,
+ const char *passwd,
+ const char *auth_method);
void pas_backend_get_supported_fields (PASBackend *backend,
- PASBook *book,
- PASGetSupportedFieldsRequest *req);
+ PASBook *book);
void pas_backend_get_supported_auth_methods (PASBackend *backend,
- PASBook *book,
- PASGetSupportedAuthMethodsRequest *req);
+ PASBook *book);
+GNOME_Evolution_Addressbook_CallStatus pas_backend_cancel_operation (PASBackend *backend,
+ PASBook *book);
+
+void pas_backend_start_book_view (PASBackend *backend,
+ PASBookView *view);
+
+void pas_backend_add_book_view (PASBackend *backend,
+ PASBookView *view);
+
+EList *pas_backend_get_book_views (PASBackend *backend);
+
+void pas_backend_notify_update (PASBackend *backend,
+ EContact *contact);
+void pas_backend_notify_remove (PASBackend *backend,
+ const char *id);
+void pas_backend_notify_complete (PASBackend *backend);
GType pas_backend_get_type (void);
@@ -135,6 +155,13 @@ void pas_backend_set_is_loaded (PASBackend *backen
gboolean is_loaded);
void pas_backend_set_is_writable (PASBackend *backend,
gboolean is_writable);
+void pas_backend_set_is_removed (PASBackend *backend,
+ gboolean is_removed);
+
+/* useful for implementing _get_changes in backends */
+GNOME_Evolution_Addressbook_BookChangeItem* pas_backend_change_add_new (const char *vcard);
+GNOME_Evolution_Addressbook_BookChangeItem* pas_backend_change_modify_new (const char *vcard);
+GNOME_Evolution_Addressbook_BookChangeItem* pas_backend_change_delete_new (const char *id);
#endif /* ! __PAS_BACKEND_H__ */