[gnome-online-accounts] backend: Use goa_object_skeleton_attach_calendar helper



commit e60c5761c8ec9474f4457a68899d36d6bd55e4e8
Author: Christophe Fergeau <cfergeau redhat com>
Date:   Sun May 3 11:29:41 2015 +0200

    backend: Use goa_object_skeleton_attach_calendar helper
    
    https://bugzilla.gnome.org/show_bug.cgi?id=761510

 src/goabackend/goaexchangeprovider.c |   19 ++-----------------
 src/goabackend/goagoogleprovider.c   |   33 +++++----------------------------
 src/goabackend/goaowncloudprovider.c |   30 +++++-------------------------
 3 files changed, 12 insertions(+), 70 deletions(-)
---
diff --git a/src/goabackend/goaexchangeprovider.c b/src/goabackend/goaexchangeprovider.c
index 6f9b3fb..af29ff2 100644
--- a/src/goabackend/goaexchangeprovider.c
+++ b/src/goabackend/goaexchangeprovider.c
@@ -23,6 +23,7 @@
 #include "goaprovider.h"
 #include "goaprovider-priv.h"
 #include "goaexchangeprovider.h"
+#include "goaobjectskeletonutils.h"
 #include "goautils.h"
 
 /**
@@ -105,7 +106,6 @@ build_object (GoaProvider         *provider,
               GError             **error)
 {
   GoaAccount *account;
-  GoaCalendar *calendar;
   GoaContacts *contacts;
   GoaExchange *exchange;
   GoaMail *mail;
@@ -116,7 +116,6 @@ build_object (GoaProvider         *provider,
   gboolean ret;
 
   account = NULL;
-  calendar = NULL;
   contacts = NULL;
   exchange = NULL;
   mail = NULL;
@@ -171,21 +170,8 @@ build_object (GoaProvider         *provider,
     }
 
   /* Calendar */
-  calendar = goa_object_get_calendar (GOA_OBJECT (object));
   calendar_enabled = g_key_file_get_boolean (key_file, group, "CalendarEnabled", NULL);
-  if (calendar_enabled)
-    {
-      if (calendar == NULL)
-        {
-          calendar = goa_calendar_skeleton_new ();
-          goa_object_skeleton_set_calendar (object, calendar);
-        }
-    }
-  else
-    {
-      if (calendar != NULL)
-        goa_object_skeleton_set_calendar (object, NULL);
-    }
+  goa_object_skeleton_attach_calendar (object, NULL, calendar_enabled, FALSE);
 
   /* Contacts */
   contacts = goa_object_get_contacts (GOA_OBJECT (object));
@@ -247,7 +233,6 @@ build_object (GoaProvider         *provider,
  out:
   g_clear_object (&exchange);
   g_clear_object (&contacts);
-  g_clear_object (&calendar);
   g_clear_object (&mail);
   g_clear_object (&password_based);
   return ret;
diff --git a/src/goabackend/goagoogleprovider.c b/src/goabackend/goagoogleprovider.c
index 81bdaab..cd14643 100644
--- a/src/goabackend/goagoogleprovider.c
+++ b/src/goabackend/goagoogleprovider.c
@@ -26,6 +26,7 @@
 #include "goaprovider-priv.h"
 #include "goaoauth2provider.h"
 #include "goagoogleprovider.h"
+#include "goaobjectskeletonutils.h"
 
 /**
  * GoaGoogleProvider:
@@ -322,7 +323,7 @@ build_object (GoaProvider         *provider,
 {
   GoaAccount *account;
   GoaMail *mail;
-  GoaCalendar *calendar;
+  gchar *uri_caldav;
   GoaContacts *contacts;
   GoaChat *chat;
   GoaDocuments *documents;
@@ -342,7 +343,6 @@ build_object (GoaProvider         *provider,
 
   account = NULL;
   mail = NULL;
-  calendar = NULL;
   contacts = NULL;
   chat = NULL;
   documents = NULL;
@@ -395,32 +395,10 @@ build_object (GoaProvider         *provider,
     }
 
   /* Calendar */
-  calendar = goa_object_get_calendar (GOA_OBJECT (object));
   calendar_enabled = g_key_file_get_boolean (key_file, group, "CalendarEnabled", NULL);
-  if (calendar_enabled)
-    {
-      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
-    {
-      if (calendar != NULL)
-        goa_object_skeleton_set_calendar (object, NULL);
-    }
+  uri_caldav = g_strconcat ("https://apidata.googleusercontent.com/caldav/v2/";, email_address, "/user", 
NULL);
+  goa_object_skeleton_attach_calendar (object, uri_caldav, calendar_enabled, FALSE);
+  g_free (uri_caldav);
 
   /* Contacts */
   contacts = goa_object_get_contacts (GOA_OBJECT (object));
@@ -595,7 +573,6 @@ build_object (GoaProvider         *provider,
   g_clear_object (&documents);
   g_clear_object (&chat);
   g_clear_object (&contacts);
-  g_clear_object (&calendar);
   g_clear_object (&mail);
   g_clear_object (&account);
   return ret;
diff --git a/src/goabackend/goaowncloudprovider.c b/src/goabackend/goaowncloudprovider.c
index 2e3171b..72e49ef 100644
--- a/src/goabackend/goaowncloudprovider.c
+++ b/src/goabackend/goaowncloudprovider.c
@@ -28,6 +28,7 @@
 #include "goaprovider.h"
 #include "goaprovider-priv.h"
 #include "goaowncloudprovider.h"
+#include "goaobjectskeletonutils.h"
 #include "goautils.h"
 
 struct _GoaOwncloudProvider
@@ -144,7 +145,7 @@ build_object (GoaProvider         *provider,
               GError             **error)
 {
   GoaAccount *account;
-  GoaCalendar *calendar;
+  gchar *uri_caldav;
   GoaContacts *contacts;
   GoaDocuments *documents;
   GoaFiles *files;
@@ -160,7 +161,6 @@ build_object (GoaProvider         *provider,
   gchar *uri_string;
 
   account = NULL;
-  calendar = NULL;
   contacts = NULL;
   documents = NULL;
   files = NULL;
@@ -204,29 +204,10 @@ build_object (GoaProvider         *provider,
   accept_ssl_errors = g_key_file_get_boolean (key_file, group, "AcceptSslErrors", NULL);
 
   /* Calendar */
-  calendar = goa_object_get_calendar (GOA_OBJECT (object));
   calendar_enabled = g_key_file_get_boolean (key_file, group, "CalendarEnabled", NULL);
-  if (calendar_enabled)
-    {
-      if (calendar == NULL)
-        {
-          gchar *uri_caldav;
-
-          uri_caldav = uri_to_string_with_path (uri, CALDAV_ENDPOINT);
-          calendar = goa_calendar_skeleton_new ();
-          g_object_set (G_OBJECT (calendar),
-                        "accept-ssl-errors", accept_ssl_errors,
-                        "uri", uri_caldav,
-                        NULL);
-          goa_object_skeleton_set_calendar (object, calendar);
-          g_free (uri_caldav);
-        }
-    }
-  else
-    {
-      if (calendar != NULL)
-        goa_object_skeleton_set_calendar (object, NULL);
-    }
+  uri_caldav = uri_to_string_with_path (uri, CALDAV_ENDPOINT);
+  goa_object_skeleton_attach_calendar (object, uri_caldav, calendar_enabled, accept_ssl_errors);
+  g_free (uri_caldav);
 
   /* Contacts */
   contacts = goa_object_get_contacts (GOA_OBJECT (object));
@@ -324,7 +305,6 @@ build_object (GoaProvider         *provider,
   ret = TRUE;
 
  out:
-  g_clear_object (&calendar);
   g_clear_object (&contacts);
   g_clear_object (&documents);
   g_clear_object (&files);


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