d4bda8c8ef5ab6c913708b4854c267c0ea52e35a
[modest] / libmodest-dbus-client / src / libmodest-dbus-api.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
31 #ifndef __MODEST_DBUS_API__
32 #define __MODEST_DBUS_API__
33
34
35 /* Note that the com.nokia service name and /com/nokia object name 
36  * are what is assumed by the, bizarrely named, osso_rpc_run_with_defaults() function, 
37  * so they are probably a good choice. */
38 #define MODEST_DBUS_NAME    "modest"
39 #define MODEST_DBUS_SERVICE "com.nokia."MODEST_DBUS_NAME
40 #define MODEST_DBUS_OBJECT  "/com/nokia/"MODEST_DBUS_NAME /* Also known as a D-Bus Path. */
41 #define MODEST_DBUS_IFACE   "com.nokia."MODEST_DBUS_NAME
42
43
44 #define MODEST_DBUS_METHOD_MAIL_TO "MailTo"
45 enum ModestDbusMailToArguments
46 {
47         MODEST_DBUS_MAIL_TO_ARG_URI,
48         MODEST_DBUS_MAIL_TO_ARGS_COUNT
49 };
50
51 #define MODEST_DBUS_METHOD_OPEN_MESSAGE "OpenMessage"
52 enum ModestDbusOpenMessageArguments
53 {
54         MODEST_DBUS_OPEN_MESSAGE_ARG_URI,
55         MODEST_DBUS_OPEN_MESSAGE_ARGS_COUNT
56 };
57
58 #define MODEST_DBUS_METHOD_OPEN_ACCOUNT "OpenAccount"
59 enum ModestDbusOpenAccountArguments
60 {
61         MODEST_DBUS_OPEN_ACCOUNT_ARG_ID,
62         MODEST_DBUS_OPEN_ACCOUNT_ARGS_COUNT
63 };
64
65 #define MODEST_DBUS_METHOD_SEND_RECEIVE "SendReceive"
66
67 #define MODEST_DBUS_METHOD_SEND_RECEIVE_FULL "SendReceiveFull"
68 enum ModestDbusSendReceiveFullArguments
69 {
70         MODEST_DBUS_SEND_RECEIVE_FULL_ARG_ACCOUNT_ID,
71         MODEST_DBUS_SEND_RECEIVE_FULL_ARG_MANUAL,
72         MODEST_DBUS_SEND_RECEIVE_FULL_ARGS_COUNT
73 };
74
75 #define MODEST_DBUS_METHOD_COMPOSE_MAIL "ComposeMail"
76 enum ModestDbusComposeMailArguments
77 {
78         MODEST_DBUS_COMPOSE_MAIL_ARG_TO,
79         MODEST_DBUS_COMPOSE_MAIL_ARG_CC,
80         MODEST_DBUS_COMPOSE_MAIL_ARG_BCC,
81         MODEST_DBUS_COMPOSE_MAIL_ARG_SUBJECT,
82         MODEST_DBUS_COMPOSE_MAIL_ARG_BODY,
83         MODEST_DBUS_COMPOSE_MAIL_ARG_ATTACHMENTS,
84         MODEST_DBUS_COMPOSE_MAIL_ARGS_COUNT
85 };
86
87 #define MODEST_DBUS_METHOD_DELETE_MESSAGE "DeleteMessage"
88 enum ModestDbusDeleteMessageArguments
89 {
90         MODEST_DBUS_DELETE_MESSAGE_ARG_URI,
91         MODEST_DBUS_DELETE_MESSAGE_ARGS_COUNT
92 };
93
94 #define MODEST_DBUS_METHOD_OPEN_DEFAULT_INBOX "OpenDefaultInbox"
95
96 #define MODEST_DBUS_METHOD_OPEN_EDIT_ACCOUNTS_DIALOG "OpenEditAccountsDialog"
97
98 /*
99  * these methods are for debugging only, and should _not_ be
100  * exported through libmodest-dbus-client
101  */
102 #define MODEST_DBUS_METHOD_DUMP_OPERATION_QUEUE   "DumpOperationQueue"
103 #define MODEST_DBUS_METHOD_DUMP_ACCOUNTS          "DumpAccounts"
104 #define MODEST_DBUS_METHOD_DUMP_SEND_QUEUES       "DumpSendQueues"
105
106
107
108 /* These are handle via normal D-Bus instead of osso-rpc: */
109 #define MODEST_DBUS_METHOD_SEARCH "Search"
110 #define MODEST_DBUS_METHOD_GET_FOLDERS "GetFolders"
111
112 /** This is an undocumented hildon-desktop method that is 
113  * sent to applications when they are started from the menu,
114  * but not when started from D-Bus activation, so that 
115  * applications can be started without visible UI.
116  * At least, I think so. murrayc.
117  **/
118 #define MODEST_DBUS_METHOD_TOP_APPLICATION "top_application"
119
120 #define MODEST_DBUS_METHOD_UPDATE_FOLDER_COUNTS "update_folder_counts"
121 enum ModestDbusUpdateFolderCountsArguments
122 {
123         MODEST_DBUS_UPDATE_FOLDER_COUNTS_ARG_ACCOUNT_ID,
124         MODEST_DBUS_UPDATE_FOLDER_COUNTS_ARGS_COUNT
125 };
126
127 #endif /* __MODEST_DBUS_API__ */