aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/ebook/e-book-listener.c
diff options
context:
space:
mode:
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;
}