diff options
Diffstat (limited to 'addressbook/backend/ebook/e-book-listener.c')
-rw-r--r-- | addressbook/backend/ebook/e-book-listener.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/addressbook/backend/ebook/e-book-listener.c b/addressbook/backend/ebook/e-book-listener.c index 0aaf5483a5..e1d47d70d2 100644 --- a/addressbook/backend/ebook/e-book-listener.c +++ b/addressbook/backend/ebook/e-book-listener.c @@ -188,6 +188,20 @@ e_book_listener_queue_link_status (EBookListener *listener, } static void +e_book_listener_queue_writable_status (EBookListener *listener, + gboolean writable) +{ + EBookListenerResponse *resp; + + resp = g_new0 (EBookListenerResponse, 1); + + resp->op = WritableStatusEvent; + resp->writable = writable; + + e_book_listener_queue_response (listener, resp); +} + +static void e_book_listener_queue_authentication_response (EBookListener *listener, EBookStatus status) { @@ -394,6 +408,16 @@ impl_BookListener_report_connection_status (PortableServer_Servant servant, listener, connected); } +static void +impl_BookListener_report_writable (PortableServer_Servant servant, + const CORBA_boolean writable, + CORBA_Environment *ev) +{ + EBookListener *listener = E_BOOK_LISTENER (bonobo_object_from_servant (servant)); + + e_book_listener_queue_writable_status (listener, writable); +} + /** * e_book_listener_check_pending: * @listener: the #EBookListener @@ -627,6 +651,7 @@ e_book_listener_get_epv (void) epv->notifyChangesRequested = impl_BookListener_respond_get_changes; epv->notifyConnectionStatus = impl_BookListener_report_connection_status; + epv->notifyWritable = impl_BookListener_report_writable; return epv; } |