int main(int argc, char **argv)
{
- EBook *book;
+ EBookClient *client;
ESourceRegistry *eds_source_registry = NULL;
GList *sources;
ESource *source;
GSList *groups;
EBookQuery *query;
- GList *contacts;
+ GSList *contacts;
GList *g, *s;
- GList *c;
+ GSList *c;
GError *error = NULL;
GOptionContext *optioncontext;
for (s = sources ; s; s = s->next) {
source = E_SOURCE(s->data);
- book = e_book_new(source, &error);
+ client = E_BOOK_CLIENT(e_book_client_connect_sync(source, NULL, &error));
if (error != NULL) {
- fprintf(stderr, "%s\n", error->message);
- return 1;
+ /* Probably no backend name, so skip */
+ /* fprintf(stderr, "e_book_new: %s\n", error->message);*/
+ g_error_free(error);
+ error = NULL;
+ continue;
}
- e_book_open(book, TRUE, &error);
-
-
+ /* XXX: leaks the query, but we're short running so doesn't really matter */
+ e_book_client_get_contacts_sync(client, e_book_query_to_string(query), &contacts, NULL, &error);
if (error != NULL) {
fprintf(stderr, "%s\n", error->message);
return 1;
}
-
- e_book_get_contacts(book, query, &contacts, &error);
- if (error != NULL) {
- fprintf(stderr, "%s\n", error->message);
- return 1;
- }
-
+
for (c = contacts; c; c = c->next) {
dump_as_vcard(E_CONTACT(c->data), 1);
}