static void e_book_backend_webdav_get_backend_property (EBookBackend *backend, EDataBook *book, guint32 opid, GCancellable *cancellable, const gchar *prop_name) { g_return_if_fail (prop_name != NULL); if (g_str_equal (prop_name, CLIENT_BACKEND_PROPERTY_CAPABILITIES)) { e_data_book_respond_get_backend_property (book, opid, NULL, "net,do-initial-query,contact-lists"); } else if (g_str_equal (prop_name, BOOK_BACKEND_PROPERTY_REQUIRED_FIELDS)) { e_data_book_respond_get_backend_property (book, opid, NULL, e_contact_field_name (E_CONTACT_FILE_AS)); } else if (g_str_equal (prop_name, BOOK_BACKEND_PROPERTY_SUPPORTED_FIELDS)) { gchar *fields_str; GSList *fields = NULL; gint i; /* we support everything */ for (i = 1; i < E_CONTACT_FIELD_LAST; ++i) { fields = g_slist_append (fields, (gpointer) e_contact_field_name (i)); } fields_str = e_data_book_string_slist_to_comma_string (fields); e_data_book_respond_get_backend_property (book, opid, NULL, fields_str); g_slist_free (fields); g_free (fields_str); } else { E_BOOK_BACKEND_CLASS (e_book_backend_webdav_parent_class)->get_backend_property (backend, book, opid, cancellable, prop_name); } }
static void setup_and_start_view (EBookClientView *view) { GError *error = NULL; GSList *field_list; g_signal_connect (view, "objects-added", G_CALLBACK (objects_added), NULL); g_signal_connect (view, "objects-removed", G_CALLBACK (objects_removed), NULL); g_signal_connect (view, "complete", G_CALLBACK (complete), NULL); field_list = g_slist_prepend (NULL, (gpointer) e_contact_field_name (E_CONTACT_UID)); field_list = g_slist_prepend (field_list, (gpointer) e_contact_field_name (E_CONTACT_REV)); e_book_client_view_set_fields_of_interest (view, field_list, &error); g_slist_free (field_list); if (error) report_error ("set fields of interest", &error); loading_view = TRUE; e_book_client_view_start (view, &error); if (error) report_error ("start view", &error); }
static void setup_and_start_view (EBookClientView *view, GMainLoop *loop) { GError *error = NULL; GSList uid_field_list = { 0, }; g_signal_connect (view, "objects-added", G_CALLBACK (objects_added), loop); g_signal_connect (view, "objects-removed", G_CALLBACK (objects_removed), loop); g_signal_connect (view, "complete", G_CALLBACK (complete), loop); uid_field_list.data = (gpointer) e_contact_field_name (E_CONTACT_UID); if (uids_only) e_book_client_view_set_fields_of_interest (view, &uid_field_list, &error); else e_book_client_view_set_fields_of_interest (view, NULL, &error); if (error) g_error ("set fields of interest: %s", error->message); loading_view = TRUE; e_book_client_view_start (view, &error); if (error) g_error ("start view: %s", error->message); }
static EBookBackendSyncStatus e_book_backend_scalix_get_required_fields (EBookBackendSync * backend, EDataBook * book, guint32 opid, GList ** fields) { *fields = NULL; *fields = g_list_append (*fields, g_strdup (e_contact_field_name (E_CONTACT_FILE_AS))); *fields = g_list_append (*fields, g_strdup (e_contact_field_name (E_CONTACT_FULL_NAME))); *fields = g_list_append (*fields, g_strdup (e_contact_field_name (E_CONTACT_FAMILY_NAME))); return GNOME_Evolution_Addressbook_Success; }
static void e_book_backend_vcf_get_required_fields (EBookBackendSync *backend, EDataBook *book, guint32 opid, GList **fields_out, GError **perror) { GList *fields = NULL; fields = g_list_append (fields , g_strdup (e_contact_field_name (E_CONTACT_FILE_AS))); *fields_out = fields; }
static void e_book_backend_vcf_get_supported_fields (EBookBackendSync *backend, EDataBook *book, guint32 opid, GList **fields_out, GError **perror) { GList *fields = NULL; gint i; /* XXX we need a way to say "we support everything", since the vcf backend does */ for (i = 0; i < E_CONTACT_FIELD_LAST; i++) fields = g_list_append (fields, (gchar *)e_contact_field_name (i)); *fields_out = fields; }