[gnome-online-accounts] backend: Add goa_object_skeleton_attach_contacts helper



commit 39aab064a153187ce25637a7385790d50a8cad41
Author: Christophe Fergeau <cfergeau redhat com>
Date:   Sun May 3 11:59:17 2015 +0200

    backend: Add goa_object_skeleton_attach_contacts helper
    
    https://bugzilla.gnome.org/show_bug.cgi?id=761510

 src/goabackend/goaobjectskeletonutils.c |   29 +++++++++++++++++++++++++++++
 src/goabackend/goaobjectskeletonutils.h |    5 +++++
 2 files changed, 34 insertions(+), 0 deletions(-)
---
diff --git a/src/goabackend/goaobjectskeletonutils.c b/src/goabackend/goaobjectskeletonutils.c
index 48ae0c7..e037720 100644
--- a/src/goabackend/goaobjectskeletonutils.c
+++ b/src/goabackend/goaobjectskeletonutils.c
@@ -79,3 +79,32 @@ goa_object_skeleton_attach_files (GoaObjectSkeleton *object,
     }
   g_clear_object (&files);
 }
+
+void
+goa_object_skeleton_attach_contacts (GoaObjectSkeleton *object,
+                                     const gchar       *uri,
+                                     gboolean           contacts_enabled,
+                                     gboolean           accept_ssl_errors)
+{
+  GoaContacts *contacts;
+
+  contacts = goa_object_get_contacts (GOA_OBJECT (object));
+  if (contacts_enabled)
+    {
+      if (contacts == NULL)
+        {
+          contacts = goa_contacts_skeleton_new ();
+          g_object_set (G_OBJECT (contacts),
+                        "accept-ssl-errors", accept_ssl_errors,
+                        "uri", uri,
+                        NULL);
+          goa_object_skeleton_set_contacts (object, contacts);
+        }
+    }
+  else
+    {
+      if (contacts != NULL)
+        goa_object_skeleton_set_contacts (object, NULL);
+    }
+  g_clear_object (&contacts);
+}
diff --git a/src/goabackend/goaobjectskeletonutils.h b/src/goabackend/goaobjectskeletonutils.h
index 617c629..c7e5f63 100644
--- a/src/goabackend/goaobjectskeletonutils.h
+++ b/src/goabackend/goaobjectskeletonutils.h
@@ -33,6 +33,11 @@ void             goa_object_skeleton_attach_calendar       (GoaObjectSkeleton *o
                                                             gboolean           calendar_enabled,
                                                             gboolean           accept_ssl_errors);
 
+void             goa_object_skeleton_attach_contacts       (GoaObjectSkeleton *object,
+                                                            const gchar       *uri,
+                                                            gboolean           contacts_enabled,
+                                                            gboolean           accept_ssl_errors);
+
 void             goa_object_skeleton_attach_files          (GoaObjectSkeleton *object,
                                                             const gchar       *uri,
                                                             gboolean           files_enabled,


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