[evolution-kolab] EBookBackendKolab: Convert get_backend_property() method.



commit 13fb24f915e17b9f7bcb63b90d4c9bd57b4e4169
Author: Matthew Barnes <mbarnes redhat com>
Date:   Mon Apr 1 12:08:58 2013 -0400

    EBookBackendKolab: Convert get_backend_property() method.

 src/addressbook/e-book-backend-kolab.c |   42 +++++++++++--------------------
 1 files changed, 15 insertions(+), 27 deletions(-)
---
diff --git a/src/addressbook/e-book-backend-kolab.c b/src/addressbook/e-book-backend-kolab.c
index 8291d15..c978358 100644
--- a/src/addressbook/e-book-backend-kolab.c
+++ b/src/addressbook/e-book-backend-kolab.c
@@ -714,41 +714,29 @@ book_backend_kolab_get_contact_list_uids (EBookBackendSync *backend,
        g_list_free (econtact_list);
 }
 
-static gboolean
-book_backend_kolab_get_backend_property (EBookBackendSync *backend,
-                                         EDataBook *book,
-                                         GCancellable *cancellable,
-                                         const gchar *prop_name,
-                                         gchar **prop_value,
-                                         GError **error)
+static gchar *
+book_backend_kolab_get_backend_property (EBookBackend *backend,
+                                         const gchar *prop_name)
 {
-       /* EBookBackendKolab *self = NULL; */
-       /* EBookBackendKolabPrivate *priv = NULL; */
-       gboolean processed = TRUE;
-
-       g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
-       e_return_data_book_error_val_if_fail (E_IS_BOOK_BACKEND_KOLAB (backend), 
E_DATA_BOOK_STATUS_INVALID_ARG);
-       e_return_data_book_error_val_if_fail (E_IS_DATA_BOOK (book), E_DATA_BOOK_STATUS_INVALID_ARG);
-       (void)cancellable; /* cancellable not used */
-       e_return_data_book_error_val_if_fail (prop_name != NULL, E_DATA_BOOK_STATUS_INVALID_ARG);
-       e_return_data_book_error_val_if_fail (prop_value != NULL && *prop_value == NULL, 
E_DATA_BOOK_STATUS_INVALID_ARG);
-
-       /* self = E_BOOK_BACKEND_KOLAB (backend); */
-       /* priv = E_BOOK_BACKEND_KOLAB_PRIVATE (self); */
+       g_return_val_if_fail (prop_name != NULL, NULL);
 
        if (g_str_equal (prop_name, CLIENT_BACKEND_PROPERTY_CAPABILITIES)) {
-               *prop_value = g_strdup ("net,bulk-removes,contact-lists,do-initial-query");
+               return g_strdup ("net,bulk-removes,contact-lists,do-initial-query");
        } else if (g_str_equal (prop_name, BOOK_BACKEND_PROPERTY_REQUIRED_FIELDS)) {
-               *prop_value = g_strdup (e_contact_field_name (E_CONTACT_FILE_AS));
+               return g_strdup (e_contact_field_name (E_CONTACT_FILE_AS));
        } else if (g_str_equal (prop_name, BOOK_BACKEND_PROPERTY_SUPPORTED_FIELDS)) {
+               gchar *prop_value;
+
                GSList *fields = kolab_utils_contact_get_supported_fields ();
-               *prop_value = e_data_book_string_slist_to_comma_string (fields);
+               prop_value = e_data_book_string_slist_to_comma_string (fields);
                g_slist_free (fields);
-       } else {
-               processed = FALSE;
+
+               return prop_value;
        }
 
-       return processed;
+       /* Chain up to parent's get_backend_property() method. */
+       return E_BOOK_BACKEND_CLASS (e_book_backend_kolab_parent_class)->
+               get_backend_property (backend, prop_name);
 }
 
 #if 0  /* FIXME Delete this once kolab_mail_access_try_password_sync()
@@ -1071,13 +1059,13 @@ e_book_backend_kolab_class_init (EBookBackendKolabClass *klass)
        object_class->finalize = e_book_backend_kolab_finalize;
 
        /* Backend parent class methods methods not covered in the sync backend part */
+       backend_class->get_backend_property = book_backend_kolab_get_backend_property;
        backend_class->start_view = book_backend_kolab_start_view;
        backend_class->stop_view = book_backend_kolab_stop_view;
 
        /* Sync backend class functions */
        sync_class->open_sync = book_backend_kolab_open;
        sync_class->refresh_sync = book_backend_kolab_refresh;
-       sync_class->get_backend_property_sync = book_backend_kolab_get_backend_property;
        sync_class->create_contacts_sync = book_backend_kolab_create_contacts;
        sync_class->remove_contacts_sync = book_backend_kolab_remove_contacts;
        sync_class->modify_contacts_sync = book_backend_kolab_modify_contacts;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]