aboutsummaryrefslogtreecommitdiffstats
path: root/ebook/e-book.c
diff options
context:
space:
mode:
Diffstat (limited to 'ebook/e-book.c')
-rw-r--r--ebook/e-book.c195
1 files changed, 195 insertions, 0 deletions
diff --git a/ebook/e-book.c b/ebook/e-book.c
new file mode 100644
index 0000000000..4230394904
--- /dev/null
+++ b/ebook/e-book.c
@@ -0,0 +1,195 @@
+/*
+ * The Evolution addressbook client object.
+ *
+ * Author:
+ * Nat Friedman (nat@helixcode.com)
+ *
+ * Copyright 1999, Helix Code, Inc.
+ */
+
+#include <ebook/e-book.h>
+
+/**
+ * e_book_new:
+ * @uri: A URI string describing the location of the backend
+ * which the new #EBook will use.
+ *
+ * Returns: A new #EBook object, bound to the backend specified
+ * by @uri, or %NULL if an error occurs.
+ */
+EBook *
+e_book_new (const char *uri)
+{
+ e_book_get_card (
+}
+
+/**
+ * e_book_get_type:
+ *
+ * Returns: The #GtkType for #EBook.
+ */
+GtkType
+e_book_get_type (void)
+{
+}
+
+/**
+ * e_book_get_card:
+ * @book: An #EBook object.
+ * @id: A unique ID which specified a card stored inside
+ * @book's backend store.
+ *
+ * This function fetches the card specified by @id from @book's
+ * backend, parses it into a new #ECard object, and returns it.
+ *
+ * Returns: A newly created #ECard, filled with the card data
+ * specified by @id. The #EBook may maintain an internal card cache,
+ * and will therefore hold a reference to each #ECard itself. The
+ * reference count on the returned #ECard will be incremented when the
+ * card is returned. When the client wishes to destroy the returned
+ * #ECard, he should just dereference it.
+ */
+ECard *
+e_book_get_card (EBook *book, const char *id)
+{
+}
+
+/**
+ * e_book_get_cards:
+ * @book: An #EBook object.
+ *
+ * Returns: A #GList of all the #ECards stored in @book's backend.
+ * The #GList is newly-allocated for the client and must be freed by
+ * him. The #ECard objects in the #GList are each referenced, and
+ * must be unreferenced when the client is done using them.
+ */
+GList *
+e_book_get_cards (EBook *book)
+{
+}
+
+/**
+ * e_book_get_ids:
+ * @book: An #EBook object.
+ *
+ * Returns: A #GList of all the unique card ID strings stored in
+ * @book's backend. The #GList is newly-allocated, as are all of the
+ * #ECard objects stored in it. The client must free the #GList and
+ * unreference all fo the cards when he is done with them.
+ */
+GList *
+e_book_get_ids (EBook *book)
+{
+}
+
+/**
+ * e_book_sync_card:
+ * @book: An #EBook object.
+ * @card: A dirty #ECard object.
+ *
+ * Writes all the changes in @card into @book's card store.
+ */
+void
+e_book_sync_card (EBook *book)
+{
+}
+
+/**
+ * e_book_update_card:
+ * @book: An #EBook object.
+ * @card: An #ECard object which has become out-of-date
+ * and no longer contains the most current card data
+ * in @book's card store.
+ *
+ * Updates @card with any changes which may have occured in its
+ * corresponding backend data.
+ */
+void
+e_book_update_card (EBook *book, ECard *card)
+{
+}
+
+/**
+ * e_book_add_card:
+ * @book: An #EBook object.
+ * @card: A newly-created ECard object.
+ *
+ * Adds @card to @book's card store. Creates a unique ID for @card
+ * and sets @card's ID field. This action will cause a #card_added
+ * signal to be raised on @book.
+ *
+ * Returns: The newly-created unique ID for @card. The copy
+ * returned is the same copy which is stored in @card. The #EBook
+ * may reference @card and keep a handle to it.
+ */
+const char *
+e_book_add_card (EBook *book, ECard *card)
+{
+}
+
+/**
+ * e_book_remove_card:
+ * @book: An #EBook object.
+ * @id: A unique ID for a card stored in @book.
+ *
+ * Removes the card specified by @id from @book's card store. If the
+ * client has kept around an old #ECard object for the card being
+ * removed, he will have to remove it himself. The #ECard will not
+ * receive a #card_removed signals. A #card_removed signal will be
+ * raised on @book, the card will be removed from the #EBook card
+ * cache, and the corresponding #ECard's reference count will be
+ * decremented.
+ */
+void
+e_book_remove_card (EBook *book, const char *id)
+{
+}
+
+/**
+ * e_book_complete:
+ * @book: An #EBook object.
+ * @str: A string.
+ *
+ * The purpose of this function is to provide an easy way for the
+ * client application to to implement typing completion in its address
+ * entry dialogs. The #EBook will compute a list of cards which
+ * potentially complete @str. The basis for the completion (address,
+ * nickname, etc) is implementation-dependent, and I may add some
+ * configurability to this later.
+ *
+ * Returns: A list of #ECard objects which are potentially what the
+ * user was getting at when he typed @str. The list is sorted in
+ * descending order of likelihood. The returned #GList must be freed
+ * by the client. The #ECard objects in the #GList may have come from
+ * @book's cache, and the client may already hold other references to
+ * them. For this reason, the reference count on each #ECard object
+ * is incremented when the object is returned.
+ */
+GList *
+e_book_complete (EBook *book, const char *str)
+{
+}
+
+/**
+ * e_book_get_name:
+ * @book: An #EBook object.
+ *
+ * Returns: The name of the card store to which @book is bound.
+ * The returned string must be freed by the client.
+ */
+char *
+e_book_get_name (EBook *book)
+{
+}
+
+/**
+ * e_book_set_name:
+ * @book: An #EBook object.
+ * @name: A string containing a new name for @book.
+ *
+ * Sets @book's name to @name.
+ */
+char *
+e_book_set_name (EBook *book, const char *namen)
+{
+}