aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/ebook/e-book.h
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/backend/ebook/e-book.h')
-rw-r--r--addressbook/backend/ebook/e-book.h212
1 files changed, 104 insertions, 108 deletions
diff --git a/addressbook/backend/ebook/e-book.h b/addressbook/backend/ebook/e-book.h
index d2c5a7bce4..1d2a4dc2d4 100644
--- a/addressbook/backend/ebook/e-book.h
+++ b/addressbook/backend/ebook/e-book.h
@@ -3,9 +3,9 @@
* The Evolution addressbook client object.
*
* Author:
- * Nat Friedman (nat@ximian.com)
+ * Chris Toshok (toshok@ximian.com)
*
- * Copyright 1999, 2000, Ximian, Inc.
+ * Copyright (C) 1999-2003, Ximian, Inc.
*/
#ifndef __E_BOOK_H__
@@ -14,10 +14,13 @@
#include <glib.h>
#include <glib-object.h>
-#include <ebook/e-card.h>
-#include <ebook/e-card-cursor.h>
+#include <ebook/e-contact.h>
+#include <ebook/e-book-query.h>
#include <ebook/e-book-view.h>
#include <ebook/e-book-types.h>
+#if notyet
+#include <e-util/e-source-list.h>
+#endif
#define E_TYPE_BOOK (e_book_get_type ())
#define E_BOOK(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TYPE_BOOK, EBook))
@@ -43,127 +46,120 @@ struct _EBookClass {
/*
* Signals.
*/
- void (* open_progress) (EBook *book, const char *msg, short percent);
- void (* link_status) (EBook *book, gboolean connected);
void (* writable_status) (EBook *book, gboolean writable);
void (* backend_died) (EBook *book);
-};
-/* Callbacks for asynchronous functions. */
-typedef void (*EBookCallback) (EBook *book, EBookStatus status, gpointer closure);
-typedef void (*EBookOpenProgressCallback) (EBook *book,
- const char *status_message,
- short percent,
- gpointer closure);
-typedef void (*EBookIdCallback) (EBook *book, EBookStatus status, const char *id, gpointer closure);
-typedef void (*EBookCardCallback) (EBook *book, EBookStatus status, ECard *card, gpointer closure);
-typedef void (*EBookCursorCallback) (EBook *book, EBookStatus status, ECardCursor *cursor, gpointer closure);
-typedef void (*EBookBookViewCallback) (EBook *book, EBookStatus status, EBookView *book_view, gpointer closure);
-typedef void (*EBookFieldsCallback) (EBook *book, EBookStatus status, EList *fields, gpointer closure);
-typedef void (*EBookAuthMethodsCallback) (EBook *book, EBookStatus status, EList *auth_methods, gpointer closure);
+ /* Padding for future expansion */
+ void (*_ebook_reserved0) (void);
+ void (*_ebook_reserved1) (void);
+ void (*_ebook_reserved2) (void);
+ void (*_ebook_reserved3) (void);
+ void (*_ebook_reserved4) (void);
+};
/* Creating a new addressbook. */
-EBook *e_book_new (void);
+EBook *e_book_new (void);
+
+/* loading arbitrary addressbooks */
+gboolean e_book_load_uri (EBook *book,
+ const char *uri,
+ gboolean only_if_exists,
+ GError **error);
-void e_book_load_uri (EBook *book,
- const char *uri,
- EBookCallback open_response,
- gpointer closure);
-void e_book_unload_uri (EBook *book);
+gboolean e_book_unload_uri (EBook *book,
+ GError **error);
-const char *e_book_get_uri (EBook *book);
+gboolean e_book_remove (EBook *book,
+ GError **error);
-char *e_book_get_static_capabilities (EBook *book);
-gboolean e_book_check_static_capability (EBook *book, const char *cap);
+/* convenience function for loading the "local" contact folder */
+gboolean e_book_load_local_addressbook (EBook *book,
+ GError **error);
-guint e_book_get_supported_fields (EBook *book,
- EBookFieldsCallback cb,
- gpointer closure);
+gboolean e_book_get_supported_fields (EBook *book,
+ GList **fields,
+ GError **error);
-guint e_book_get_supported_auth_methods (EBook *book,
- EBookAuthMethodsCallback cb,
- gpointer closure);
+gboolean e_book_get_supported_auth_methods (EBook *book,
+ GList **auth_methods,
+ GError **error);
/* User authentication. */
-void e_book_authenticate_user (EBook *book,
- const char *user,
- const char *passwd,
- const char *auth_method,
- EBookCallback cb,
- gpointer closure);
-
-/* Fetching cards. */
-guint e_book_get_card (EBook *book,
- const char *id,
- EBookCardCallback cb,
- gpointer closure);
-
-/* Deleting cards. */
-gboolean e_book_remove_card (EBook *book,
- ECard *card,
- EBookCallback cb,
- gpointer closure);
-gboolean e_book_remove_card_by_id (EBook *book,
- const char *id,
- EBookCallback cb,
- gpointer closure);
-
-gboolean e_book_remove_cards (EBook *book,
- GList *id_list,
- EBookCallback cb,
- gpointer closure);
-
-/* Adding cards. */
-gboolean e_book_add_card (EBook *book,
- ECard *card,
- EBookIdCallback cb,
- gpointer closure);
-gboolean e_book_add_vcard (EBook *book,
- const char *vcard,
- EBookIdCallback cb,
- gpointer closure);
-
-/* Modifying cards. */
-gboolean e_book_commit_card (EBook *book,
- ECard *card,
- EBookCallback cb,
- gpointer closure);
-gboolean e_book_commit_vcard (EBook *book,
- const char *vcard,
- EBookCallback cb,
- gpointer closure);
-
-/* Checking to see if we're connected to the card repository. */
-gboolean e_book_check_connection (EBook *book);
-guint e_book_get_cursor (EBook *book,
- char *query,
- EBookCursorCallback cb,
- gpointer closure);
-
-guint e_book_get_book_view (EBook *book,
- const gchar *query,
- EBookBookViewCallback cb,
- gpointer closure);
-
-guint e_book_get_completion_view (EBook *book,
- const gchar *query,
- EBookBookViewCallback cb,
- gpointer closure);
-
-guint e_book_get_changes (EBook *book,
- char *changeid,
- EBookBookViewCallback cb,
- gpointer closure);
+gboolean e_book_authenticate_user (EBook *book,
+ const char *user,
+ const char *passwd,
+ const char *auth_method,
+ GError **error);
+
+/* Fetching contacts. */
+gboolean e_book_get_contact (EBook *book,
+ const char *id,
+ EContact **contact,
+ GError **error);
+
+/* Deleting contacts. */
+gboolean e_book_remove_contact (EBook *book,
+ const char *id,
+ GError **error);
+
+gboolean e_book_remove_contacts (EBook *book,
+ GList *id_list,
+ GError **error);
+
+/* Adding contacts. */
+gboolean e_book_add_contact (EBook *book,
+ EContact *contact,
+ GError **error);
+
+/* Modifying contacts. */
+gboolean e_book_commit_contact (EBook *book,
+ EContact *contact,
+ GError **error);
+
+/* Returns a live view of a query. */
+gboolean e_book_get_book_view (EBook *book,
+ EBookQuery *query,
+ GList *requested_fields,
+ int max_results,
+ EBookView **book_view,
+ GError **error);
+
+/* Returns a static snapshot of a query. */
+gboolean e_book_get_contacts (EBook *book,
+ EBookQuery *query,
+ GList **contacts,
+ GError **error);
+
+gboolean e_book_get_changes (EBook *book,
+ char *changeid,
+ GList **changes,
+ GError **error);
+
+void e_book_free_change_list (GList *change_list);
+
+const char *e_book_get_uri (EBook *book);
+
+const char *e_book_get_static_capabilities (EBook *book,
+ GError **error);
+gboolean e_book_check_static_capability (EBook *book,
+ const char *cap);
+gboolean e_book_is_writable (EBook *book);
/* Cancel a pending operation. */
-void e_book_cancel (EBook *book,
- guint tag);
+gboolean e_book_cancel (EBook *book,
+ GError **error);
+/* Identity */
+gboolean e_book_get_self (EContact **contact, EBook **book, GError **error);
+gboolean e_book_set_self (EBook *book, const char *id, GError **error);
-/* Getting the name of the repository. */
-char *e_book_get_name (EBook *book);
+/* Addressbook Discovery */
+gboolean e_book_get_default_addressbook (EBook **book, GError **error);
+#if notyet
+gboolean e_book_get_addressbooks (ESourceList** addressbook_sources, GError **error);
+#endif
-GType e_book_get_type (void);
+GType e_book_get_type (void);
G_END_DECLS