diff options
Diffstat (limited to 'addressbook/backend/pas/pas-book.h')
-rw-r--r-- | addressbook/backend/pas/pas-book.h | 202 |
1 files changed, 52 insertions, 150 deletions
diff --git a/addressbook/backend/pas/pas-book.h b/addressbook/backend/pas/pas-book.h index 761f906437..2cb84569c2 100644 --- a/addressbook/backend/pas/pas-book.h +++ b/addressbook/backend/pas/pas-book.h @@ -12,13 +12,11 @@ #ifndef __PAS_BOOK_H__ #define __PAS_BOOK_H__ -#include <bonobo/bonobo-object.h> #include <pas/addressbook.h> -#include <pas/pas-book-view.h> +#include <bonobo/bonobo-object.h> #include "e-util/e-list.h" -#include <pas/pas-backend.h> -#include <pas/pas-card-cursor.h> +#include <pas/pas-types.h> #define PAS_TYPE_BOOK (pas_book_get_type ()) #define PAS_BOOK(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), PAS_TYPE_BOOK, PASBook)) @@ -27,164 +25,68 @@ #define PAS_IS_BOOK_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), PAS_TYPE_BOOK)) #define PAS_BOOK_GET_CLASS(k) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAS_TYPE_BOOK, PASBookClass)) -typedef struct _PASBook PASBook; typedef struct _PASBookPrivate PASBookPrivate; -typedef enum { - CreateCard, - RemoveCards, - ModifyCard, - GetVCard, - GetCursor, - GetBookView, - GetCompletionView, - GetChanges, - CheckConnection, - AuthenticateUser, - GetSupportedFields, - GetSupportedAuthMethods -} PASOperation; - -typedef struct { - PASOperation op; - char *id; - char *vcard; -} PASCreateCardRequest; - -typedef struct { - PASOperation op; - GList *ids; -} PASRemoveCardsRequest; - -typedef struct { - PASOperation op; - char *vcard; -} PASModifyCardRequest; - -typedef struct { - PASOperation op; - char *id; -} PASGetVCardRequest; - -typedef struct { - PASOperation op; - char *search; -} PASGetCursorRequest; - -typedef struct { - PASOperation op; - char *search; - GNOME_Evolution_Addressbook_BookViewListener listener; -} PASGetBookViewRequest; - -typedef struct { - PASOperation op; - char *search; - GNOME_Evolution_Addressbook_BookViewListener listener; -} PASGetCompletionViewRequest; - -typedef struct { - PASOperation op; - char *change_id; - GNOME_Evolution_Addressbook_BookViewListener listener; -} PASGetChangesRequest; - -typedef struct { - PASOperation op; -} PASCheckConnectionRequest; - -typedef struct { - PASOperation op; - char *user; - char *passwd; - char *auth_method; -} PASAuthenticateUserRequest; - -typedef struct { - PASOperation op; -} PASGetSupportedFieldsRequest; - -typedef struct { - PASOperation op; -} PASGetSupportedAuthMethodsRequest; - -typedef union { - PASOperation op; - - PASCreateCardRequest create; - PASRemoveCardsRequest remove; - PASModifyCardRequest modify; - PASGetVCardRequest get_vcard; - PASGetCursorRequest get_cursor; - PASGetBookViewRequest get_book_view; - PASGetCompletionViewRequest get_completion_view; - PASGetChangesRequest get_changes; - PASCheckConnectionRequest check_connection; - PASAuthenticateUserRequest auth_user; - PASGetSupportedFieldsRequest get_supported_fields; - PASGetSupportedAuthMethodsRequest get_supported_auth_methods; -} PASRequest; - struct _PASBook { - BonoboObject parent_object; - PASBookPrivate *priv; + BonoboObject parent_object; + PASBookPrivate *priv; }; -typedef struct { +struct _PASBookClass { BonoboObjectClass parent_class; POA_GNOME_Evolution_Addressbook_Book__epv epv; - /* Signals */ - void (*requests_queued) (void); -} PASBookClass; - - -typedef gboolean (*PASBookCanWriteFn) (PASBook *book); -typedef gboolean (*PASBookCanWriteCardFn) (PASBook *book, const char *id); - -PASBook *pas_book_new (PASBackend *backend, - GNOME_Evolution_Addressbook_BookListener listener); -PASBackend *pas_book_get_backend (PASBook *book); -GNOME_Evolution_Addressbook_BookListener pas_book_get_listener (PASBook *book); -int pas_book_check_pending (PASBook *book); -PASRequest *pas_book_pop_request (PASBook *book); -void pas_book_free_request (PASRequest *request); -void pas_book_respond_open (PASBook *book, - GNOME_Evolution_Addressbook_BookListener_CallStatus status); -void pas_book_respond_create (PASBook *book, - GNOME_Evolution_Addressbook_BookListener_CallStatus status, - const char *id); -void pas_book_respond_remove (PASBook *book, - GNOME_Evolution_Addressbook_BookListener_CallStatus status); -void pas_book_respond_modify (PASBook *book, - GNOME_Evolution_Addressbook_BookListener_CallStatus status); -void pas_book_respond_authenticate_user (PASBook *book, - GNOME_Evolution_Addressbook_BookListener_CallStatus status); -void pas_book_respond_get_supported_fields (PASBook *book, - GNOME_Evolution_Addressbook_BookListener_CallStatus status, - EList *fields); -void pas_book_respond_get_supported_auth_methods (PASBook *book, - GNOME_Evolution_Addressbook_BookListener_CallStatus status, - EList *fields); - -void pas_book_respond_get_cursor (PASBook *book, - GNOME_Evolution_Addressbook_BookListener_CallStatus status, - PASCardCursor *cursor); + /* Padding for future expansion */ + void (*_pas_reserved0) (void); + void (*_pas_reserved1) (void); + void (*_pas_reserved2) (void); + void (*_pas_reserved3) (void); + void (*_pas_reserved4) (void); +}; + + +PASBook *pas_book_new (PASBackend *backend, + const char *uri, + GNOME_Evolution_Addressbook_BookListener listener); +GNOME_Evolution_Addressbook_BookListener pas_book_get_listener (PASBook *book); +PASBackend *pas_book_get_backend (PASBook *book); +const char *pas_book_get_uri (PASBook *book); + +void pas_book_respond_open (PASBook *book, + GNOME_Evolution_Addressbook_CallStatus status); +void pas_book_respond_remove (PASBook *book, + GNOME_Evolution_Addressbook_CallStatus status); +void pas_book_respond_create (PASBook *book, + GNOME_Evolution_Addressbook_CallStatus status, + EContact *contact); +void pas_book_respond_remove_contacts (PASBook *book, + GNOME_Evolution_Addressbook_CallStatus status, + GList *ids); +void pas_book_respond_modify (PASBook *book, + GNOME_Evolution_Addressbook_CallStatus status, + EContact *contact); +void pas_book_respond_authenticate_user (PASBook *book, + GNOME_Evolution_Addressbook_CallStatus status); +void pas_book_respond_get_supported_fields (PASBook *book, + GNOME_Evolution_Addressbook_CallStatus status, + GList *fields); +void pas_book_respond_get_supported_auth_methods (PASBook *book, + GNOME_Evolution_Addressbook_CallStatus status, + GList *fields); + void pas_book_respond_get_book_view (PASBook *book, - GNOME_Evolution_Addressbook_BookListener_CallStatus status, + GNOME_Evolution_Addressbook_CallStatus status, PASBookView *book_view); -void pas_book_respond_get_completion_view (PASBook *book, - GNOME_Evolution_Addressbook_BookListener_CallStatus status, - PASBookView *completion_view); -void pas_book_respond_get_vcard (PASBook *book, - GNOME_Evolution_Addressbook_BookListener_CallStatus status, +void pas_book_respond_get_contact (PASBook *book, + GNOME_Evolution_Addressbook_CallStatus status, char *vcard); -void pas_book_respond_get_changes (PASBook *book, - GNOME_Evolution_Addressbook_BookListener_CallStatus status, - PASBookView *book_view); -void pas_book_report_connection (PASBook *book, - gboolean connected); +void pas_book_respond_get_contact_list (PASBook *book, + GNOME_Evolution_Addressbook_CallStatus status, + GList *cards); +void pas_book_respond_get_changes (PASBook *book, + GNOME_Evolution_Addressbook_CallStatus status, + GList *changes); void pas_book_report_writable (PASBook *book, gboolean writable); |