71088389ba0d66c1debe8020ecec73165f1bd00d
[modest] / libmodest-dbus-client / libmodest-dbus-client.c
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 #include "libmodest-dbus-client.h"
31 #include <dbus_api/modest-dbus-api.h> /* For the API strings. */
32
33 gboolean
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)
36 {
37         osso_rpc_t retval;
38         const osso_return_t ret = osso_rpc_run_with_defaults(osso_context, 
39                    MODEST_DBUS_NAME, 
40                    MODEST_DBUS_METHOD_SEND_MAIL, &retval, 
41                    DBUS_TYPE_STRING, to, 
42                    DBUS_TYPE_STRING, cc, 
43                    DBUS_TYPE_STRING, bcc, 
44                    DBUS_TYPE_STRING, subject, 
45                    DBUS_TYPE_STRING, body, 
46                    DBUS_TYPE_INVALID);
47                 
48         if (ret != OSSO_OK) {
49                 printf("debug: osso_rpc_run() failed.\n");
50                 return FALSE;
51         } else {
52                 printf("debug: osso_rpc_run() succeeded.\n");
53         }
54         
55         osso_rpc_free_val(&retval);
56         
57         return TRUE;
58 }
59         
60 gboolean 
61 libmodest_dbus_client_mail_to (osso_context_t *osso_context, const gchar *mailto_uri)
62 {
63         osso_rpc_t retval;
64         const osso_return_t ret = osso_rpc_run_with_defaults(osso_context, 
65                    MODEST_DBUS_NAME, 
66                    MODEST_DBUS_METHOD_MAIL_TO, &retval, 
67                    DBUS_TYPE_STRING, mailto_uri, 
68                    DBUS_TYPE_INVALID);
69                 
70         if (ret != OSSO_OK) {
71                 printf("debug: osso_rpc_run() failed.\n");
72                 return FALSE;
73         } else {
74                 printf("debug: osso_rpc_run() succeeded.\n");
75         }
76         
77         osso_rpc_free_val(&retval);
78         
79         return TRUE;
80 }
81
82 gboolean 
83 libmodest_dbus_client_open_message (osso_context_t *osso_context, const gchar *mail_uri)
84 {
85         osso_rpc_t retval;
86         const osso_return_t ret = osso_rpc_run_with_defaults(osso_context, 
87                    MODEST_DBUS_NAME, 
88                    MODEST_DBUS_METHOD_OPEN_MESSAGE, &retval, 
89                    DBUS_TYPE_STRING, mail_uri, 
90                    DBUS_TYPE_INVALID);
91                 
92         if (ret != OSSO_OK) {
93                 printf("debug: osso_rpc_run() failed.\n");
94                 return FALSE;
95         } else {
96                 printf("debug: osso_rpc_run() succeeded.\n");
97         }
98         
99         osso_rpc_free_val(&retval);
100         
101         return TRUE;
102 }
103
104 gboolean 
105 libmodest_dbus_client_send_and_receive (osso_context_t *osso_context)
106 {
107         osso_rpc_t retval;
108         const osso_return_t ret = osso_rpc_run_with_defaults(osso_context, 
109                    MODEST_DBUS_NAME, 
110                    MODEST_DBUS_METHOD_SEND_RECEIVE, &retval, 
111                    DBUS_TYPE_INVALID);
112                 
113         if (ret != OSSO_OK) {
114                 printf("debug: osso_rpc_run() failed.\n");
115                 return FALSE;
116         } else {
117                 printf("debug: osso_rpc_run() succeeded.\n");
118         }
119         
120         osso_rpc_free_val(&retval);
121         
122         return TRUE;
123 }
124
125