Properly detect inline images in multipart/related messages
[modest] / src / modest-singletons.h
1 /* Copyright (c) 2006, Nokia Corporation
2  * All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are
6  * met:
7  *
8  * * Redistributions of source code must retain the above copyright
9  *   notice, this list of conditions and the following disclaimer.
10  * * Redistributions in binary form must reproduce the above copyright
11  *   notice, this list of conditions and the following disclaimer in the
12  *   documentation and/or other materials provided with the distribution.
13  * * Neither the name of the Nokia Corporation nor the names of its
14  *   contributors may be used to endorse or promote products derived from
15  *   this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
18  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
20  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
21  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28  */
29
30 #ifndef __MODEST_SINGLETONS_H__
31 #define __MODEST_SINGLETONS_H__
32
33 #include <config.h>
34
35 #include <glib-object.h>
36 #include <modest-conf.h>
37 #include <modest-email-clipboard.h>
38 #include <modest-account-mgr.h>
39 #include <modest-mail-operation-queue.h>
40 #include <modest-cache-mgr.h>
41 #include <modest-tny-platform-factory.h>
42 #include "modest-plugin-factory.h"
43 #include "widgets/modest-window-mgr.h"
44 #include "modest-protocol-registry.h"
45 #include <tny-stream-cache.h>
46
47 G_BEGIN_DECLS
48
49 /* convenience macros */
50 #define MODEST_TYPE_SINGLETONS             (modest_singletons_get_type())
51 #define MODEST_SINGLETONS(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj),MODEST_TYPE_SINGLETONS,ModestSingletons))
52 #define MODEST_SINGLETONS_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass),MODEST_TYPE_SINGLETONS,GObject))
53 #define MODEST_IS_SINGLETONS(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj),MODEST_TYPE_SINGLETONS))
54 #define MODEST_IS_SINGLETONS_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass),MODEST_TYPE_SINGLETONS))
55 #define MODEST_SINGLETONS_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj),MODEST_TYPE_SINGLETONS,ModestSingletonsClass))
56
57 typedef struct _ModestSingletons      ModestSingletons;
58 typedef struct _ModestSingletonsClass ModestSingletonsClass;
59
60 struct _ModestSingletons {
61          GObject parent;
62 };
63
64 struct _ModestSingletonsClass {
65         GObjectClass parent_class;
66 };
67
68
69 /**
70  * modest_singletons_get_type:
71  * 
72  * get the GType for ModestSingletons
73  *  
74  * Returns: the GType
75  */
76 GType        modest_singletons_get_type    (void) G_GNUC_CONST;
77
78
79 /**
80  * modest_singletons_new:
81  * 
82  * create a new ModestSingletons instance;
83  * don't use this function directly, use the modest-runtime
84  * functions instead.
85  * 
86  * Returns: a new ModestSingletons instance, or NULL in case
87  * of any error
88  */
89 ModestSingletons*    modest_singletons_new         (void);
90
91
92 /**
93  * modest_singletons_get_conf:
94  * @self: a valid ModestSingletons instance
95  * 
96  * get the ModestConf singleton instance
97  * don't use this function directly, use the modest-runtime
98  * functions instead.
99  *
100  * Returns: the ModestConf singleton
101  **/
102 ModestConf*               modest_singletons_get_conf          (ModestSingletons *self);
103
104
105 /**
106  * modest_singletons_get_account_mgr:
107  * @self: a valid ModestSingletons instance
108  * 
109  * get the ModestAccountMgr singleton instance
110  * don't use this function directly, use the modest-runtime
111  * functions instead.
112  * 
113  * Returns: the ModestAccountMgr singleton
114  **/
115 ModestAccountMgr*         modest_singletons_get_account_mgr   (ModestSingletons *self);
116
117 /**
118  * modest_singletons_get_account_mgr:
119  * @self: a valid #ModestSingletons instance
120  * 
121  * get the #ModestEamilClipboard singleton instance
122  * don't use this function directly, use the modest-runtime
123  * functions instead.
124  * 
125  * Returns: the #ModestEmailClipboard singleton
126  **/
127 ModestEmailClipboard*      modest_singletons_get_email_clipboard (ModestSingletons *self);
128
129
130 /**
131  * modest_singletons_get_cache_mgr:
132  * @self: a valid #ModestSingletons instance
133  * 
134  * get the #ModestCacheMgr singleton instance
135  * don't use this function directly, use the modest-runtime
136  * functions instead.
137  *
138  * Returns: the #ModestCacheMgr singleton
139  **/
140 ModestCacheMgr*           modest_singletons_get_cache_mgr     (ModestSingletons *self);
141
142
143
144 /**
145  * modest_singletons_get_platform_factory:
146  * @self: a valid #ModestSingletons instance
147  * 
148  * get the #TnyPlatformFactory singleton instance
149  * don't use this function directly, use the modest-runtime
150  * functions instead.
151  *
152  * Returns: the #TnyPlatformFactory singleton
153  **/
154 TnyPlatformFactory*       modest_singletons_get_platform_factory  (ModestSingletons *self);
155
156
157 /**
158  * modest_singletons_get_device:
159  * @self: a valid #ModestSingletons instance
160  * 
161  * get the #TnyDevice singleton instance
162  * don't use this function directly, use the modest-runtime
163  * functions instead.
164  *
165  * Returns: the #TnyDevice singleton
166  **/
167 TnyDevice*                 modest_singletons_get_device       (ModestSingletons *self);
168
169
170 /**
171  * modest_singletons_get_mail_operation_queue:
172  * @self: a valid ModestSingletons instance
173  * 
174  * get the ModestMailOperationQueue singleton instance
175  * don't use this function directly, use the modest-runtime
176  * functions instead.
177  *
178  * Returns: the ModestMailOperationQueue singleton
179  **/
180 ModestMailOperationQueue* modest_singletons_get_mail_operation_queue (ModestSingletons *self);
181
182 /**
183  * modest_singletons_get_window_mgr:
184  * @self: 
185  * 
186  * Gets the #ModestWindowMgr singleton instance. Don't use this
187  * function directly, use the modest-runtime function instead.
188  *
189  * Return value: the singleton instance of #ModestWindowMgr
190  **/
191 ModestWindowMgr*          modest_singletons_get_window_mgr           (ModestSingletons *self);
192
193 /**
194  * modest_singletons_get_protocol_registry:
195  * @self: 
196  * 
197  * Gets the #ModestProtocolRegistry singleton instance. Don't use this
198  * function directly, use the modest-runtime function instead.
199  *
200  * Return value: the singleton instance of #ModestProtocolRegistry
201  **/
202 ModestProtocolRegistry*          modest_singletons_get_protocol_registry           (ModestSingletons *self);
203
204 /**
205  * modest_singletons_get_images_cache:
206  * @self: a #ModestSingletons
207  *
208  * Gets the #TnyStreamCache used to store the external images cache.
209  */
210 TnyStreamCache*           modest_singletons_get_images_cache         (ModestSingletons *self);
211
212 /**
213  * modest_singletons_get_plugin_factory:
214  * @self: a #ModestSingletons
215  *
216  * Gets the #ModestMailPluginFactory singleton.
217  */
218 ModestPluginFactory*           modest_singletons_get_plugin_factory         (ModestSingletons *self);
219
220 G_END_DECLS
221
222 #endif /* __MODEST_SINGLETONS_H__ */
223