4
* Authors: Rodrigo Moya <rodrigo.moya@canonical.com>
6
* Copyright 2010 Canonical Ltd.
8
* This program is free software: you can redistribute it and/or modify it
9
* under the terms of the GNU General Public License version 3, as published
10
* by the Free Software Foundation.
12
* This program is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranties of
14
* MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
15
* PURPOSE. See the GNU General Public License for more details.
17
* You should have received a copy of the GNU General Public License along
18
* with this program. If not, see <http://www.gnu.org/licenses/>.
22
#include "syncdaemon-status-info.h"
24
G_DEFINE_TYPE(SyncdaemonStatusInfo, syncdaemon_status_info, G_TYPE_OBJECT)
26
struct _SyncdaemonStatusInfoPrivate {
28
gboolean is_connected;
35
syncdaemon_status_info_finalize (GObject *object)
37
SyncdaemonStatusInfo *sinfo = SYNCDAEMON_STATUS_INFO (object);
39
if (sinfo->priv != NULL) {
43
G_OBJECT_CLASS (syncdaemon_status_info_parent_class)->finalize (object);
47
syncdaemon_status_info_class_init (SyncdaemonStatusInfoClass *klass)
49
GObjectClass *object_class = G_OBJECT_CLASS (klass);
51
object_class->finalize = syncdaemon_status_info_finalize;
55
syncdaemon_status_info_init (SyncdaemonStatusInfo *sinfo)
57
sinfo->priv = g_new0 (SyncdaemonStatusInfoPrivate, 1);
61
* syncdaemon_status_info_new:
63
SyncdaemonStatusInfo *
64
syncdaemon_status_info_new (void)
66
return g_object_new (SYNCDAEMON_TYPE_STATUS_INFO, NULL);
70
* syncdaemon_status_info_new_from_hash_table:
72
SyncdaemonStatusInfo *
73
syncdaemon_status_info_new_from_hash_table (GHashTable *hash)
75
SyncdaemonStatusInfo *sinfo;
77
sinfo = g_object_new (SYNCDAEMON_TYPE_STATUS_INFO, NULL);
79
syncdaemon_status_info_set_description (sinfo, g_hash_table_lookup (hash, "description"));
80
syncdaemon_status_info_set_connected (
82
g_strcmp0 (g_hash_table_lookup (hash, "is_connected"), "True") == 0);
83
syncdaemon_status_info_set_online (
85
g_strcmp0 (g_hash_table_lookup (hash, "is_online"), "True") == 0);
86
syncdaemon_status_info_set_name (sinfo, g_hash_table_lookup (hash, "name"));
87
syncdaemon_status_info_set_queues (sinfo, g_hash_table_lookup (hash, "queues"));
94
* syncdaemon_status_info_get_connected:
97
syncdaemon_status_info_get_connected (SyncdaemonStatusInfo *sinfo)
99
g_return_val_if_fail (SYNCDAEMON_IS_STATUS_INFO (sinfo), FALSE);
101
return sinfo->priv->is_connected;
105
* syncdaemon_status_info_set_connected:
108
syncdaemon_status_info_set_connected (SyncdaemonStatusInfo *sinfo, gboolean connected)
110
g_return_if_fail (SYNCDAEMON_IS_STATUS_INFO (sinfo));
112
sinfo->priv->is_connected = connected;
116
* syncdaemon_status_info_get_description:
119
syncdaemon_status_info_get_description (SyncdaemonStatusInfo *sinfo)
121
g_return_val_if_fail (SYNCDAEMON_IS_STATUS_INFO (sinfo), NULL);
123
return (const gchar *) sinfo->priv->description;
127
* syncdaemon_status_info_set_description:
130
syncdaemon_status_info_set_description (SyncdaemonStatusInfo *sinfo, const gchar *description)
132
g_return_if_fail (SYNCDAEMON_IS_STATUS_INFO (sinfo));
134
if (sinfo->priv->description != NULL)
135
g_free (sinfo->priv->description);
137
sinfo->priv->description = g_strdup (description);
141
* syncdaemon_status_info_get_name:
144
syncdaemon_status_info_get_name (SyncdaemonStatusInfo *sinfo)
146
g_return_val_if_fail (SYNCDAEMON_IS_STATUS_INFO (sinfo), NULL);
148
return (const gchar *) sinfo->priv->name;
152
* syncdaemon_status_info_set_name:
155
syncdaemon_status_info_set_name (SyncdaemonStatusInfo *sinfo, const gchar *name)
157
g_return_if_fail (SYNCDAEMON_IS_STATUS_INFO (sinfo));
159
if (sinfo->priv->name != NULL)
160
g_free (sinfo->priv->name);
162
sinfo->priv->name = g_strdup (name);
166
* syncdaemon_status_info_get_online:
169
syncdaemon_status_info_get_online (SyncdaemonStatusInfo *sinfo)
171
g_return_val_if_fail (SYNCDAEMON_IS_STATUS_INFO (sinfo), FALSE);
173
return sinfo->priv->is_online;
177
* syncdaemon_status_info_set_online:
180
syncdaemon_status_info_set_online (SyncdaemonStatusInfo *sinfo, gboolean online)
182
g_return_if_fail (SYNCDAEMON_IS_STATUS_INFO (sinfo));
184
sinfo->priv->is_online = online;
188
* syncdaemon_status_info_get_queues:
191
syncdaemon_status_info_get_queues (SyncdaemonStatusInfo *sinfo)
193
g_return_val_if_fail (SYNCDAEMON_IS_STATUS_INFO (sinfo), NULL);
195
return (const gchar *) sinfo->priv->queues;
199
* syncdaemon_status_info_set_queues:
202
syncdaemon_status_info_set_queues (SyncdaemonStatusInfo *sinfo, const gchar *queues)
204
g_return_if_fail (SYNCDAEMON_IS_STATUS_INFO (sinfo));
206
if (sinfo->priv->queues != NULL)
207
g_free (sinfo->priv->queues);
209
sinfo->priv->queues = g_strdup (queues);