1 /* modest-identity-mgr.h */
2 /* insert (c)/licensing information) */
4 #ifndef __MODEST_IDENTITY_MGR_H__
5 #define __MODEST_IDENTITY_MGR_H__
7 #include <glib-object.h>
8 #include "modest-conf.h"
9 #include "modest-identity-keys.h"
10 #include "modest-proto.h"
13 /* convenience macros */
14 #define MODEST_TYPE_IDENTITY_MGR (modest_identity_mgr_get_type())
15 #define MODEST_IDENTITY_MGR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),MODEST_TYPE_IDENTITY_MGR,ModestIdentityMgr))
16 #define MODEST_IDENTITY_MGR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),MODEST_TYPE_IDENTITY_MGR,GObject))
17 #define MODEST_IS_IDENTITY_MGR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),MODEST_TYPE_IDENTITY_MGR))
18 #define MODEST_IS_IDENTITY_MGR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),MODEST_TYPE_IDENTITY_MGR))
19 #define MODEST_IDENTITY_MGR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj),MODEST_TYPE_IDENTITY_MGR,ModestIdentityMgrClass))
20 typedef struct _ModestIdentityMgr ModestIdentityMgr;
21 typedef struct _ModestIdentityMgrClass ModestIdentityMgrClass;
24 struct _ModestIdentityMgr {
26 /* insert public members, if any */
29 struct _ModestIdentityMgrClass {
30 GObjectClass parent_class;
31 /* insert signal callback declarations, eg. */
32 /* void (* my_event) (ModestIdentityMgr* obj); */
39 * get the GType for ModestIdentityMgr
43 GType modest_identity_mgr_get_type (void) G_GNUC_CONST;
47 * modest_identity_mgr_new:
48 * @modest_conf: a ModestConf instance
50 * Returns: a new ModestIdentityMgr, or NULL in case of error
52 GObject * modest_identity_mgr_new (ModestConf * modest_conf);
56 * modest_identity_mgr_add_identity:
57 * @self: a ModestIdentityMgr instance
58 * @name: the name (id) for the identity
59 * @email: the user's email address which is used when sending email
60 * @replyto: the default replyto address
61 * @signature: the signature for this identity
62 * @use_signature: whether to use this signature instead of the default one
63 * @id_via: the transport to send emails for this identity via
64 * @use_id_via: whether to use this via instead of the default one
66 * add a user identity to the configuration
68 * Returns: TRUE if succeeded, FALSE otherwise,
70 gboolean modest_identity_mgr_add_identity (ModestIdentityMgr * self,
73 const gchar * replyto,
74 const gchar * signature,
75 const gboolean use_signature,
77 const gboolean use_id_via);
81 * modest_identity_mgr_remove_identity:
82 * @self: a ModestIdentityMgr instance
83 * @name: the name of the identity to remove
84 * @err: a GError ptr, or NULL to ignore.
86 * remove identity from the configuration
87 * the identity with @name should exist
89 * Returns: TRUE if the removal succeeded, FALSE otherwise,
90 * @err gives details in case of error
92 gboolean modest_identity_mgr_remove_identity (ModestIdentityMgr * self,
98 * modest_identity_mgr_identity_names:
99 * @self: a ModestIdentityMgr instance
100 * @err: a GError ptr, or NULL to ignore.
102 * list all identities
104 * Returns: a newly allocated list of identities, or NULL in case of error or
105 * if there are no identities. The caller must free the returned GSList
106 * @err gives details in case of error
108 GSList *modest_identity_mgr_identity_names (ModestIdentityMgr * self,
113 * modest_identity_mgr_identity_exists:
114 * @self: a ModestIdentityMgr instance
115 * @err: a GError ptr, or NULL to ignore.
117 * check whether identity @name exists
119 * Returns: TRUE if the identity exists, FALSE otherwise (or in case of error)
120 * @err gives details in case of error
122 gboolean modest_identity_mgr_identity_exists (ModestIdentityMgr * self,
127 /* identity specific functions */
130 * modest_identity_mgr_get_identity_string:
131 * @self: a ModestIdentityMgr instance
132 * @name: the name of the identity
133 * @key: the key of the value to retrieve
134 * @err: a GError ptr, or NULL to ignore.
136 * get a config string from an identity
138 * Returns: a newly allocated string with the value for the key,
139 * or NULL in case of error. @err gives details in case of error
141 gchar *modest_identity_mgr_get_identity_string (ModestIdentityMgr * self,
148 * modest_identity_mgr_get_identity_int:
149 * @self: a ModestIdentityMgr instance
150 * @name: the name of the identity
151 * @key: the key of the value to retrieve
152 * @err: a GError ptr, or NULL to ignore.
154 * get a config int from an identity
156 * Returns: an integer with the value for the key, or -1 in case of
157 * error (but of course -1 does not necessarily imply an error)
158 * @err gives details in case of error
160 gint modest_identity_mgr_get_identity_int (ModestIdentityMgr * self,
167 * modest_identity_mgr_get_identity_bool:
168 * @self: a ModestIdentityMgr instance
169 * @name: the name of the identity
170 * @key: the key of the value to retrieve
171 * @err: a GError ptr, or NULL to ignore.
173 * get a config boolean from an identity
175 * Returns: an boolean with the value for the key, or FALSE in case of
176 * error (but of course FALSE does not necessarily imply an error)
177 * @err gives details in case of error
179 gboolean modest_identity_mgr_get_identity_bool (ModestIdentityMgr * self,
186 * modest_identity_mgr_set_identity_string:
187 * @self: a ModestIdentityMgr instance
188 * @name: the name of the identity
189 * @key: the key of the value to set
190 * @val: the value to set
191 * @err: a GError ptr, or NULL to ignore.
193 * set a config string for an identity
195 * Returns: TRUE if setting the value succeeded, or FALSE in case of error.
196 * @err gives details in case of error
198 gboolean modest_identity_mgr_set_identity_string (ModestIdentityMgr *
207 * modest_identity_mgr_set_identity_int:
208 * @self: a ModestIdentityMgr instance
209 * @name: the name of the identity
210 * @key: the key of the value to set
211 * @val: the value to set
212 * @err: a GError ptr, or NULL to ignore.
214 * set a config int for an identity
216 * Returns: TRUE if setting the value succeeded, or FALSE in case of error.
217 * @err gives details in case of error
219 gboolean modest_identity_mgr_set_identity_int (ModestIdentityMgr * self,
222 gint val, GError ** err);
226 * modest_identity_mgr_set_identity_bool:
227 * @self: a ModestIdentityMgr instance
228 * @name: the name of the identity
229 * @key: the key of the value to set
230 * @val: the value to set
231 * @err: a GError ptr, or NULL to ignore.
233 * set a config bool for an identity
235 * Returns: TRUE if setting the value succeeded, or FALSE in case of error.
236 * @err gives details in case of error
238 gboolean modest_identity_mgr_set_identity_bool (ModestIdentityMgr * self,
246 #endif /* __MODEST_IDENTITY_MGR_H__ */