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