/* inits the libebook logic. load the library, sets out listeners */ static int addrbook_libebook_init() { GError *error = 0; int ret = -1; /* open up the database */ #ifdef CONFIG_MAEMOEXTS_ENABLED book = e_book_new_from_uri("file:///home/user/.osso-abook/db", &error); #else book = e_book_new_system_addressbook (&error); #endif ASSERT_TRUE(book, err); ASSERT_TRUE(e_book_open(book, FALSE, &error), err); g_signal_connect(G_OBJECT(book), "backend-died", G_CALLBACK(addrbook_libebook_signal), NULL); /* ASSERT_TRUE(book_listener = e_book_listener_new(), err); g_signal_connect(G_OBJECT(book_listener), "response", G_CALLBACK(addrbook_libebook_signal), NULL); */ ret = 0; err: if (error) g_error_free(error); return ret; }
gboolean gevo_load_addressbook(const gchar* uri, EBook **book, GError **error) { gboolean result = FALSE; g_return_val_if_fail(book != NULL, FALSE); if (uri == NULL) *book = e_book_new_system_addressbook(error); else *book = e_book_new_from_uri(uri, error); if (*book == NULL) return FALSE; *error = NULL; result = e_book_open(*book, FALSE, error); if (!result && *book != NULL) { g_object_unref(*book); *book = NULL; } return result; }
void open_book(const char *uri) { EBook *book = NULL; GError *gerror = NULL; book = e_book_new_from_uri(uri, &gerror); if (book) { if (e_book_open(book, TRUE, &gerror)) { printf("Successfully opened %s\n", uri); } g_object_unref(book); } if (gerror) { printf("Failed to open addressbook:\n%s\n", gerror->message); g_clear_error(&gerror); } }