]> git.0d.be Git - empathy.git/blob - libempathy/empathy-account-settings.h
Merge branch 'gnome-3-8'
[empathy.git] / libempathy / empathy-account-settings.h
1 /*
2  * empathy-account-settings.h - Header for EmpathyAccountSettings
3  * Copyright (C) 2009 Collabora Ltd.
4  * @author Sjoerd Simons <sjoerd.simons@collabora.co.uk>
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19  */
20
21 #ifndef __EMPATHY_ACCOUNT_SETTINGS_H__
22 #define __EMPATHY_ACCOUNT_SETTINGS_H__
23
24 #include <glib-object.h>
25 #include <gio/gio.h>
26 #include <telepathy-glib/telepathy-glib.h>
27
28 G_BEGIN_DECLS
29
30 typedef struct _EmpathyAccountSettings EmpathyAccountSettings;
31 typedef struct _EmpathyAccountSettingsClass EmpathyAccountSettingsClass;
32
33 struct _EmpathyAccountSettingsClass {
34     GObjectClass parent_class;
35 };
36
37 struct _EmpathyAccountSettings {
38     GObject parent;
39     gpointer priv;
40 };
41
42 GType empathy_account_settings_get_type (void);
43
44 /* TYPE MACROS */
45 #define EMPATHY_TYPE_ACCOUNT_SETTINGS \
46   (empathy_account_settings_get_type ())
47 #define EMPATHY_ACCOUNT_SETTINGS(obj) \
48   (G_TYPE_CHECK_INSTANCE_CAST((obj), \
49     EMPATHY_TYPE_ACCOUNT_SETTINGS, EmpathyAccountSettings))
50 #define EMPATHY_ACCOUNT_SETTINGS_CLASS(klass) \
51   (G_TYPE_CHECK_CLASS_CAST((klass), EMPATHY_TYPE_ACCOUNT_SETTINGS, \
52     EmpathyAccountSettingsClass))
53 #define EMPATHY_IS_ACCOUNT_SETTINGS(obj) \
54   (G_TYPE_CHECK_INSTANCE_TYPE((obj), EMPATHY_TYPE_ACCOUNT_SETTINGS))
55 #define EMPATHY_IS_ACCOUNT_SETTINGS_CLASS(klass) \
56   (G_TYPE_CHECK_CLASS_TYPE((klass), EMPATHY_TYPE_ACCOUNT_SETTINGS))
57 #define EMPATHY_ACCOUNT_SETTINGS_GET_CLASS(obj) \
58   (G_TYPE_INSTANCE_GET_CLASS ((obj), EMPATHY_TYPE_ACCOUNT_SETTINGS, \
59     EmpathyAccountSettingsClass))
60
61 EmpathyAccountSettings * empathy_account_settings_new (
62     const gchar *connection_manager,
63     const gchar *protocol,
64     const gchar *service,
65     const char *display_name);
66
67 EmpathyAccountSettings * empathy_account_settings_new_for_account (
68     TpAccount *account);
69
70 gboolean empathy_account_settings_is_ready (EmpathyAccountSettings *settings);
71
72 const gchar *empathy_account_settings_get_cm (EmpathyAccountSettings *settings);
73 const gchar *empathy_account_settings_get_protocol (
74     EmpathyAccountSettings *settings);
75
76 const gchar *empathy_account_settings_get_service (
77     EmpathyAccountSettings *settings);
78
79 void empathy_account_settings_set_service (EmpathyAccountSettings *settings,
80     const gchar *service);
81
82 TpAccount *empathy_account_settings_get_account (
83     EmpathyAccountSettings *settings);
84
85 gboolean empathy_account_settings_has_account (
86     EmpathyAccountSettings *settings, TpAccount *account);
87
88 GList * empathy_account_settings_dup_tp_params (
89     EmpathyAccountSettings *settings);
90
91 gboolean empathy_account_settings_have_tp_param (
92     EmpathyAccountSettings *settings,
93     const gchar *param);
94
95 void empathy_account_settings_unset (EmpathyAccountSettings *settings,
96     const gchar *param);
97
98 void empathy_account_settings_discard_changes (
99     EmpathyAccountSettings *settings);
100
101 const gchar *
102 empathy_account_settings_get_dbus_signature (EmpathyAccountSettings *setting,
103   const gchar *param);
104
105 GVariant *
106 empathy_account_settings_dup_default (EmpathyAccountSettings *settings,
107   const gchar *param);
108
109 gchar * empathy_account_settings_dup_string (
110     EmpathyAccountSettings *settings,
111     const gchar *param);
112 GStrv empathy_account_settings_dup_strv (
113     EmpathyAccountSettings *settings,
114     const gchar *param);
115
116 gint32 empathy_account_settings_get_int32 (EmpathyAccountSettings *settings,
117     const gchar *param);
118 gint64 empathy_account_settings_get_int64 (EmpathyAccountSettings *settings,
119     const gchar *param);
120 guint32 empathy_account_settings_get_uint32 (EmpathyAccountSettings *settings,
121     const gchar *param);
122 guint64 empathy_account_settings_get_uint64 (EmpathyAccountSettings *settings,
123     const gchar *param);
124 gboolean empathy_account_settings_get_boolean (EmpathyAccountSettings *settings,
125     const gchar *param);
126
127 void empathy_account_settings_set (EmpathyAccountSettings *settings,
128     const gchar *param,
129     GVariant *v);
130
131 gchar *empathy_account_settings_get_icon_name (
132   EmpathyAccountSettings *settings);
133
134 void empathy_account_settings_set_icon_name_async (
135   EmpathyAccountSettings *settings,
136   const gchar *name,
137   GAsyncReadyCallback callback,
138   gpointer user_data);
139
140 gboolean empathy_account_settings_set_icon_name_finish (
141   EmpathyAccountSettings *settings,
142   GAsyncResult *result,
143   GError **error);
144
145 const gchar *empathy_account_settings_get_display_name (
146   EmpathyAccountSettings *settings);
147
148 void empathy_account_settings_set_display_name_async (
149   EmpathyAccountSettings *settings,
150   const gchar *name,
151   GAsyncReadyCallback callback,
152   gpointer user_data);
153
154 gboolean empathy_account_settings_set_display_name_finish (
155   EmpathyAccountSettings *settings,
156   GAsyncResult *result,
157   GError **error);
158
159 void empathy_account_settings_apply_async (EmpathyAccountSettings *settings,
160   GAsyncReadyCallback callback,
161   gpointer user_data);
162
163 gboolean empathy_account_settings_apply_finish (
164   EmpathyAccountSettings *settings,
165   GAsyncResult *result,
166   gboolean *reconnect_required,
167   GError **error);
168
169 void empathy_account_settings_set_regex (EmpathyAccountSettings *settings,
170   const gchar *param,
171   const gchar *regex);
172
173 gboolean empathy_account_settings_parameter_is_valid (
174     EmpathyAccountSettings *settings,
175     const gchar *param);
176
177 gboolean empathy_account_settings_is_valid (EmpathyAccountSettings *settings);
178
179 TpProtocol * empathy_account_settings_get_tp_protocol (
180     EmpathyAccountSettings *settings);
181
182 gboolean empathy_account_settings_supports_sasl (EmpathyAccountSettings *self);
183
184 gboolean empathy_account_settings_param_is_supported (
185     EmpathyAccountSettings *self,
186     const gchar *param);
187
188 void empathy_account_settings_set_uri_scheme_tel (EmpathyAccountSettings *self,
189     gboolean associate);
190
191 gboolean empathy_account_settings_has_uri_scheme_tel (
192     EmpathyAccountSettings *self);
193
194 void empathy_account_settings_set_storage_provider (
195     EmpathyAccountSettings *self,
196     const gchar *storage);
197
198 void empathy_account_settings_set_remember_password (
199     EmpathyAccountSettings *self,
200     gboolean remember);
201
202 G_END_DECLS
203
204 #endif /* #ifndef __EMPATHY_ACCOUNT_SETTINGS_H__*/