コード例 #1
0
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);
	}
}
コード例 #2
0
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);

}
コード例 #3
0
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);

}
コード例 #4
0
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;
}
コード例 #5
0
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;
}
コード例 #6
0
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;
}