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 * @realname: the real name of the user
60 * @email: the user's email address which is used when sending email
61 * @replyto: the default replyto address
62 * @signature: the signature for this identity
63 * @use_signature: whether to use this signature instead of the default one
64 * @id_via: the transport to send emails for this identity via
65 * @use_id_via: whether to use this via instead of the default one
67 * add a user identity to the configuration
69 * Returns: TRUE if succeeded, FALSE otherwise,
71 gboolean modest_identity_mgr_add_identity (ModestIdentityMgr * self,
73 const gchar * realname,
75 const gchar * replyto,
76 const gchar * signature,
77 const gboolean use_signature,
79 const gboolean use_id_via);
83 * modest_identity_mgr_remove_identity:
84 * @self: a ModestIdentityMgr instance
85 * @name: the name of the identity to remove
86 * @err: a GError ptr, or NULL to ignore.
88 * remove identity from the configuration
89 * the identity with @name should exist
91 * Returns: TRUE if the removal succeeded, FALSE otherwise,
92 * @err gives details in case of error
94 gboolean modest_identity_mgr_remove_identity (ModestIdentityMgr * self,
100 * modest_identity_mgr_identity_names:
101 * @self: a ModestIdentityMgr instance
102 * @err: a GError ptr, or NULL to ignore.
104 * list all identities
106 * Returns: a newly allocated list of identities, or NULL in case of error or
107 * if there are no identities. The caller must free the returned GSList
108 * @err gives details in case of error
110 GSList *modest_identity_mgr_identity_names (ModestIdentityMgr * self,
115 * modest_identity_mgr_identity_exists:
116 * @self: a ModestIdentityMgr instance
117 * @err: a GError ptr, or NULL to ignore.
119 * check whether identity @name exists
121 * Returns: TRUE if the identity exists, FALSE otherwise (or in case of error)
122 * @err gives details in case of error
124 gboolean modest_identity_mgr_identity_exists (ModestIdentityMgr * self,
129 /* identity specific functions */
132 * modest_identity_mgr_get_identity_string:
133 * @self: a ModestIdentityMgr instance
134 * @name: the name of the identity
135 * @key: the key of the value to retrieve
136 * @err: a GError ptr, or NULL to ignore.
138 * get a config string from an identity
140 * Returns: a newly allocated string with the value for the key,
141 * or NULL in case of error. @err gives details in case of error
143 gchar *modest_identity_mgr_get_identity_string (ModestIdentityMgr * self,
150 * modest_identity_mgr_get_identity_int:
151 * @self: a ModestIdentityMgr instance
152 * @name: the name of the identity
153 * @key: the key of the value to retrieve
154 * @err: a GError ptr, or NULL to ignore.
156 * get a config int from an identity
158 * Returns: an integer with the value for the key, or -1 in case of
159 * error (but of course -1 does not necessarily imply an error)
160 * @err gives details in case of error
162 gint modest_identity_mgr_get_identity_int (ModestIdentityMgr * self,
169 * modest_identity_mgr_get_identity_bool:
170 * @self: a ModestIdentityMgr instance
171 * @name: the name of the identity
172 * @key: the key of the value to retrieve
173 * @err: a GError ptr, or NULL to ignore.
175 * get a config boolean from an identity
177 * Returns: an boolean with the value for the key, or FALSE in case of
178 * error (but of course FALSE does not necessarily imply an error)
179 * @err gives details in case of error
181 gboolean modest_identity_mgr_get_identity_bool (ModestIdentityMgr * self,
188 * modest_identity_mgr_set_identity_string:
189 * @self: a ModestIdentityMgr instance
190 * @name: the name of the identity
191 * @key: the key of the value to set
192 * @val: the value to set
193 * @err: a GError ptr, or NULL to ignore.
195 * set a config string for an identity
197 * Returns: TRUE if setting the value succeeded, or FALSE in case of error.
198 * @err gives details in case of error
200 gboolean modest_identity_mgr_set_identity_string (ModestIdentityMgr *
209 * modest_identity_mgr_set_identity_int:
210 * @self: a ModestIdentityMgr instance
211 * @name: the name of the identity
212 * @key: the key of the value to set
213 * @val: the value to set
214 * @err: a GError ptr, or NULL to ignore.
216 * set a config int for an identity
218 * Returns: TRUE if setting the value succeeded, or FALSE in case of error.
219 * @err gives details in case of error
221 gboolean modest_identity_mgr_set_identity_int (ModestIdentityMgr * self,
224 gint val, GError ** err);
228 * modest_identity_mgr_set_identity_bool:
229 * @self: a ModestIdentityMgr instance
230 * @name: the name of the identity
231 * @key: the key of the value to set
232 * @val: the value to set
233 * @err: a GError ptr, or NULL to ignore.
235 * set a config bool for an identity
237 * Returns: TRUE if setting the value succeeded, or FALSE in case of error.
238 * @err gives details in case of error
240 gboolean modest_identity_mgr_set_identity_bool (ModestIdentityMgr * self,
248 #endif /* __MODEST_IDENTITY_MGR_H__ */