diff options
Diffstat (limited to 'addressbook/backend')
-rw-r--r-- | addressbook/backend/ebook/.cvsignore | 1 | ||||
-rw-r--r-- | addressbook/backend/ebook/Makefile.am | 14 | ||||
-rw-r--r-- | addressbook/backend/ebook/test-client-list.c | 78 | ||||
-rw-r--r-- | addressbook/backend/pas/pas-backend-file.c | 3 |
4 files changed, 93 insertions, 3 deletions
diff --git a/addressbook/backend/ebook/.cvsignore b/addressbook/backend/ebook/.cvsignore index 158eacf744..f1033573bb 100644 --- a/addressbook/backend/ebook/.cvsignore +++ b/addressbook/backend/ebook/.cvsignore @@ -10,3 +10,4 @@ addressbook-common.c addressbook.h test-card test-client +test-client-list diff --git a/addressbook/backend/ebook/Makefile.am b/addressbook/backend/ebook/Makefile.am index 5619e9ca84..b942ed8bc7 100644 --- a/addressbook/backend/ebook/Makefile.am +++ b/addressbook/backend/ebook/Makefile.am @@ -1,4 +1,4 @@ -bin_PROGRAMS = test-card test-client +bin_PROGRAMS = test-card test-client test-client-list corbadir = $(sysconfdir)/CORBA/servers @@ -65,6 +65,18 @@ test_client_LDADD = \ $(ebook_libs) \ $(top_builddir)/libversit/libversit.la +test_client_list_SOURCES = \ + test-client-list.c + +test_client_list_LDADD = \ + $(GTK_LIBS) \ + $(GNOME_LIBDIR) \ + $(GNOMEGNORBA_LIBS) \ + $(INTLLIBS) \ + -lbonobo \ + $(ebook_libs) \ + $(top_builddir)/libversit/libversit.la + test_card_SOURCES = \ test-card.c diff --git a/addressbook/backend/ebook/test-client-list.c b/addressbook/backend/ebook/test-client-list.c new file mode 100644 index 0000000000..0d65080c13 --- /dev/null +++ b/addressbook/backend/ebook/test-client-list.c @@ -0,0 +1,78 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +#include <config.h> +#include <bonobo.h> +#include <gnome.h> +#include <libgnorba/gnorba.h> + +#include <e-book.h> + +CORBA_Environment ev; +CORBA_ORB orb; + +static void +init_bonobo (int argc, char **argv) +{ + + gnome_CORBA_init_with_popt_table ( + "blah", "0.0", + &argc, argv, NULL, 0, NULL, GNORBA_INIT_SERVER_FUNC, &ev); + + orb = gnome_CORBA_ORB (); + + if (bonobo_init (orb, NULL, NULL) == FALSE) + g_error (_("Could not initialize Bonobo")); + +} + +static void +get_cursor_cb (EBook *book, EBookStatus status, ECardCursor *cursor, gpointer closure) +{ + long length = e_card_cursor_get_length(cursor); + long i; + + printf ("Length: %d\n", length); + for ( i = 0; i < length; i++ ) { + ECard *card = e_card_cursor_get_nth(cursor, i); + char *vcard = e_card_get_vcard(card); + printf("[%s]\n", vcard); + g_free(vcard); + gtk_object_unref(GTK_OBJECT(card)); + } + gtk_object_unref(GTK_OBJECT(cursor)); +} + +static void +book_open_cb (EBook *book, EBookStatus status, gpointer closure) +{ + printf ("Book opened.\n"); + e_book_get_all_cards(book, get_cursor_cb, NULL); +} + +static guint +ebook_create (void) +{ + EBook *book; + + book = e_book_new (); + + if (! e_book_load_uri (book, "file:/tmp/test.db", book_open_cb, NULL)) { + printf ("error calling load_uri!\n"); + } + + + return FALSE; +} + +int +main (int argc, char **argv) +{ + + CORBA_exception_init (&ev); + init_bonobo (argc, argv); + + gtk_idle_add ((GtkFunction) ebook_create, NULL); + + bonobo_main (); + + return 0; +} diff --git a/addressbook/backend/pas/pas-backend-file.c b/addressbook/backend/pas/pas-backend-file.c index 73f4f67fc9..5c108f740a 100644 --- a/addressbook/backend/pas/pas-backend-file.c +++ b/addressbook/backend/pas/pas-backend-file.c @@ -234,7 +234,6 @@ pas_backend_file_build_all_cards_list(PASBackend *backend, /* don't include the version in the list of cards */ if (!strcmp (id, PAS_BACKEND_FILE_VERSION_NAME)) { g_free(id); - continue; } else { g_free(id); @@ -295,7 +294,7 @@ pas_backend_file_process_get_all_cards (PASBackend *backend, gtk_signal_connect(GTK_OBJECT(cursor), "destroy", GTK_SIGNAL_FUNC(cursor_destroy), cursor_data); - + pas_book_respond_get_cursor ( book, (db_error == 0 |