evolution-data-server r9811 - in trunk/addressbook: . backends/google backends/groupwise libebook libedata-book
- From: msuman svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution-data-server r9811 - in trunk/addressbook: . backends/google backends/groupwise libebook libedata-book
- Date: Mon, 8 Dec 2008 09:04:26 +0000 (UTC)
Author: msuman
Date: Mon Dec 8 09:04:26 2008
New Revision: 9811
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9811&view=rev
Log:
Patch from Sasa Ostrouska <saxa droplinegnome org>: Fix for bug #270376 (Provide Skype as an entry for storing IM information).
Modified:
trunk/addressbook/ChangeLog
trunk/addressbook/backends/google/e-book-backend-google.c
trunk/addressbook/backends/groupwise/e-book-backend-groupwise.c
trunk/addressbook/libebook/e-contact.c
trunk/addressbook/libebook/e-contact.h
trunk/addressbook/libebook/e-vcard.h
trunk/addressbook/libedata-book/e-book-backend-sexp.c
Modified: trunk/addressbook/backends/google/e-book-backend-google.c
==============================================================================
--- trunk/addressbook/backends/google/e-book-backend-google.c (original)
+++ trunk/addressbook/backends/google/e-book-backend-google.c Mon Dec 8 09:04:26 2008
@@ -51,11 +51,11 @@
static EBookBackendSyncStatus e_book_backend_status_from_google_book_error (GoogleBookError error_code);
static EBookBackendSyncStatus
-e_book_backend_google_create_contact (EBookBackendSync *backend,
- EDataBook *book,
- guint32 opid,
- const char *vcard_str,
- EContact **out_contact)
+e_book_backend_google_create_contact (EBookBackendSync *backend,
+ EDataBook *book,
+ guint32 opid,
+ const char *vcard_str,
+ EContact **out_contact)
{
EBookBackendGooglePrivate *priv;
EBookBackendSyncStatus status = GNOME_Evolution_Addressbook_OtherError;
@@ -69,18 +69,18 @@
*out_contact = NULL;
if (priv->mode != GNOME_Evolution_Addressbook_MODE_REMOTE) {
- return GNOME_Evolution_Addressbook_OfflineUnavailable;
+ return GNOME_Evolution_Addressbook_OfflineUnavailable;
}
contact = e_contact_new_from_vcard (vcard_str);
google_book_add_contact (priv->book, contact, out_contact, &error);
g_object_unref (contact);
if (error) {
- status = e_book_backend_status_from_google_book_error (error->code);
- __debug__ ("Creating contact failed: %s", error->message);
- g_clear_error (&error);
- *out_contact = NULL;
- return status;
+ status = e_book_backend_status_from_google_book_error (error->code);
+ __debug__ ("Creating contact failed: %s", error->message);
+ g_clear_error (&error);
+ *out_contact = NULL;
+ return status;
}
return GNOME_Evolution_Addressbook_Success;
@@ -88,10 +88,10 @@
static EBookBackendSyncStatus
e_book_backend_google_remove_contacts (EBookBackendSync *backend,
- EDataBook *book,
- guint32 opid,
- GList *id_list,
- GList **ids)
+ EDataBook *book,
+ guint32 opid,
+ GList *id_list,
+ GList **ids)
{
EBookBackendGooglePrivate *priv;
EBookBackendSyncStatus status = GNOME_Evolution_Addressbook_OtherError;
@@ -103,37 +103,37 @@
*ids = NULL;
if (priv->mode != GNOME_Evolution_Addressbook_MODE_REMOTE) {
- return GNOME_Evolution_Addressbook_OfflineUnavailable;
+ return GNOME_Evolution_Addressbook_OfflineUnavailable;
}
for (id_iter = id_list; id_iter; id_iter = id_iter->next) {
- GError *error = NULL;
- const char *uid;
+ GError *error = NULL;
+ const char *uid;
- uid = id_iter->data;
- google_book_remove_contact (priv->book, uid, &error);
- if (error) {
- /* Only last error will be reported */
- status = e_book_backend_status_from_google_book_error (error->code);
- __debug__ ("Deleting contact %s failed: %s", uid, error->message);
- g_clear_error (&error);
- } else {
- *ids = g_list_append (*ids, g_strdup (uid));
- }
+ uid = id_iter->data;
+ google_book_remove_contact (priv->book, uid, &error);
+ if (error) {
+ /* Only last error will be reported */
+ status = e_book_backend_status_from_google_book_error (error->code);
+ __debug__ ("Deleting contact %s failed: %s", uid, error->message);
+ g_clear_error (&error);
+ } else {
+ *ids = g_list_append (*ids, g_strdup (uid));
+ }
}
if (NULL == *ids) {
- return status;
+ return status;
}
return GNOME_Evolution_Addressbook_Success;
}
static EBookBackendSyncStatus
-e_book_backend_google_modify_contact (EBookBackendSync *backend,
- EDataBook *book,
- guint32 opid,
- const char *vcard_str,
- EContact **out_contact)
+e_book_backend_google_modify_contact (EBookBackendSync *backend,
+ EDataBook *book,
+ guint32 opid,
+ const char *vcard_str,
+ EContact **out_contact)
{
EBookBackendGooglePrivate *priv;
EBookBackendSyncStatus status = GNOME_Evolution_Addressbook_OtherError;
@@ -147,29 +147,29 @@
*out_contact = NULL;
if (priv->mode != GNOME_Evolution_Addressbook_MODE_REMOTE) {
- return GNOME_Evolution_Addressbook_OfflineUnavailable;
+ return GNOME_Evolution_Addressbook_OfflineUnavailable;
}
contact = e_contact_new_from_vcard (vcard_str);
google_book_update_contact (priv->book, contact, out_contact, &error);
g_object_unref (contact);
if (error) {
- status = e_book_backend_status_from_google_book_error (error->code);
- __debug__ ("Modifying contact failed: %s", error->message);
- g_clear_error (&error);
- *out_contact = NULL;
- return status;
+ status = e_book_backend_status_from_google_book_error (error->code);
+ __debug__ ("Modifying contact failed: %s", error->message);
+ g_clear_error (&error);
+ *out_contact = NULL;
+ return status;
}
return GNOME_Evolution_Addressbook_Success;
}
static EBookBackendSyncStatus
-e_book_backend_google_get_contact (EBookBackendSync *backend,
- EDataBook *book,
- guint32 opid,
- const char *uid,
- char **vcard_str)
+e_book_backend_google_get_contact (EBookBackendSync *backend,
+ EDataBook *book,
+ guint32 opid,
+ const char *uid,
+ char **vcard_str)
{
EBookBackendGooglePrivate *priv;
EBookBackendSyncStatus status = GNOME_Evolution_Addressbook_OtherError;
@@ -181,10 +181,10 @@
contact = google_book_get_contact (priv->book, uid, &error);
if (error) {
- status = e_book_backend_status_from_google_book_error (error->code);
- __debug__ ("Getting contact with uid %s failed: %s", uid, error->message);
- g_clear_error (&error);
- return status;
+ status = e_book_backend_status_from_google_book_error (error->code);
+ __debug__ ("Getting contact with uid %s failed: %s", uid, error->message);
+ g_clear_error (&error);
+ return status;
}
*vcard_str = e_vcard_to_string (E_VCARD (contact), EVC_FORMAT_VCARD_30);
g_object_unref (contact);
@@ -194,10 +194,10 @@
static EBookBackendSyncStatus
e_book_backend_google_get_contact_list (EBookBackendSync *backend,
- EDataBook *book,
- guint32 opid,
- const char *query,
- GList **contacts)
+ EDataBook *book,
+ guint32 opid,
+ const char *query,
+ GList **contacts)
{
EBookBackendGooglePrivate *priv;
EBookBackendSyncStatus status = GNOME_Evolution_Addressbook_OtherError;
@@ -212,24 +212,24 @@
all_contacts = google_book_get_all_contacts (priv->book, &error);
if (error) {
- status = e_book_backend_status_from_google_book_error (error->code);
- __debug__ ("Getting all contacts failed: %s", error->message);
- g_clear_error (&error);
- return status;
+ status = e_book_backend_status_from_google_book_error (error->code);
+ __debug__ ("Getting all contacts failed: %s", error->message);
+ g_clear_error (&error);
+ return status;
}
sexp = e_book_backend_sexp_new (query);
while (all_contacts) {
- EContact *contact;
+ EContact *contact;
- contact = all_contacts->data;
- if (e_book_backend_sexp_match_contact (sexp, contact)) {
- char *vcard_str;
- vcard_str = e_vcard_to_string (E_VCARD (contact), EVC_FORMAT_VCARD_30);
- *contacts = g_list_append (*contacts, vcard_str);
- }
- g_object_unref (contact);
- all_contacts = g_list_delete_link (all_contacts, all_contacts);
+ contact = all_contacts->data;
+ if (e_book_backend_sexp_match_contact (sexp, contact)) {
+ char *vcard_str;
+ vcard_str = e_vcard_to_string (E_VCARD (contact), EVC_FORMAT_VCARD_30);
+ *contacts = g_list_append (*contacts, vcard_str);
+ }
+ g_object_unref (contact);
+ all_contacts = g_list_delete_link (all_contacts, all_contacts);
}
g_object_unref (sexp);
@@ -244,8 +244,8 @@
priv = GET_PRIVATE (user_data);
for (iter = priv->bookviews; iter; iter = iter->next) {
- g_object_ref (contact);
- e_data_book_view_notify_update (E_DATA_BOOK_VIEW (iter->data), contact);
+ g_object_ref (contact);
+ e_data_book_view_notify_update (E_DATA_BOOK_VIEW (iter->data), contact);
}
}
@@ -257,7 +257,7 @@
priv = GET_PRIVATE (user_data);
for (iter = priv->bookviews; iter; iter = iter->next) {
- e_data_book_view_notify_remove (E_DATA_BOOK_VIEW (iter->data), g_strdup (uid));
+ e_data_book_view_notify_remove (E_DATA_BOOK_VIEW (iter->data), g_strdup (uid));
}
}
@@ -269,8 +269,8 @@
priv = GET_PRIVATE (user_data);
for (iter = priv->bookviews; iter; iter = iter->next) {
- g_object_ref (contact);
- e_data_book_view_notify_update (E_DATA_BOOK_VIEW (iter->data), contact);
+ g_object_ref (contact);
+ e_data_book_view_notify_update (E_DATA_BOOK_VIEW (iter->data), contact);
}
}
@@ -283,19 +283,19 @@
priv = GET_PRIVATE (user_data);
if (error) {
- status = e_book_backend_status_from_google_book_error (error->code);
- __debug__ ("Book-view query failed: %s", error->message);
- status = e_book_backend_status_from_google_book_error (error->code);
- g_clear_error (&error);
+ status = e_book_backend_status_from_google_book_error (error->code);
+ __debug__ ("Book-view query failed: %s", error->message);
+ status = e_book_backend_status_from_google_book_error (error->code);
+ g_clear_error (&error);
}
for (iter = priv->bookviews; iter; iter = iter->next) {
- e_data_book_view_notify_complete (E_DATA_BOOK_VIEW (iter->data), GNOME_Evolution_Addressbook_Success);
+ e_data_book_view_notify_complete (E_DATA_BOOK_VIEW (iter->data), GNOME_Evolution_Addressbook_Success);
}
}
static void
e_book_backend_google_start_book_view (EBookBackend *backend,
- EDataBookView *bookview)
+ EDataBookView *bookview)
{
EBookBackendGooglePrivate *priv;
GList *cached_contacts;
@@ -314,18 +314,18 @@
google_book_set_live_mode (priv->book, TRUE);
cached_contacts = google_book_get_all_contacts_in_live_mode (priv->book);
while (cached_contacts) {
- EContact *contact = cached_contacts->data;
+ EContact *contact = cached_contacts->data;
- e_data_book_view_notify_update (bookview, contact);
- g_object_unref (contact);
- cached_contacts = g_list_delete_link (cached_contacts, cached_contacts);
+ e_data_book_view_notify_update (bookview, contact);
+ g_object_unref (contact);
+ cached_contacts = g_list_delete_link (cached_contacts, cached_contacts);
}
e_data_book_view_notify_complete (bookview, GNOME_Evolution_Addressbook_Success);
}
static void
e_book_backend_google_stop_book_view (EBookBackend *backend,
- EDataBookView *bookview)
+ EDataBookView *bookview)
{
EBookBackendGooglePrivate *priv;
@@ -336,17 +336,17 @@
e_data_book_view_unref (bookview);
if (NULL == priv->bookviews) {
- google_book_set_live_mode (priv->book, FALSE);
+ google_book_set_live_mode (priv->book, FALSE);
}
}
static EBookBackendSyncStatus
e_book_backend_google_authenticate_user (EBookBackendSync *backend,
- EDataBook *book,
- guint32 opid,
- const char *username,
- const char *password,
- const char *auth_method)
+ EDataBook *book,
+ guint32 opid,
+ const char *username,
+ const char *password,
+ const char *auth_method)
{
EBookBackendGooglePrivate *priv;
EBookBackendSyncStatus status = GNOME_Evolution_Addressbook_Success;
@@ -358,42 +358,42 @@
priv = GET_PRIVATE (backend);
if (priv->mode != GNOME_Evolution_Addressbook_MODE_REMOTE) {
- return GNOME_Evolution_Addressbook_Success;
+ return GNOME_Evolution_Addressbook_Success;
}
if (NULL == username || username[0] == 0) {
- return GNOME_Evolution_Addressbook_AuthenticationFailed;
+ return GNOME_Evolution_Addressbook_AuthenticationFailed;
}
g_object_get (G_OBJECT (priv->book),
- "username", &book_username,
- NULL);
+ "username", &book_username,
+ NULL);
match = (0 == strcmp (username, book_username));
g_free (book_username);
if (FALSE == match) {
- g_warning ("Username given when loading source and on authentication did not match!");
- return GNOME_Evolution_Addressbook_OtherError;
+ g_warning ("Username given when loading source and on authentication did not match!");
+ return GNOME_Evolution_Addressbook_OtherError;
}
google_book_connect_to_google (priv->book, password, &error);
if (error) {
- status = e_book_backend_status_from_google_book_error (error->code);
- __debug__ ("Authentication failed: %s", error->message);
- status = e_book_backend_status_from_google_book_error (error->code);
- g_clear_error (&error);
+ status = e_book_backend_status_from_google_book_error (error->code);
+ __debug__ ("Authentication failed: %s", error->message);
+ status = e_book_backend_status_from_google_book_error (error->code);
+ g_clear_error (&error);
} else {
- e_book_backend_notify_writable (E_BOOK_BACKEND (backend), TRUE);
+ e_book_backend_notify_writable (E_BOOK_BACKEND (backend), TRUE);
}
return status;
}
static EBookBackendSyncStatus
-e_book_backend_google_get_supported_auth_methods (EBookBackendSync *backend,
- EDataBook *book,
- guint32 opid,
- GList **methods)
+e_book_backend_google_get_supported_auth_methods (EBookBackendSync *backend,
+ EDataBook *book,
+ guint32 opid,
+ GList **methods)
{
char *auth_method;
@@ -405,10 +405,10 @@
}
static EBookBackendSyncStatus
-e_book_backend_google_get_required_fields (EBookBackendSync *backend,
- EDataBook *book,
- guint32 opid,
- GList **fields_out)
+e_book_backend_google_get_required_fields (EBookBackendSync *backend,
+ EDataBook *book,
+ guint32 opid,
+ GList **fields_out)
{
__debug__ (G_STRFUNC);
@@ -417,36 +417,39 @@
}
static EBookBackendSyncStatus
-e_book_backend_google_get_supported_fields (EBookBackendSync *backend,
- EDataBook *book,
- guint32 opid,
- GList **fields_out)
+e_book_backend_google_get_supported_fields (EBookBackendSync *backend,
+ EDataBook *book,
+ guint32 opid,
+ GList **fields_out)
{
const int supported_fields[] =
{
- E_CONTACT_FULL_NAME,
- E_CONTACT_EMAIL_1,
- E_CONTACT_EMAIL_2,
- E_CONTACT_EMAIL_3,
- E_CONTACT_EMAIL_4,
- E_CONTACT_ADDRESS_LABEL_HOME,
- E_CONTACT_ADDRESS_LABEL_WORK,
- E_CONTACT_ADDRESS_LABEL_OTHER,
- E_CONTACT_PHONE_HOME,
- E_CONTACT_PHONE_HOME_FAX,
- E_CONTACT_PHONE_BUSINESS,
- E_CONTACT_PHONE_BUSINESS_FAX,
- E_CONTACT_PHONE_MOBILE,
- E_CONTACT_PHONE_PAGER,
- E_CONTACT_IM_AIM,
- E_CONTACT_IM_JABBER,
- E_CONTACT_IM_YAHOO,
- E_CONTACT_IM_MSN,
- E_CONTACT_IM_ICQ,
- E_CONTACT_ADDRESS,
- E_CONTACT_ADDRESS_HOME,
- E_CONTACT_ADDRESS_WORK,
- E_CONTACT_ADDRESS_OTHER
+ E_CONTACT_FULL_NAME,
+ E_CONTACT_EMAIL_1,
+ E_CONTACT_EMAIL_2,
+ E_CONTACT_EMAIL_3,
+ E_CONTACT_EMAIL_4,
+ E_CONTACT_ADDRESS_LABEL_HOME,
+ E_CONTACT_ADDRESS_LABEL_WORK,
+ E_CONTACT_ADDRESS_LABEL_OTHER,
+ E_CONTACT_PHONE_HOME,
+ E_CONTACT_PHONE_HOME_FAX,
+ E_CONTACT_PHONE_BUSINESS,
+ E_CONTACT_PHONE_BUSINESS_FAX,
+ E_CONTACT_PHONE_MOBILE,
+ E_CONTACT_PHONE_PAGER,
+ E_CONTACT_IM_AIM,
+ E_CONTACT_IM_JABBER,
+ E_CONTACT_IM_YAHOO,
+ E_CONTACT_IM_MSN,
+ E_CONTACT_IM_ICQ,
+ E_CONTACT_IM_SKYPE,
+ E_CONTACT_IM_GADUGADU,
+ E_CONTACT_IM_GROUPWISE,
+ E_CONTACT_ADDRESS,
+ E_CONTACT_ADDRESS_HOME,
+ E_CONTACT_ADDRESS_WORK,
+ E_CONTACT_ADDRESS_OTHER
};
GList *fields = NULL;
int i;
@@ -454,10 +457,10 @@
__debug__ (G_STRFUNC);
for (i = 0; i < G_N_ELEMENTS (supported_fields); i++) {
- const char *field_name;
+ const char *field_name;
- field_name = e_contact_field_name (supported_fields[i]);
- fields = g_list_append (fields, g_strdup (field_name));
+ field_name = e_contact_field_name (supported_fields[i]);
+ fields = g_list_append (fields, g_strdup (field_name));
}
*fields_out = fields;
@@ -465,20 +468,20 @@
}
static EBookBackendSyncStatus
-e_book_backend_google_get_changes (EBookBackendSync *backend,
- EDataBook *book,
- guint32 opid,
- const char *change_id,
- GList **changes_out)
+e_book_backend_google_get_changes (EBookBackendSync *backend,
+ EDataBook *book,
+ guint32 opid,
+ const char *change_id,
+ GList **changes_out)
{
__debug__ (G_STRFUNC);
return GNOME_Evolution_Addressbook_OtherError;
}
static EBookBackendSyncStatus
-e_book_backend_google_remove (EBookBackendSync *backend,
- EDataBook *book,
- guint32 opid)
+e_book_backend_google_remove (EBookBackendSync *backend,
+ EDataBook *book,
+ guint32 opid)
{
__debug__ (G_STRFUNC);
return GNOME_Evolution_Addressbook_Success;
@@ -493,8 +496,8 @@
static GNOME_Evolution_Addressbook_CallStatus
e_book_backend_google_load_source (EBookBackend *backend,
- ESource *source,
- gboolean only_if_exists)
+ ESource *source,
+ gboolean only_if_exists)
{
EBookBackendGooglePrivate *priv = GET_PRIVATE (backend);
const char *refresh_interval_str, *use_ssl_str, *use_cache_str;
@@ -503,15 +506,15 @@
const char *username;
if (priv->book) {
- g_warning ("Source already loaded!");
- return GNOME_Evolution_Addressbook_OtherError;
+ g_warning ("Source already loaded!");
+ return GNOME_Evolution_Addressbook_OtherError;
}
username = e_source_get_property (source, "username");
if (NULL == username || username[0] == '\0') {
- g_warning ("No or empty username!");
- return GNOME_Evolution_Addressbook_OtherError;
+ g_warning ("No or empty username!");
+ return GNOME_Evolution_Addressbook_OtherError;
}
refresh_interval_str = e_source_get_property (source, "refresh-interval");
@@ -519,37 +522,37 @@
use_cache_str = e_source_get_property (source, "offline_sync");
if (refresh_interval_str) {
- if (1 != sscanf (refresh_interval_str, "%u", &refresh_interval)) {
- g_warning ("Could not parse refresh-interval!");
- refresh_interval = 3600;
- }
+ if (1 != sscanf (refresh_interval_str, "%u", &refresh_interval)) {
+ g_warning ("Could not parse refresh-interval!");
+ refresh_interval = 3600;
+ }
}
use_ssl = TRUE;
if (use_ssl_str) {
- if (0 == g_ascii_strcasecmp (use_ssl_str, "false") || 0 == strcmp (use_ssl_str, "0"))
- use_ssl = FALSE;
+ if (0 == g_ascii_strcasecmp (use_ssl_str, "false") || 0 == strcmp (use_ssl_str, "0"))
+ use_ssl = FALSE;
}
use_cache = TRUE;
if (use_cache_str) {
- if (0 == g_ascii_strcasecmp (use_cache_str, "false") || 0 == strcmp (use_cache_str, "0"))
- use_cache = FALSE;
+ if (0 == g_ascii_strcasecmp (use_cache_str, "false") || 0 == strcmp (use_cache_str, "0"))
+ use_cache = FALSE;
}
priv->book = google_book_new (username, use_cache);
g_object_set (G_OBJECT (priv->book),
- "refresh-interval", refresh_interval,
- "use-ssl", use_ssl,
- NULL);
+ "refresh-interval", refresh_interval,
+ "use-ssl", use_ssl,
+ NULL);
g_object_connect (G_OBJECT (priv->book),
- "signal::contact-added", G_CALLBACK (on_google_book_contact_added), backend,
- "signal::contact-changed", G_CALLBACK (on_google_book_contact_changed), backend,
- "signal::contact-removed", G_CALLBACK (on_google_book_contact_removed), backend,
- "signal::sequence-complete", G_CALLBACK (on_google_book_sequence_complete), backend,
- "signal::auth-required", G_CALLBACK (on_google_book_auth_required), backend,
- NULL);
+ "signal::contact-added", G_CALLBACK (on_google_book_contact_added), backend,
+ "signal::contact-changed", G_CALLBACK (on_google_book_contact_changed), backend,
+ "signal::contact-removed", G_CALLBACK (on_google_book_contact_removed), backend,
+ "signal::sequence-complete", G_CALLBACK (on_google_book_sequence_complete), backend,
+ "signal::auth-required", G_CALLBACK (on_google_book_auth_required), backend,
+ NULL);
__debug__ (G_STRFUNC);
@@ -583,19 +586,19 @@
__debug__ (G_STRFUNC);
if (mode == priv->mode) {
- return;
+ return;
}
priv->mode = mode;
if (NULL == priv->book) {
- return;
+ return;
}
if (mode == GNOME_Evolution_Addressbook_MODE_REMOTE) {
- google_book_set_offline_mode (priv->book, FALSE);
+ google_book_set_offline_mode (priv->book, FALSE);
} else {
- google_book_set_offline_mode (priv->book, TRUE);
+ google_book_set_offline_mode (priv->book, TRUE);
}
}
@@ -607,13 +610,13 @@
__debug__ (G_STRFUNC);
while (priv->bookviews) {
- e_data_book_view_unref (priv->bookviews->data);
- priv->bookviews = g_list_delete_link (priv->bookviews,
- priv->bookviews);
+ e_data_book_view_unref (priv->bookviews->data);
+ priv->bookviews = g_list_delete_link (priv->bookviews,
+ priv->bookviews);
}
if (priv->book) {
- g_object_unref (priv->book);
- priv->book = NULL;
+ g_object_unref (priv->book);
+ priv->book = NULL;
}
G_OBJECT_CLASS (e_book_backend_google_parent_class)->dispose (object);
@@ -641,23 +644,23 @@
g_type_class_add_private (klass, sizeof (EBookBackendGooglePrivate));
/* Set the virtual methods. */
- backend_class->load_source = e_book_backend_google_load_source;
- backend_class->get_static_capabilities = e_book_backend_google_get_static_capabilities;
- backend_class->start_book_view = e_book_backend_google_start_book_view;
- backend_class->stop_book_view = e_book_backend_google_stop_book_view;
- backend_class->cancel_operation = e_book_backend_google_cancel_operation;
- backend_class->set_mode = e_book_backend_google_set_mode;
- sync_class->remove_sync = e_book_backend_google_remove;
- sync_class->create_contact_sync = e_book_backend_google_create_contact;
- sync_class->remove_contacts_sync = e_book_backend_google_remove_contacts;
- sync_class->modify_contact_sync = e_book_backend_google_modify_contact;
- sync_class->get_contact_sync = e_book_backend_google_get_contact;
- sync_class->get_contact_list_sync = e_book_backend_google_get_contact_list;
- sync_class->get_changes_sync = e_book_backend_google_get_changes;
- sync_class->authenticate_user_sync = e_book_backend_google_authenticate_user;
- sync_class->get_supported_fields_sync = e_book_backend_google_get_supported_fields;
- sync_class->get_required_fields_sync = e_book_backend_google_get_required_fields;
- sync_class->get_supported_auth_methods_sync = e_book_backend_google_get_supported_auth_methods;
+ backend_class->load_source = e_book_backend_google_load_source;
+ backend_class->get_static_capabilities = e_book_backend_google_get_static_capabilities;
+ backend_class->start_book_view = e_book_backend_google_start_book_view;
+ backend_class->stop_book_view = e_book_backend_google_stop_book_view;
+ backend_class->cancel_operation = e_book_backend_google_cancel_operation;
+ backend_class->set_mode = e_book_backend_google_set_mode;
+ sync_class->remove_sync = e_book_backend_google_remove;
+ sync_class->create_contact_sync = e_book_backend_google_create_contact;
+ sync_class->remove_contacts_sync = e_book_backend_google_remove_contacts;
+ sync_class->modify_contact_sync = e_book_backend_google_modify_contact;
+ sync_class->get_contact_sync = e_book_backend_google_get_contact;
+ sync_class->get_contact_list_sync = e_book_backend_google_get_contact_list;
+ sync_class->get_changes_sync = e_book_backend_google_get_changes;
+ sync_class->authenticate_user_sync = e_book_backend_google_authenticate_user;
+ sync_class->get_supported_fields_sync = e_book_backend_google_get_supported_fields;
+ sync_class->get_required_fields_sync = e_book_backend_google_get_required_fields;
+ sync_class->get_supported_auth_methods_sync = e_book_backend_google_get_supported_auth_methods;
object_class->dispose = e_book_backend_google_dispose;
object_class->finalize = e_book_backend_google_finalize;
Modified: trunk/addressbook/backends/groupwise/e-book-backend-groupwise.c
==============================================================================
--- trunk/addressbook/backends/groupwise/e-book-backend-groupwise.c (original)
+++ trunk/addressbook/backends/groupwise/e-book-backend-groupwise.c Mon Dec 8 09:04:26 2008
@@ -178,6 +178,7 @@
GList *yahoo_list = NULL;
GList *gadugadu_list = NULL;
GList *msn_list = NULL;
+ GList *skype_list = NULL;
GList *jabber_list = NULL;
GList *groupwise_list = NULL;
IMAddress *address;
@@ -204,10 +205,14 @@
im_field_id = E_CONTACT_IM_AIM;
im_attr_list = &aim_list;
}
- else if ( g_str_equal (address->service, "msn")) {
+ else if (g_str_equal (address->service, "msn")) {
im_field_id = E_CONTACT_IM_MSN;
im_attr_list = &msn_list;
}
+ else if (g_str_equal (address->service, "skype")) {
+ im_field_id = E_CONTACT_IM_SKYPE;
+ im_attr_list = &skype_list;
+ }
else if (g_str_equal (address->service, "yahoo")) {
im_field_id = E_CONTACT_IM_YAHOO;
im_attr_list = &yahoo_list;
@@ -240,6 +245,7 @@
e_contact_set_attributes (contact, E_CONTACT_IM_YAHOO, yahoo_list);
e_contact_set_attributes (contact, E_CONTACT_IM_GADUGADU, gadugadu_list);
e_contact_set_attributes (contact, E_CONTACT_IM_MSN, msn_list);
+ e_contact_set_attributes (contact, E_CONTACT_IM_SKYPE, skype_list);
e_contact_set_attributes (contact, E_CONTACT_IM_GROUPWISE, groupwise_list);
free_attr_list (aim_list);
@@ -248,6 +254,7 @@
free_attr_list (yahoo_list);
free_attr_list (gadugadu_list);
free_attr_list (msn_list);
+ free_attr_list (skype_list);
free_attr_list (groupwise_list);
}
@@ -280,6 +287,7 @@
append_ims_to_list (&im_list, contact, "gadu-gadu", E_CONTACT_IM_GADUGADU);
append_ims_to_list (&im_list, contact, "icq", E_CONTACT_IM_ICQ);
append_ims_to_list (&im_list, contact, "msn", E_CONTACT_IM_MSN);
+ append_ims_to_list (&im_list, contact, "skype", E_CONTACT_IM_SKYPE);
append_ims_to_list (&im_list, contact, "jabber", E_CONTACT_IM_JABBER);
append_ims_to_list (&im_list, contact, "nov", E_CONTACT_IM_GROUPWISE);
if (im_list)
@@ -3457,6 +3465,7 @@
fields = g_list_append (fields, g_strdup (e_contact_field_name (E_CONTACT_IM_YAHOO)));
fields = g_list_append (fields, g_strdup (e_contact_field_name (E_CONTACT_IM_GADUGADU)));
fields = g_list_append (fields, g_strdup (e_contact_field_name (E_CONTACT_IM_MSN)));
+ fields = g_list_append (fields, g_strdup (e_contact_field_name (E_CONTACT_IM_SKYPE)));
fields = g_list_append (fields, g_strdup (e_contact_field_name (E_CONTACT_IM_JABBER)));
fields = g_list_append (fields, g_strdup (e_contact_field_name (E_CONTACT_IM_GROUPWISE)));
fields = g_list_append (fields, g_strdup (e_contact_field_name (E_CONTACT_ADDRESS_WORK)));
Modified: trunk/addressbook/libebook/e-contact.c
==============================================================================
--- trunk/addressbook/libebook/e-contact.c (original)
+++ trunk/addressbook/libebook/e-contact.c Mon Dec 8 09:04:26 2008
@@ -273,7 +273,15 @@
/* Geo information */
STRUCT_FIELD (E_CONTACT_GEO, EVC_GEO, "geo", N_("Geographic Information"), FALSE, geo_getter, geo_setter, e_contact_geo_get_type),
- MULTI_LIST_FIELD (E_CONTACT_TEL, EVC_TEL, "phone", N_("Telephone"), FALSE)
+ MULTI_LIST_FIELD (E_CONTACT_TEL, EVC_TEL, "phone", N_("Telephone"), FALSE),
+
+ ATTR_TYPE_STR_FIELD (E_CONTACT_IM_SKYPE_HOME_1, EVC_X_SKYPE, "im_skype_home_1", N_("Skype Home Name 1"), FALSE, "HOME", 0),
+ ATTR_TYPE_STR_FIELD (E_CONTACT_IM_SKYPE_HOME_2, EVC_X_SKYPE, "im_skype_home_2", N_("Skype Home Name 2"), FALSE, "HOME", 1),
+ ATTR_TYPE_STR_FIELD (E_CONTACT_IM_SKYPE_HOME_3, EVC_X_SKYPE, "im_skype_home_3", N_("Skype Home Name 3"), FALSE, "HOME", 2),
+ ATTR_TYPE_STR_FIELD (E_CONTACT_IM_SKYPE_WORK_1, EVC_X_SKYPE, "im_skype_work_1", N_("Skype Work Name 1"), FALSE, "WORK", 0),
+ ATTR_TYPE_STR_FIELD (E_CONTACT_IM_SKYPE_WORK_2, EVC_X_SKYPE, "im_skype_work_2", N_("Skype Work Name 2"), FALSE, "WORK", 1),
+ ATTR_TYPE_STR_FIELD (E_CONTACT_IM_SKYPE_WORK_3, EVC_X_SKYPE, "im_skype_work_3", N_("Skype Work Name 3"), FALSE, "WORK", 2),
+ MULTI_LIST_FIELD (E_CONTACT_IM_SKYPE, EVC_X_SKYPE, "im_skype", N_("Skype Name List"), FALSE)
};
#undef LIST_ELEM_STR_FIELD
Modified: trunk/addressbook/libebook/e-contact.h
==============================================================================
--- trunk/addressbook/libebook/e-contact.h (original)
+++ trunk/addressbook/libebook/e-contact.h Mon Dec 8 09:04:26 2008
@@ -199,6 +199,14 @@
E_CONTACT_TEL, /* list of strings */
+ E_CONTACT_IM_SKYPE_HOME_1, /* Synthetic string field */
+ E_CONTACT_IM_SKYPE_HOME_2, /* Synthetic string field */
+ E_CONTACT_IM_SKYPE_HOME_3, /* Synthetic string field */
+ E_CONTACT_IM_SKYPE_WORK_1, /* Synthetic string field */
+ E_CONTACT_IM_SKYPE_WORK_2, /* Synthetic string field */
+ E_CONTACT_IM_SKYPE_WORK_3, /* Synthetic string field */
+ E_CONTACT_IM_SKYPE, /* Multi-valued */
+
E_CONTACT_FIELD_LAST,
E_CONTACT_FIELD_FIRST = E_CONTACT_UID,
Modified: trunk/addressbook/libebook/e-vcard.h
==============================================================================
--- trunk/addressbook/libebook/e-vcard.h (original)
+++ trunk/addressbook/libebook/e-vcard.h Mon Dec 8 09:04:26 2008
@@ -81,6 +81,7 @@
#define EVC_X_LIST "X-EVOLUTION-LIST"
#define EVC_X_MANAGER "X-EVOLUTION-MANAGER"
#define EVC_X_MSN "X-MSN"
+#define EVC_X_SKYPE "X-SKYPE"
#define EVC_X_RADIO "X-EVOLUTION-RADIO"
#define EVC_X_SPOUSE "X-EVOLUTION-SPOUSE"
#define EVC_X_TELEX "X-EVOLUTION-TELEX"
@@ -88,7 +89,7 @@
#define EVC_X_VIDEO_URL "X-EVOLUTION-VIDEO-URL"
#define EVC_X_WANTS_HTML "X-MOZILLA-HTML"
#define EVC_X_YAHOO "X-YAHOO"
-#define EVC_X_GADUGADU "X-GADUGADU"
+#define EVC_X_GADUGADU "X-GADUGADU"
#define EVC_X_GROUPWISE "X-GROUPWISE"
#define EVC_X_BOOK_URI "X-EVOLUTION-BOOK-URI"
Modified: trunk/addressbook/libedata-book/e-book-backend-sexp.c
==============================================================================
--- trunk/addressbook/libedata-book/e-book-backend-sexp.c (original)
+++ trunk/addressbook/libedata-book/e-book-backend-sexp.c Mon Dec 8 09:04:26 2008
@@ -76,6 +76,13 @@
}
static gboolean
+compare_im_skype (EContact *contact, const char *str,
+ char *(*compare)(const char*, const char*))
+{
+ return compare_im (contact, str, compare, E_CONTACT_IM_SKYPE);
+}
+
+static gboolean
compare_im_icq (EContact *contact, const char *str,
char *(*compare)(const char*, const char*))
{
@@ -266,6 +273,7 @@
NORMAL_PROP ( E_CONTACT_NOTE, "note"),
LIST_PROP ( "im_aim", compare_im_aim ),
LIST_PROP ( "im_msn", compare_im_msn ),
+ LIST_PROP ( "im_skype", compare_im_skype ),
LIST_PROP ( "im_icq", compare_im_icq ),
LIST_PROP ( "im_jabber", compare_im_jabber ),
LIST_PROP ( "im_yahoo", compare_im_yahoo ),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]