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



commit e41ec43139f832b753263fec201e0c26fd0f7e18
Author: Christophe Fergeau <cfergeau redhat com>
Date:   Sun May 3 18:38:33 2015 +0200

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

 src/goabackend/goagoogleprovider.c      |   19 +------------------
 src/goabackend/goaowncloudprovider.c    |   19 +------------------
 src/goabackend/goawindowsliveprovider.c |   20 ++------------------
 3 files changed, 4 insertions(+), 54 deletions(-)
---
diff --git a/src/goabackend/goagoogleprovider.c b/src/goabackend/goagoogleprovider.c
index 9ca8dc3..0e17978 100644
--- a/src/goabackend/goagoogleprovider.c
+++ b/src/goabackend/goagoogleprovider.c
@@ -325,7 +325,6 @@ build_object (GoaProvider         *provider,
   GoaMail *mail;
   gchar *uri_caldav;
   GoaChat *chat;
-  GoaDocuments *documents;
   GoaPhotos *photos;
   GoaPrinters *printers;
   gchar *uri_drive;
@@ -343,7 +342,6 @@ build_object (GoaProvider         *provider,
   account = NULL;
   mail = NULL;
   chat = NULL;
-  documents = NULL;
   photos = NULL;
   printers = NULL;
   ret = FALSE;
@@ -426,22 +424,8 @@ build_object (GoaProvider         *provider,
 #endif
 
   /* Documents */
-  documents = goa_object_get_documents (GOA_OBJECT (object));
   documents_enabled = g_key_file_get_boolean (key_file, group, "DocumentsEnabled", NULL);
-
-  if (documents_enabled)
-    {
-      if (documents == NULL)
-        {
-          documents = goa_documents_skeleton_new ();
-          goa_object_skeleton_set_documents (object, documents);
-        }
-    }
-  else
-    {
-      if (documents != NULL)
-        goa_object_skeleton_set_documents (object, NULL);
-    }
+  goa_object_skeleton_attach_documents (object, documents_enabled);
 
   /* Photos */
   photos = goa_object_get_photos (GOA_OBJECT (object));
@@ -535,7 +519,6 @@ build_object (GoaProvider         *provider,
  out:
   g_clear_object (&printers);
   g_clear_object (&photos);
-  g_clear_object (&documents);
   g_clear_object (&chat);
   g_clear_object (&mail);
   g_clear_object (&account);
diff --git a/src/goabackend/goaowncloudprovider.c b/src/goabackend/goaowncloudprovider.c
index 9fa44cf..8c6754d 100644
--- a/src/goabackend/goaowncloudprovider.c
+++ b/src/goabackend/goaowncloudprovider.c
@@ -148,7 +148,6 @@ build_object (GoaProvider         *provider,
   gchar *uri_caldav;
   gchar *uri_carddav;
   gchar *uri_webdav;
-  GoaDocuments *documents;
   GoaPasswordBased *password_based;
   SoupURI *uri;
   gboolean accept_ssl_errors;
@@ -161,7 +160,6 @@ build_object (GoaProvider         *provider,
   gchar *uri_string;
 
   account = NULL;
-  documents = NULL;
   password_based = NULL;
   uri = NULL;
   uri_string = NULL;
@@ -214,22 +212,8 @@ build_object (GoaProvider         *provider,
   g_free (uri_carddav);
 
   /* Documents */
-  documents = goa_object_get_documents (GOA_OBJECT (object));
   documents_enabled = g_key_file_get_boolean (key_file, group, "DocumentsEnabled", NULL);
-
-  if (documents_enabled)
-    {
-      if (documents == NULL)
-        {
-          documents = goa_documents_skeleton_new ();
-          goa_object_skeleton_set_documents (object, documents);
-        }
-    }
-  else
-    {
-      if (documents != NULL)
-        goa_object_skeleton_set_documents (object, NULL);
-    }
+  goa_object_skeleton_attach_documents (object, documents_enabled);
 
   /* Files */
   files_enabled = g_key_file_get_boolean (key_file, group, "FilesEnabled", NULL);
@@ -265,7 +249,6 @@ build_object (GoaProvider         *provider,
   ret = TRUE;
 
  out:
-  g_clear_object (&documents);
   g_clear_object (&password_based);
   g_clear_pointer (&uri, (GDestroyNotify *) soup_uri_free);
   g_free (uri_string);
diff --git a/src/goabackend/goawindowsliveprovider.c b/src/goabackend/goawindowsliveprovider.c
index 5e810cb..6dcb4d4 100644
--- a/src/goabackend/goawindowsliveprovider.c
+++ b/src/goabackend/goawindowsliveprovider.c
@@ -27,6 +27,7 @@
 #include "goaprovider-priv.h"
 #include "goaoauth2provider.h"
 #include "goawindowsliveprovider.h"
+#include "goaobjectskeletonutils.h"
 
 /**
  * GoaWindowsLiveProvider:
@@ -305,7 +306,6 @@ build_object (GoaProvider         *provider,
 {
   GoaAccount *account;
   GoaMail *mail;
-  GoaDocuments *documents;
   gboolean mail_enabled;
   gboolean documents_enabled;
   gboolean ret = FALSE;
@@ -313,7 +313,6 @@ build_object (GoaProvider         *provider,
 
   account = NULL;
   mail = NULL;
-  documents = NULL;
 
   /* Chain up */
   if (!GOA_PROVIDER_CLASS (goa_windows_live_provider_parent_class)->build_object (provider,
@@ -359,22 +358,8 @@ build_object (GoaProvider         *provider,
     }
 
   /* Documents */
-  documents = goa_object_get_documents (GOA_OBJECT (object));
   documents_enabled = g_key_file_get_boolean (key_file, group, "DocumentsEnabled", NULL);
-
-  if (documents_enabled)
-    {
-      if (documents == NULL)
-        {
-          documents = goa_documents_skeleton_new ();
-          goa_object_skeleton_set_documents (object, documents);
-        }
-    }
-  else
-    {
-      if (documents != NULL)
-        goa_object_skeleton_set_documents (object, NULL);
-    }
+  goa_object_skeleton_attach_documents (object, documents_enabled);
 
   if (just_added)
     {
@@ -394,7 +379,6 @@ build_object (GoaProvider         *provider,
   ret = TRUE;
 
  out:
-  g_clear_object (&documents);
   g_clear_object (&mail);
   g_clear_object (&account);
   return ret;


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