aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/ebook/e-book-listener.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2001-08-14 10:17:04 +0800
committerChris Lahey <clahey@src.gnome.org>2001-08-14 10:17:04 +0800
commit476458f355b639cb725188d9d8e767affa71f4ab (patch)
tree8d6686abbf6334ad7b65aa8ea15895d58e88b6bd /addressbook/backend/ebook/e-book-listener.c
parent3157a507b2074766bbd88300cec543a28418d443 (diff)
downloadgsoc2013-evolution-476458f355b639cb725188d9d8e767affa71f4ab.tar
gsoc2013-evolution-476458f355b639cb725188d9d8e767affa71f4ab.tar.gz
gsoc2013-evolution-476458f355b639cb725188d9d8e767affa71f4ab.tar.bz2
gsoc2013-evolution-476458f355b639cb725188d9d8e767affa71f4ab.tar.lz
gsoc2013-evolution-476458f355b639cb725188d9d8e767affa71f4ab.tar.xz
gsoc2013-evolution-476458f355b639cb725188d9d8e767affa71f4ab.tar.zst
gsoc2013-evolution-476458f355b639cb725188d9d8e767affa71f4ab.zip
Changed get_card to be asyncronous.
2001-08-13 Christopher James Lahey <clahey@ximian.com> * backend/ebook/e-book-listener.c, backend/ebook/e-book-listener.h, backend/ebook/e-book.c, backend/ebook/e-book.h, backend/idl/addressbook.idl, backend/pas/pas-backend-file.c, backend/pas/pas-book.c, backend/pas/pas-book.h: Changed get_card to be asyncronous. * backend/ebook/e-card.c, backend/ebook/test-client.c: Changed these to deal with the new get_card functionality. svn path=/trunk/; revision=11984
Diffstat (limited to 'addressbook/backend/ebook/e-book-listener.c')
-rw-r--r--addressbook/backend/ebook/e-book-listener.c58
1 files changed, 46 insertions, 12 deletions
diff --git a/addressbook/backend/ebook/e-book-listener.c b/addressbook/backend/ebook/e-book-listener.c
index 285c6646b2..aa05a87a2b 100644
--- a/addressbook/backend/ebook/e-book-listener.c
+++ b/addressbook/backend/ebook/e-book-listener.c
@@ -149,6 +149,25 @@ e_book_listener_queue_create_card_response (EBookListener *listener,
}
static void
+e_book_listener_queue_get_vcard_response (EBookListener *listener,
+ EBookStatus status,
+ const char *vcard)
+{
+ EBookListenerResponse *resp;
+
+ if (listener->priv->stopped)
+ return;
+
+ resp = g_new0 (EBookListenerResponse, 1);
+
+ resp->op = GetCardResponse;
+ resp->status = status;
+ resp->vcard = g_strdup (vcard);
+
+ e_book_listener_queue_response (listener, resp);
+}
+
+static void
e_book_listener_queue_get_cursor_response (EBookListener *listener,
EBookStatus status,
GNOME_Evolution_Addressbook_CardCursor cursor)
@@ -319,6 +338,20 @@ impl_BookListener_respond_modify_card (PortableServer_Servant servant,
}
static void
+impl_BookListener_respond_get_vcard (PortableServer_Servant servant,
+ const GNOME_Evolution_Addressbook_BookListener_CallStatus status,
+ const GNOME_Evolution_Addressbook_VCard card,
+ CORBA_Environment *ev)
+{
+ EBookListener *listener = E_BOOK_LISTENER (bonobo_object_from_servant (servant));
+
+ e_book_listener_queue_get_vcard_response (
+ listener,
+ e_book_listener_convert_status (status),
+ g_strdup (card));
+}
+
+static void
impl_BookListener_respond_get_cursor (PortableServer_Servant servant,
const GNOME_Evolution_Addressbook_BookListener_CallStatus status,
const GNOME_Evolution_Addressbook_CardCursor cursor,
@@ -692,24 +725,25 @@ e_book_listener_get_epv (void)
{
POA_GNOME_Evolution_Addressbook_BookListener__epv *epv;
- epv = g_new0 (POA_GNOME_Evolution_Addressbook_BookListener__epv, 1);
+ epv = g_new0 (POA_GNOME_Evolution_Addressbook_BookListener__epv, 1);
- epv->notifyOpenBookProgress = impl_BookListener_report_open_book_progress;
- epv->notifyBookOpened = impl_BookListener_respond_open_book;
+ epv->notifyOpenBookProgress = impl_BookListener_report_open_book_progress;
+ epv->notifyBookOpened = impl_BookListener_respond_open_book;
- epv->notifyCardCreated = impl_BookListener_respond_create_card;
- epv->notifyCardRemoved = impl_BookListener_respond_remove_card;
- epv->notifyCardModified = impl_BookListener_respond_modify_card;
+ epv->notifyCardCreated = impl_BookListener_respond_create_card;
+ epv->notifyCardRemoved = impl_BookListener_respond_remove_card;
+ epv->notifyCardModified = impl_BookListener_respond_modify_card;
epv->notifyAuthenticationResult = impl_BookListener_respond_authentication_result;
- epv->notifySupportedFields = impl_BookListener_response_get_supported_fields;
+ epv->notifySupportedFields = impl_BookListener_response_get_supported_fields;
- epv->notifyCursorRequested = impl_BookListener_respond_get_cursor;
- epv->notifyViewRequested = impl_BookListener_respond_get_view;
- epv->notifyChangesRequested = impl_BookListener_respond_get_changes;
+ epv->notifyCardRequested = impl_BookListener_respond_get_vcard;
+ epv->notifyCursorRequested = impl_BookListener_respond_get_cursor;
+ epv->notifyViewRequested = impl_BookListener_respond_get_view;
+ epv->notifyChangesRequested = impl_BookListener_respond_get_changes;
- epv->notifyConnectionStatus = impl_BookListener_report_connection_status;
- epv->notifyWritable = impl_BookListener_report_writable;
+ epv->notifyConnectionStatus = impl_BookListener_report_connection_status;
+ epv->notifyWritable = impl_BookListener_report_writable;
return epv;
}