From a0fd4cd595bd0fe6eb4015ea9050170319b16546 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 19 Jun 2013 15:04:38 +0000 Subject: google: Export CalDAV and CardDAV endpoints According to: https://developers.google.com/google-apps/calendar/caldav/v2/guide/ https://developers.google.com/google-apps/carddav/ See: https://bugzilla.gnome.org/show_bug.cgi?id=686804 https://bugzilla.gnome.org/show_bug.cgi?id=688364 --- (limited to 'src/goabackend/goagoogleprovider.c') diff --git a/src/goabackend/goagoogleprovider.c b/src/goabackend/goagoogleprovider.c index 79f5f73..740c08e 100644 --- a/src/goabackend/goagoogleprovider.c +++ b/src/goabackend/goagoogleprovider.c @@ -385,6 +385,7 @@ build_object (GoaProvider *provider, gboolean contacts_enabled; gboolean chat_enabled; gboolean documents_enabled; + const gchar *email_address; account = NULL; mail = NULL; @@ -419,6 +420,7 @@ build_object (GoaProvider *provider, } account = goa_object_get_account (GOA_OBJECT (object)); + email_address = goa_account_get_identity (account); /* Email */ mail = goa_object_get_mail (GOA_OBJECT (object)); @@ -427,8 +429,6 @@ build_object (GoaProvider *provider, { if (mail == NULL) { - const gchar *email_address; - email_address = goa_account_get_identity (account); mail = goa_mail_skeleton_new (); g_object_set (G_OBJECT (mail), "email-address", email_address, @@ -457,8 +457,19 @@ build_object (GoaProvider *provider, { if (calendar == NULL) { + gchar *uri_caldav; + + uri_caldav = g_strconcat ("https://apidata.googleusercontent.com/caldav/v2/", + email_address, + "/user", + NULL); + calendar = goa_calendar_skeleton_new (); + g_object_set (G_OBJECT (calendar), + "uri", uri_caldav, + NULL); goa_object_skeleton_set_calendar (object, calendar); + g_free (uri_caldav); } } else @@ -475,6 +486,9 @@ build_object (GoaProvider *provider, if (contacts == NULL) { contacts = goa_contacts_skeleton_new (); + g_object_set (G_OBJECT (contacts), + "uri", "https://www.googleapis.com/.well-known/carddav", + NULL); goa_object_skeleton_set_contacts (object, contacts); } }