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 #include "libmodest-dbus-client.h"
31 #include <dbus_api/modest-dbus-api.h> /* For the API strings. */
34 libmodest_dbus_client_send_mail (osso_context_t *osso_context, const gchar *to, const gchar *cc,
35 const gchar *bcc, const gchar* subject, const gchar* body, GSList *attachments)
38 const osso_return_t ret = osso_rpc_run_with_defaults(osso_context,
40 MODEST_DBUS_METHOD_SEND_MAIL, &retval,
43 DBUS_TYPE_STRING, bcc,
44 DBUS_TYPE_STRING, subject,
45 DBUS_TYPE_STRING, body,
49 printf("debug: osso_rpc_run() failed.\n");
52 printf("debug: osso_rpc_run() succeeded.\n");
55 osso_rpc_free_val(&retval);
61 libmodest_dbus_client_mail_to (osso_context_t *osso_context, const gchar *mailto_uri)
64 const osso_return_t ret = osso_rpc_run_with_defaults(osso_context,
66 MODEST_DBUS_METHOD_MAIL_TO, &retval,
67 DBUS_TYPE_STRING, mailto_uri,
71 printf("debug: osso_rpc_run() failed.\n");
74 printf("debug: osso_rpc_run() succeeded.\n");
77 osso_rpc_free_val(&retval);
83 libmodest_dbus_client_compose_mail (osso_context_t *osso_context, const gchar *to, const gchar *cc,
84 const gchar *bcc, const gchar* subject, const gchar* body, GSList *attachments)
87 gchar *attachments_str = NULL;
91 attachments_str = g_strdup( (gchar *) attachments->data );
93 for (next = g_slist_next(attachments); next != NULL; next = g_slist_next(next))
95 tmp = g_strconcat(attachments_str, ",", (gchar *) (next->data), NULL);
96 g_free(attachments_str);
97 attachments_str = tmp;
98 if (attachments_str == NULL) {
103 const osso_return_t ret = osso_rpc_run_with_defaults(osso_context,
105 MODEST_DBUS_METHOD_COMPOSE_MAIL, &retval,
106 DBUS_TYPE_STRING, to,
107 DBUS_TYPE_STRING, cc,
108 DBUS_TYPE_STRING, bcc,
109 DBUS_TYPE_STRING, subject,
110 DBUS_TYPE_STRING, body,
111 DBUS_TYPE_STRING, attachments_str,
114 if (ret != OSSO_OK) {
115 printf("debug: osso_rpc_run() failed.\n");
118 printf("debug: osso_rpc_run() succeeded.\n");
121 osso_rpc_free_val(&retval);
127 libmodest_dbus_client_open_message (osso_context_t *osso_context, const gchar *mail_uri)
130 const osso_return_t ret = osso_rpc_run_with_defaults(osso_context,
132 MODEST_DBUS_METHOD_OPEN_MESSAGE, &retval,
133 DBUS_TYPE_STRING, mail_uri,
136 if (ret != OSSO_OK) {
137 printf("debug: osso_rpc_run() failed.\n");
140 printf("debug: osso_rpc_run() succeeded.\n");
143 osso_rpc_free_val(&retval);
149 libmodest_dbus_client_send_and_receive (osso_context_t *osso_context)
152 const osso_return_t ret = osso_rpc_run_with_defaults(osso_context,
154 MODEST_DBUS_METHOD_SEND_RECEIVE, &retval,
157 if (ret != OSSO_OK) {
158 printf("debug: osso_rpc_run() failed.\n");
161 printf("debug: osso_rpc_run() succeeded.\n");
164 osso_rpc_free_val(&retval);