From 65438eb13d8d8f82f4a9fde03ed538809fe9be1b Mon Sep 17 00:00:00 2001 From: Chris Toshok Date: Wed, 21 Feb 2001 09:19:15 +0000 Subject: new function. (impl_GNOME_Evolution_Addressbook_Book_getSupportedFields): 2001-02-21 Chris Toshok * backend/pas/pas-book.c (pas_book_queue_get_supported_fields): new function. (impl_GNOME_Evolution_Addressbook_Book_getSupportedFields): track change to idl. (pas_book_respond_get_supported_fields): new function. * backend/pas/pas-book.h: add GetSupportedFields to the PASOperation enum. Also, add a stringlist field to the PASRequest struct. lastly, add a prototype for pas_book_respond_get_supported_fields. * backend/pas/pas-backend.h: remove prototype for pas_backend_get_supported_fields, and remove it from the vtable. * backend/pas/pas-backend.c (pas_backend_get_supported_fields): remove. (pas_backend_class_init): no vtable entry for get_supported_fields anymore. * backend/pas/pas-backend-ldap.c (pas_backend_ldap_process_get_supported_fields): new function. (pas_backend_ldap_process_client_requests): add case for GetSupportedFields. (pas_backend_ldap_class_init): get_supported_fields isn't in vtable anymore. * backend/pas/pas-backend-file.c (pas_backend_file_process_get_supported_fields): new function. (pas_backend_file_process_client_requests): add case for GetSupportedFields. (pas_backend_file_class_init): get_supported_fields isn't in vtable anymore. * backend/idl/addressbook.idl: Book::getSupportedFields now returns void and add BookListener::notifySupportedFields. * backend/ebook/test-client.c (get_fields_cb): new function. (auth_user_cb): track change to e_book_get_supported_fields. * backend/ebook/e-book.c (e_book_do_response_get_supported_fields): new function. (e_book_check_listener_queue): add case GetSupportedFieldsResponse. (e_book_get_supported_fields): switch to async model. * backend/ebook/e-book.h: switch e_book_get_supported_fields to an async model. * backend/ebook/e-book-listener.c (e_book_listener_queue_get_supported_fields_response): new function. (impl_BookListener_response_get_supported_fields): new function. (e_book_listener_get_epv): fill in epv's "notifySupportedFields" * backend/ebook/e-book-listener.h: add an async response for GetSupportedFields and add a stringlist member to the EBookListenerResponse struct. svn path=/trunk/; revision=8316 --- addressbook/backend/pas/pas-backend-file.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'addressbook/backend/pas/pas-backend-file.c') diff --git a/addressbook/backend/pas/pas-backend-file.c b/addressbook/backend/pas/pas-backend-file.c index 94e65c9d81..e46bbd3976 100644 --- a/addressbook/backend/pas/pas-backend-file.c +++ b/addressbook/backend/pas/pas-backend-file.c @@ -1093,6 +1093,20 @@ pas_backend_file_process_authenticate_user (PASBackend *backend, GNOME_Evolution_Addressbook_BookListener_Success); } +static void +pas_backend_file_process_get_supported_fields (PASBackend *backend, + PASBook *book, + PASRequest *req) +{ + EList *fields = e_list_new ((EListCopyFunc)g_strdup, (EListFreeFunc)g_free, NULL); + + printf ("in pas_backend_file_get_supported_fields\n"); + + pas_book_respond_get_supported_fields (book, + GNOME_Evolution_Addressbook_BookListener_Success, + fields); +} + static gboolean can_write (PASBackend *backend) { @@ -1168,6 +1182,10 @@ pas_backend_file_process_client_requests (PASBook *book) case AuthenticateUser: pas_backend_file_process_authenticate_user (backend, book, req); break; + + case GetSupportedFields: + pas_backend_file_process_get_supported_fields (backend, book, req); + break; } g_free (req); @@ -1428,15 +1446,6 @@ pas_backend_file_get_static_capabilities (PASBackend *backend) return g_strdup("local"); } -static int -pas_backend_file_get_supported_fields (PASBackend *backend, - char ***fields) -{ - printf ("in pas_backend_file_get_supported_fields\n"); - *fields = NULL; - return 0; -} - static gboolean pas_backend_file_construct (PASBackendFile *backend) { @@ -1497,7 +1506,6 @@ pas_backend_file_class_init (PASBackendFileClass *klass) parent_class->add_client = pas_backend_file_add_client; parent_class->remove_client = pas_backend_file_remove_client; parent_class->get_static_capabilities = pas_backend_file_get_static_capabilities; - parent_class->get_supported_fields = pas_backend_file_get_supported_fields; object_class->destroy = pas_backend_file_destroy; } -- cgit v1.2.3