diff options
Diffstat (limited to 'addressbook/backend/pas/pas-book.c')
-rw-r--r-- | addressbook/backend/pas/pas-book.c | 53 |
1 files changed, 51 insertions, 2 deletions
diff --git a/addressbook/backend/pas/pas-book.c b/addressbook/backend/pas/pas-book.c index 907ff6482a..f571bc4044 100644 --- a/addressbook/backend/pas/pas-book.c +++ b/addressbook/backend/pas/pas-book.c @@ -1,3 +1,4 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * pas-book.c * @@ -90,6 +91,17 @@ pas_book_queue_modify_card (PASBook *book, const char *vcard) } static void +pas_book_queue_get_all_cards (PASBook *book) +{ + PASRequest *req; + + req = g_new0 (PASRequest, 1); + req->op = GetAllCards; + + pas_book_queue_request (book, req); +} + +static void pas_book_queue_check_connection (PASBook *book) { PASRequest *req; @@ -147,6 +159,15 @@ impl_Evolution_Book_modify_card (PortableServer_Servant servant, } static void +impl_Evolution_Book_get_all_cards (PortableServer_Servant servant, + CORBA_Environment *ev) +{ + PASBook *book = PAS_BOOK (bonobo_object_from_servant (servant)); + + pas_book_queue_get_all_cards (book); +} + +static void impl_Evolution_Book_check_connection (PortableServer_Servant servant, CORBA_Environment *ev) { @@ -253,14 +274,15 @@ pas_book_respond_open (PASBook *book, */ void pas_book_respond_create (PASBook *book, - Evolution_BookListener_CallStatus status) + Evolution_BookListener_CallStatus status, + const char *id) { CORBA_Environment ev; CORBA_exception_init (&ev); Evolution_BookListener_respond_create_card ( - book->priv->listener, status, &ev); + book->priv->listener, status, (char *)id, &ev); if (ev._major != CORBA_NO_EXCEPTION) { g_warning ("pas_book_respond_create: Exception " @@ -315,6 +337,32 @@ pas_book_respond_modify (PASBook *book, } /** + * pas_book_respond_get_cursor: + */ +void +pas_book_respond_get_cursor (PASBook *book, + Evolution_BookListener_CallStatus status, + PASCardCursor *cursor) +{ + CORBA_Environment ev; + CORBA_Object object; + + CORBA_exception_init (&ev); + + object = bonobo_object_corba_objref(BONOBO_OBJECT(cursor)); + + Evolution_BookListener_respond_get_cursor ( + book->priv->listener, status, object, &ev); + + if (ev._major != CORBA_NO_EXCEPTION) { + g_warning ("pas_book_respond_get_cursor: Exception " + "responding to BookListener!\n"); + } + + CORBA_exception_free (&ev); +} + +/** * pas_book_report_connection: */ void @@ -502,6 +550,7 @@ pas_book_get_epv (void) epv->remove_card = impl_Evolution_Book_remove_card; epv->modify_card = impl_Evolution_Book_modify_card; epv->check_connection = impl_Evolution_Book_check_connection; + epv->get_all_cards = impl_Evolution_Book_get_all_cards; return epv; |