Added new fixes to changelog, week 31 post release - 3rd Aug.
[modest] / libmodest-dbus-client / libmodest-dbus-client.h
1 /* Copyright (c) 2007, 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 __LIBMODEST_DBUS_CLIENT_H__
31 #define __LIBMODEST_DBUS_CLIENT_H__
32
33 #include <libosso.h>
34 #include <glib.h>
35 #include <stdio.h>
36
37 gboolean
38 libmodest_dbus_client_compose_mail (osso_context_t *osso_context, const gchar *to, 
39         const gchar *cc, const gchar *bcc, const gchar* subject, const gchar* body, 
40         GSList *attachments);
41         
42 gboolean 
43 libmodest_dbus_client_mail_to (osso_context_t *osso_context, 
44         const gchar *mailto_uri);
45
46 gboolean 
47 libmodest_dbus_client_open_message (osso_context_t *osso_context, 
48         const gchar *mail_uri);
49
50 gboolean 
51 libmodest_dbus_client_send_and_receive (osso_context_t *osso_context);
52
53 gboolean 
54 libmodest_dbus_client_open_default_inbox (osso_context_t *osso_context);
55
56 typedef enum {
57
58         MODEST_DBUS_SEARCH_SUBJECT   = (1 << 0),
59         MODEST_DBUS_SEARCH_SENDER    = (1 << 1),
60         MODEST_DBUS_SEARCH_RECIPIENT = (1 << 2),
61         MODEST_DBUS_SEARCH_SIZE      = (1 << 3),
62         MODEST_DBUS_SEARCH_BODY      = (1 << 6)
63
64 } ModestDBusSearchFlags;
65
66 typedef struct {
67         gchar     *msgid; /* E.g. the URI of the message. */
68         gchar     *subject;
69         gchar     *folder; /* The name, not the URI. */
70         gchar     *sender;
71         guint64    msize;
72         gboolean   has_attachment;
73         gboolean   is_unread;
74         gint64     timestamp;            
75 } ModestSearchHit;
76
77
78 void modest_search_hit_list_free (GList *hits);
79
80
81 gboolean libmodest_dbus_client_search            (osso_context_t          *osso_ctx,
82                                                         const gchar             *query,
83                                                         const gchar             *folder,
84                                                         time_t                   start_date,
85                                                         time_t                   end_date,
86                                                         guint32                  min_size,
87                                                         ModestDBusSearchFlags    flags,
88                                                         GList                  **hits);
89
90 gboolean libmodest_dbus_client_delete_message   (osso_context_t   *osso_ctx,
91                                                         const char       *msg_uri);
92                                                         
93                                                         
94 typedef struct {
95         gchar     *folder_uri;
96         gchar     *folder_name;  
97 } ModestFolderResult;
98
99 gboolean libmodest_dbus_client_get_folders (osso_context_t *osso_ctx, GList **folders); 
100
101 void modest_folder_result_list_free (GList *folders);
102
103                                                 
104                                                         
105 #endif /* __LIBMODEST_DBUS_CLIENT_H__ */