diff options
Diffstat (limited to 'addressbook/backend/ebook')
-rw-r--r-- | addressbook/backend/ebook/e-book.c | 24 | ||||
-rw-r--r-- | addressbook/backend/ebook/e-book.h | 11 |
2 files changed, 33 insertions, 2 deletions
diff --git a/addressbook/backend/ebook/e-book.c b/addressbook/backend/ebook/e-book.c index 438445aa9a..a4dd4e196f 100644 --- a/addressbook/backend/ebook/e-book.c +++ b/addressbook/backend/ebook/e-book.c @@ -11,6 +11,8 @@ #include <config.h> #include <gtk/gtksignal.h> #include <gtk/gtkmarshal.h> +#include <libgnome/gnome-defs.h> +#include <libgnome/gnome-util.h> #include <liboaf/liboaf.h> #include "addressbook.h" @@ -512,6 +514,28 @@ e_book_unload_uri (EBook *book) book->priv->load_state = URINotLoaded; } +gboolean +e_book_load_local_address_book (EBook *book, EBookCallback open_response, gpointer closure) +{ + gchar *filename; + gchar *uri; + gboolean rv; + + g_return_val_if_fail (book != NULL, FALSE); + g_return_val_if_fail (E_IS_BOOK (book), FALSE); + g_return_val_if_fail (open_response != NULL, FALSE); + + filename = gnome_util_prepend_user_home ("evolution/local/Contacts/addressbook.db"); + uri = g_strdup_printf ("file://%s", filename); + + rv = e_book_load_uri (book, uri, open_response, closure); + + g_free (filename); + g_free (uri); + + return rv; +} + char * e_book_get_static_capabilities (EBook *book) { diff --git a/addressbook/backend/ebook/e-book.h b/addressbook/backend/ebook/e-book.h index 6a68e010e4..d992f63471 100644 --- a/addressbook/backend/ebook/e-book.h +++ b/addressbook/backend/ebook/e-book.h @@ -53,16 +53,23 @@ typedef void (*EBookFieldsCallback) (EBook *book, EBookStatus status, EList *fie /* Creating a new addressbook. */ EBook *e_book_new (void); + gboolean e_book_load_uri (EBook *book, const char *uri, EBookCallback open_response, gpointer closure); void e_book_unload_uri (EBook *book); + +gboolean e_book_load_local_address_book (EBook *book, + EBookCallback open_response, + gpointer closure); + char *e_book_get_static_capabilities (EBook *book); gboolean e_book_get_supported_fields (EBook *book, - EBookFieldsCallback cb, - gpointer closure); + EBookFieldsCallback cb, + gpointer closure); + /* User authentication. */ void e_book_authenticate_user (EBook *book, |