[evolution/account-mgmt: 9/33] Adapt addressbook/util to the new ESource API.



commit 8af6beb88721ac0ab4e674d849e1cbbc81685860
Author: Matthew Barnes <mbarnes redhat com>
Date:   Wed Dec 8 00:15:26 2010 -0500

    Adapt addressbook/util to the new ESource API.

 addressbook/util/eab-book-util.c |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)
---
diff --git a/addressbook/util/eab-book-util.c b/addressbook/util/eab-book-util.c
index ffe310d..687ec7c 100644
--- a/addressbook/util/eab-book-util.c
+++ b/addressbook/util/eab-book-util.c
@@ -25,8 +25,7 @@
 #include "eab-book-util.h"
 
 #include <string.h>
-#include <glib.h>
-#include <glib-object.h>
+#include <libedataserver/e-source-registry.h>
 
 /*
  *
@@ -278,8 +277,10 @@ eab_contact_list_to_string (GList *contacts)
 gboolean
 eab_book_and_contact_list_from_string (const gchar *str, EBook **book, GList **contacts)
 {
+	ESourceRegistry *registry;
+	ESource *source;
 	const gchar *s0, *s1;
-	gchar *uri;
+	gchar *uid;
 
 	g_return_val_if_fail (str != NULL, FALSE);
 	g_return_val_if_fail (book != NULL, FALSE);
@@ -303,11 +304,13 @@ eab_book_and_contact_list_from_string (const gchar *str, EBook **book, GList **c
 		return FALSE;
 	}
 
-	uri = g_strndup (s0, s1 - s0);
-	*book = e_book_new_from_uri (uri, NULL);
-	g_free (uri);
+	uid = g_strndup (s0, s1 - s0);
+	registry = e_source_registry_get_default ();
+	source = e_source_registry_lookup_by_uid (registry, uid);
+	*book = (source != NULL) ? e_book_new (source, NULL) : NULL;
+	g_free (uid);
 
-	return *book ? TRUE : FALSE;
+	return (*book != NULL);
 }
 
 gchar *
@@ -319,9 +322,14 @@ eab_book_and_contact_list_to_string (EBook *book, GList *contacts)
 	if (!s0)
 		s0 = g_strdup ("");
 
-	if (book)
-		s1 = g_strconcat ("Book: ", e_book_get_uri (book), "\r\n", s0, NULL);
-	else
+	if (book) {
+		ESource *source;
+		const gchar *uid;
+
+		source = e_book_get_source (book);
+		uid = e_source_get_uid (source);
+		s1 = g_strconcat ("Book: ", uid, "\r\n", s0, NULL);
+	} else
 		s1 = g_strdup (s0);
 
 	g_free (s0);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]