1 /* Copyright (c) 2007, Nokia Corporation
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
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.
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.
30 #ifndef __LIBMODEST_DBUS_CLIENT_H__
31 #define __LIBMODEST_DBUS_CLIENT_H__
39 * libmodest_dbus_client_compose_mail:
40 * @osso_context: a valid osso_context instance
41 * @to: the To:-field of the message
42 * @cc: the Cc:-field of the message
43 * @bcc: the Bcc:-field of the message
44 * @subject: the Subject:-field of the message
45 * @body: the body (text) of the message
46 * @attachments: a list of (file://) URIs with the files to attach
48 * opens a new mail composer with the provided details filled in
50 * Returns: TRUE upon success, FALSE otherwise
52 gboolean libmodest_dbus_client_compose_mail (osso_context_t *osso_context, const gchar *to,
53 const gchar *cc, const gchar *bcc, const gchar* subject,
58 * libmodest_dbus_client_mail_to:
59 * @osso_context: a valid osso_context instance
60 * @mailto_uri: a 'mailto:foo@bar.cuux' URI
62 * opens a new mail composer with the provided details filled in,
63 * based on a mailto: string. apart from the To:-field (the first arg),
64 * also, cc, bcc, subject and body are supported, ie. "mailto:foo@bar.cuu?subject=test"
66 * Returns: TRUE upon success, FALSE otherwise
68 gboolean libmodest_dbus_client_mail_to (osso_context_t *osso_context,
69 const gchar *mailto_uri);
73 * libmodest_dbus_client_open_message:
74 * @osso_context: a valid osso_context instance
75 * @mail_uri: the unique URI referring to some message
77 * opens an existing message based on its URI; these URIs are unique pointers
78 * to some message, and are retrieved from modest.
80 * Returns: TRUE upon success, FALSE otherwise
82 gboolean libmodest_dbus_client_open_message (osso_context_t *osso_context,
83 const gchar *mail_uri);
87 * libmodest_dbus_client_send_and_receive:
88 * @osso_context: a valid osso_context instance
90 * send/receive messages automatically for all accounts. This is equivalent
92 * libmodest_dbus_client_send_and_receive_full (@osso_context, %NULL, %TRUE)
94 * Returns: %TRUE upon success, %FALSE otherwise
96 gboolean libmodest_dbus_client_send_and_receive (osso_context_t *osso_context);
101 * libmodest_dbus_client_send_and_receive_full:
102 * @osso_context: a valid osso_context instance
103 * @account: the account name, or %NULL to do a send receive on all accounts.
104 * @manual: a #gboolean
106 * send/receive messages. If @manual is %TRUE, the send receive request
107 * will start immediately. If @manual if %FALSE, it may wait for IP heartbeat
110 * If Modest is built without heartbeat support, then the result of the call
111 * will be the same independently of @manual value (always immediate start).
113 * The call will apply to @account only, unless @account is %NULL, that means
114 * send receive will be performed on all accounts.
116 * Returns: %TRUE upon success, %FALSE otherwise
118 gboolean libmodest_dbus_client_send_and_receive_full (osso_context_t *osso_context,
119 const gchar *account,
123 * libmodest_dbus_client_update_folder_counts:
124 * @osso_context: a valid osso_context instance
125 * @account: the account name
127 * updates folder counts of @account.
129 * Returns: %TRUE upon success, %FALSE otherwise
131 gboolean libmodest_dbus_client_update_folder_counts (osso_context_t *osso_context,
132 const gchar *account);
137 * libmodest_dbus_client_open_default_inbox:
138 * @osso_context: a valid osso_context instance
140 * start modest, and open the inbox for the default account
142 * Returns: TRUE upon success, FALSE otherwise
144 gboolean libmodest_dbus_client_open_default_inbox (osso_context_t *osso_context);
147 * libmodest_dbus_client_open_edit_accounts_dialog
148 * @osso_context: a valid osso_context instance
150 * Starts Modest showing the edit accounts dialog on top of the
151 * initial window. If there is no account then the new account dialog
152 * is automatically launched
154 * Returns: TRUE upon success, FALSE otherwise
156 gboolean libmodest_dbus_client_open_edit_accounts_dialog (osso_context_t *osso_context);
159 * libmodest_dbus_client_open_default_inbox:
160 * @osso_context: a valid osso_context instance
162 * start modest, and open the inbox for the default account
164 * Returns: TRUE upon success, FALSE otherwise
166 gboolean libmodest_dbus_client_open_default_inbox (osso_context_t *osso_context);
169 * libmodest_dbus_client_open_account:
170 * @osso_context: a valid osso_context instance
171 * @account_id: the id of the account to open
173 * Shows the folders of a given account
175 * Returns: TRUE upon success, FALSE otherwise
177 gboolean libmodest_dbus_client_open_account (osso_context_t *osso_context,
178 const gchar *account_id);
181 * below: functions specific to osso-global-search; not useful for other clients.
187 MODEST_DBUS_SEARCH_SUBJECT = (1 << 0),
188 MODEST_DBUS_SEARCH_SENDER = (1 << 1),
189 MODEST_DBUS_SEARCH_RECIPIENT = (1 << 2),
190 MODEST_DBUS_SEARCH_SIZE = (1 << 3),
191 MODEST_DBUS_SEARCH_BODY = (1 << 6)
193 } ModestDBusSearchFlags;
196 gchar *msgid; /* E.g. the URI of the message. */
198 gchar *folder; /* The name, not the URI. */
201 gboolean has_attachment;
207 void modest_search_hit_list_free (GList *hits);
210 gboolean libmodest_dbus_client_search (osso_context_t *osso_ctx,
216 ModestDBusSearchFlags flags,
219 gboolean libmodest_dbus_client_delete_message (osso_context_t *osso_ctx,
220 const char *msg_uri);
226 } ModestFolderResult;
228 gboolean libmodest_dbus_client_get_folders (osso_context_t *osso_ctx, GList **folders);
230 void modest_folder_result_list_free (GList *folders);
234 #endif /* __LIBMODEST_DBUS_CLIENT_H__ */