Blame src/goabackend/goaobjectskeletonutils.c

Packit Service c6b9b0
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
Packit Service c6b9b0
/*
Packit Service c6b9b0
 * Copyright © 2012 – 2017 Red Hat, Inc.
Packit Service c6b9b0
 *
Packit Service c6b9b0
 * This library is free software; you can redistribute it and/or
Packit Service c6b9b0
 * modify it under the terms of the GNU Lesser General Public
Packit Service c6b9b0
 * License as published by the Free Software Foundation; either
Packit Service c6b9b0
 * version 2 of the License, or (at your option) any later version.
Packit Service c6b9b0
 *
Packit Service c6b9b0
 * This library is distributed in the hope that it will be useful,
Packit Service c6b9b0
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service c6b9b0
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service c6b9b0
 * Lesser General Public License for more details.
Packit Service c6b9b0
 *
Packit Service c6b9b0
 * You should have received a copy of the GNU Lesser General
Packit Service c6b9b0
 * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
Packit Service c6b9b0
 */
Packit Service c6b9b0
Packit Service c6b9b0
#include "config.h"
Packit Service c6b9b0
Packit Service c6b9b0
#include <glib/gi18n-lib.h>
Packit Service c6b9b0
Packit Service c6b9b0
#include "goaobjectskeletonutils.h"
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_object_skeleton_attach_calendar (GoaObjectSkeleton *object,
Packit Service c6b9b0
                                     const gchar       *uri,
Packit Service c6b9b0
                                     gboolean           calendar_enabled,
Packit Service c6b9b0
                                     gboolean           accept_ssl_errors)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GoaCalendar *calendar;
Packit Service c6b9b0
Packit Service c6b9b0
  calendar = goa_object_get_calendar (GOA_OBJECT (object));
Packit Service c6b9b0
  if (calendar_enabled)
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (calendar == NULL)
Packit Service c6b9b0
        {
Packit Service c6b9b0
          calendar = goa_calendar_skeleton_new ();
Packit Service c6b9b0
          g_object_set (G_OBJECT (calendar),
Packit Service c6b9b0
                        "accept-ssl-errors", accept_ssl_errors,
Packit Service c6b9b0
                        "uri", uri,
Packit Service c6b9b0
                        NULL);
Packit Service c6b9b0
          goa_object_skeleton_set_calendar (object, calendar);
Packit Service c6b9b0
        }
Packit Service c6b9b0
    }
Packit Service c6b9b0
  else
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (calendar != NULL)
Packit Service c6b9b0
        goa_object_skeleton_set_calendar (object, NULL);
Packit Service c6b9b0
    }
Packit Service c6b9b0
  g_clear_object (&calendar);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_object_skeleton_attach_files (GoaObjectSkeleton *object,
Packit Service c6b9b0
                                  const gchar       *uri,
Packit Service c6b9b0
                                  gboolean           files_enabled,
Packit Service c6b9b0
                                  gboolean           accept_ssl_errors)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GoaFiles *files;
Packit Service c6b9b0
Packit Service c6b9b0
  files = goa_object_get_files (GOA_OBJECT (object));
Packit Service c6b9b0
  if (files_enabled)
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (files == NULL)
Packit Service c6b9b0
        {
Packit Service c6b9b0
          files = goa_files_skeleton_new ();
Packit Service c6b9b0
          g_object_set (G_OBJECT (files),
Packit Service c6b9b0
                        "accept-ssl-errors", accept_ssl_errors,
Packit Service c6b9b0
                        "uri", uri,
Packit Service c6b9b0
                        NULL);
Packit Service c6b9b0
          goa_object_skeleton_set_files (object, files);
Packit Service c6b9b0
        }
Packit Service c6b9b0
    }
Packit Service c6b9b0
  else
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (files != NULL)
Packit Service c6b9b0
        goa_object_skeleton_set_files (object, NULL);
Packit Service c6b9b0
    }
Packit Service c6b9b0
  g_clear_object (&files);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_object_skeleton_attach_contacts (GoaObjectSkeleton *object,
Packit Service c6b9b0
                                     const gchar       *uri,
Packit Service c6b9b0
                                     gboolean           contacts_enabled,
Packit Service c6b9b0
                                     gboolean           accept_ssl_errors)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GoaContacts *contacts;
Packit Service c6b9b0
Packit Service c6b9b0
  contacts = goa_object_get_contacts (GOA_OBJECT (object));
Packit Service c6b9b0
  if (contacts_enabled)
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (contacts == NULL)
Packit Service c6b9b0
        {
Packit Service c6b9b0
          contacts = goa_contacts_skeleton_new ();
Packit Service c6b9b0
          g_object_set (G_OBJECT (contacts),
Packit Service c6b9b0
                        "accept-ssl-errors", accept_ssl_errors,
Packit Service c6b9b0
                        "uri", uri,
Packit Service c6b9b0
                        NULL);
Packit Service c6b9b0
          goa_object_skeleton_set_contacts (object, contacts);
Packit Service c6b9b0
        }
Packit Service c6b9b0
    }
Packit Service c6b9b0
  else
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (contacts != NULL)
Packit Service c6b9b0
        goa_object_skeleton_set_contacts (object, NULL);
Packit Service c6b9b0
    }
Packit Service c6b9b0
  g_clear_object (&contacts);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_object_skeleton_attach_documents (GoaObjectSkeleton *object,
Packit Service c6b9b0
                                      gboolean           documents_enabled)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GoaDocuments *documents;
Packit Service c6b9b0
Packit Service c6b9b0
  documents = goa_object_get_documents (GOA_OBJECT (object));
Packit Service c6b9b0
  if (documents_enabled)
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (documents == NULL)
Packit Service c6b9b0
        {
Packit Service c6b9b0
          documents = goa_documents_skeleton_new ();
Packit Service c6b9b0
          goa_object_skeleton_set_documents (object, documents);
Packit Service c6b9b0
        }
Packit Service c6b9b0
    }
Packit Service c6b9b0
  else
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (documents != NULL)
Packit Service c6b9b0
        goa_object_skeleton_set_documents (object, NULL);
Packit Service c6b9b0
    }
Packit Service c6b9b0
  g_clear_object (&documents);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_object_skeleton_attach_chat (GoaObjectSkeleton *object,
Packit Service c6b9b0
                                 gboolean           chat_enabled)
Packit Service c6b9b0
{
Packit Service c6b9b0
#ifdef GOA_TELEPATHY_ENABLED
Packit Service c6b9b0
  GoaChat *chat;
Packit Service c6b9b0
Packit Service c6b9b0
  chat = goa_object_get_chat (GOA_OBJECT (object));
Packit Service c6b9b0
  if (chat_enabled)
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (chat == NULL)
Packit Service c6b9b0
        {
Packit Service c6b9b0
          chat = goa_chat_skeleton_new ();
Packit Service c6b9b0
          goa_object_skeleton_set_chat (object, chat);
Packit Service c6b9b0
        }
Packit Service c6b9b0
    }
Packit Service c6b9b0
  else
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (chat != NULL)
Packit Service c6b9b0
        goa_object_skeleton_set_chat (object, NULL);
Packit Service c6b9b0
    }
Packit Service c6b9b0
  g_clear_object (&chat);
Packit Service c6b9b0
#else
Packit Service c6b9b0
  g_debug("Compiled without Telepathy support, chat is disabled");
Packit Service c6b9b0
  goa_object_skeleton_set_chat (object, NULL);
Packit Service c6b9b0
#endif
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_object_skeleton_attach_photos (GoaObjectSkeleton *object,
Packit Service c6b9b0
                                   gboolean           photos_enabled)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GoaPhotos *photos;
Packit Service c6b9b0
Packit Service c6b9b0
  photos = goa_object_get_photos (GOA_OBJECT (object));
Packit Service c6b9b0
Packit Service c6b9b0
  if (photos_enabled)
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (photos == NULL)
Packit Service c6b9b0
        {
Packit Service c6b9b0
          photos = goa_photos_skeleton_new ();
Packit Service c6b9b0
          goa_object_skeleton_set_photos (object, photos);
Packit Service c6b9b0
        }
Packit Service c6b9b0
    }
Packit Service c6b9b0
  else
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (photos != NULL)
Packit Service c6b9b0
        goa_object_skeleton_set_photos (object, NULL);
Packit Service c6b9b0
    }
Packit Service c6b9b0
  g_clear_object (&photos);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_object_skeleton_attach_printers (GoaObjectSkeleton *object,
Packit Service c6b9b0
                                     gboolean           printers_enabled)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GoaPrinters *printers;
Packit Service c6b9b0
Packit Service c6b9b0
  printers = goa_object_get_printers (GOA_OBJECT (object));
Packit Service c6b9b0
Packit Service c6b9b0
  if (printers_enabled)
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (printers == NULL)
Packit Service c6b9b0
        {
Packit Service c6b9b0
          printers = goa_printers_skeleton_new ();
Packit Service c6b9b0
          goa_object_skeleton_set_printers (object, printers);
Packit Service c6b9b0
        }
Packit Service c6b9b0
    }
Packit Service c6b9b0
  else
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (printers != NULL)
Packit Service c6b9b0
        goa_object_skeleton_set_printers (object, NULL);
Packit Service c6b9b0
    }
Packit Service c6b9b0
  g_clear_object (&printers);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_object_skeleton_attach_maps (GoaObjectSkeleton *object,
Packit Service c6b9b0
                                 gboolean           maps_enabled)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GoaMaps *maps;
Packit Service c6b9b0
Packit Service c6b9b0
  maps = goa_object_get_maps (GOA_OBJECT (object));
Packit Service c6b9b0
Packit Service c6b9b0
  if (maps_enabled)
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (maps == NULL)
Packit Service c6b9b0
        {
Packit Service c6b9b0
          maps = goa_maps_skeleton_new ();
Packit Service c6b9b0
          goa_object_skeleton_set_maps (object, maps);
Packit Service c6b9b0
        }
Packit Service c6b9b0
    }
Packit Service c6b9b0
  else
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (maps != NULL)
Packit Service c6b9b0
        goa_object_skeleton_set_maps (object, NULL);
Packit Service c6b9b0
    }
Packit Service c6b9b0
  g_clear_object (&maps);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_object_skeleton_attach_todo (GoaObjectSkeleton *object,
Packit Service c6b9b0
                                 gboolean           todo_enabled)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GoaTodo *todo = NULL;
Packit Service c6b9b0
Packit Service c6b9b0
  todo = goa_object_get_todo (GOA_OBJECT (object));
Packit Service c6b9b0
  if (todo_enabled)
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (todo == NULL)
Packit Service c6b9b0
        {
Packit Service c6b9b0
          todo = goa_todo_skeleton_new ();
Packit Service c6b9b0
          goa_object_skeleton_set_todo (object, todo);
Packit Service c6b9b0
        }
Packit Service c6b9b0
    }
Packit Service c6b9b0
  else
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (todo != NULL)
Packit Service c6b9b0
        goa_object_skeleton_set_todo (object, NULL);
Packit Service c6b9b0
    }
Packit Service c6b9b0
  g_clear_object (&todo);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_object_skeleton_attach_read_later (GoaObjectSkeleton *object,
Packit Service c6b9b0
                                       gboolean           read_later_enabled)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GoaReadLater *readlater = NULL;
Packit Service c6b9b0
Packit Service c6b9b0
  readlater = goa_object_get_read_later (GOA_OBJECT (object));
Packit Service c6b9b0
  if (read_later_enabled)
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (readlater == NULL)
Packit Service c6b9b0
        {
Packit Service c6b9b0
          readlater = goa_read_later_skeleton_new ();
Packit Service c6b9b0
          goa_object_skeleton_set_read_later (object, readlater);
Packit Service c6b9b0
        }
Packit Service c6b9b0
    }
Packit Service c6b9b0
  else
Packit Service c6b9b0
    {
Packit Service c6b9b0
      if (readlater != NULL)
Packit Service c6b9b0
        goa_object_skeleton_set_read_later (object, NULL);
Packit Service c6b9b0
    }
Packit Service c6b9b0
  g_clear_object (&readlater);
Packit Service c6b9b0
}