[gnome-online-accounts/redhat/rhel-7.0: 3/6] google: Export CalDAV and CardDAV endpoints



commit 0a2b5567898068cb351ace2192ad7333367c374d
Author: Debarshi Ray <debarshir gnome org>
Date:   Wed Jun 19 17:04:38 2013 +0200

    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

 src/goabackend/goagoogleprovider.c |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)
---
diff --git a/src/goabackend/goagoogleprovider.c b/src/goabackend/goagoogleprovider.c
index 1c5c04b..5b413f7 100644
--- a/src/goabackend/goagoogleprovider.c
+++ b/src/goabackend/goagoogleprovider.c
@@ -355,6 +355,7 @@ build_object (GoaProvider         *provider,
   gboolean contacts_enabled;
   gboolean chat_enabled;
   gboolean documents_enabled;
+  const gchar *email_address;
 
   account = NULL;
   mail = NULL;
@@ -389,6 +390,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));
@@ -397,8 +399,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,
@@ -428,8 +428,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
@@ -446,6 +457,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);
         }
     }


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