Tizen 2.0 Release
[platform/core/messaging/email-service.git] / email-ipc / email-ipc-api / include / email-ipc-api-info.h
1 /*
2 *  email-service
3 *
4 * Copyright (c) 2012 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
5 *
6 * Contact: Kyuho Jo <kyuho.jo@samsung.com>, Sunghyun Kwon <sh0701.kwon@samsung.com>
7
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 *
20 */
21
22
23 #ifndef _IPC_APIINFO_H_
24 #define _IPC_APIINFO_H_
25
26 #include <stdio.h>
27
28 #include "email-ipc.h"
29 #include "email-ipc-api-info.h"
30 #include "email-ipc-param-list.h"
31
32 typedef struct {
33         long api_id;
34         long response_id;
35         long app_id;
36         emipc_param_list *params[2];
37 } emipc_email_api_info;
38
39 /*EXPORT_API bool emipc_set_app_id_of_api_info(emipc_email_api_info *api_info, long app_id); */
40
41 EXPORT_API bool emipc_deserialize_api_info(emipc_email_api_info *api_info, EPARAMETER_DIRECTION direction, void *stream);
42
43 EXPORT_API unsigned char *emipc_serialize_api_info(emipc_email_api_info *api_info, EPARAMETER_DIRECTION direction, int *stream_len);
44
45 /*EXPORT_API int emipc_get_stream_length_of_api_info(emipc_email_api_info *api_info, EPARAMETER_DIRECTION direction); */
46
47 EXPORT_API void *emipc_get_parameters_of_api_info(emipc_email_api_info *api_info, EPARAMETER_DIRECTION direction);
48
49 EXPORT_API bool emipc_free_api_info(emipc_email_api_info *api_info);
50
51 /* don't insert empty line */
52 #define EM_APIID_TO_STR(nAPIID) \
53         ({\
54                 int id=nAPIID;\
55                 const char* s=NULL;\
56                 switch(id) {\
57                         case _EMAIL_API_ADD_ACCOUNT:\
58                                         s = "_EMAIL_API_ADD_ACCOUNT";\
59                                         break;\
60                         case _EMAIL_API_DELETE_ACCOUNT:\
61                                         s = "_EMAIL_API_DELETE_ACCOUNT";\
62                                         break;\
63                         case _EMAIL_API_UPDATE_ACCOUNT:\
64                                         s = "_EMAIL_API_UPDATE_ACCOUNT";\
65                                         break;\
66                         case _EMAIL_API_ADD_MAILBOX:\
67                                         s = "_EMAIL_API_ADD_MAILBOX";\
68                                         break;\
69                         case _EMAIL_API_DELETE_MAILBOX:\
70                                         s = "_EMAIL_API_DELETE_MAILBOX";\
71                                         break;\
72                         case _EMAIL_API_RENAME_MAILBOX:\
73                                         s = "_EMAIL_API_RENAME_MAILBOX";\
74                                         break;\
75                         case _EMAIL_API_SET_MAILBOX_TYPE:\
76                                         s = "_EMAIL_API_SET_MAILBOX_TYPE";\
77                                         break;\
78                         case _EMAIL_API_SET_LOCAL_MAILBOX:\
79                                         s = "_EMAIL_API_SET_LOCAL_MAILBOX";\
80                                         break;\
81                         case _EMAIL_API_SET_MAIL_SLOT_SIZE:\
82                                         s = "_EMAIL_API_SET_MAIL_SLOT_SIZE";\
83                                         break;\
84                         case _EMAIL_API_SEND_MAIL:\
85                                         s = "_EMAIL_API_SEND_MAIL";\
86                                         break;\
87                         case _EMAIL_API_GET_MAILBOX_COUNT:\
88                                         s = "_EMAIL_API_GET_MAILBOX_COUNT";\
89                                         break;\
90                         case _EMAIL_API_GET_MAILBOX_LIST:\
91                                         s = "_EMAIL_API_GET_MAILBOX_LIST";\
92                                         break;\
93                         case _EMAIL_API_GET_SUBMAILBOX_LIST:\
94                                         s = "_EMAIL_API_GET_SUBMAILBOX_LIST";\
95                                         break;\
96                         case _EMAIL_API_SYNC_HEADER:\
97                                         s = "_EMAIL_API_SYNC_HEADER";\
98                                         break;\
99                         case _EMAIL_API_DOWNLOAD_BODY:\
100                                         s = "_EMAIL_API_DOWNLOAD_BODY";\
101                                         break;\
102                         case _EMAIL_API_CLEAR_DATA:\
103                                         s = "_EMAIL_API_CLEAR_DATA";\
104                                         break;\
105                         case _EMAIL_API_DELETE_ALL_MAIL:\
106                                         s = "_EMAIL_API_DELETE_ALL_MAIL";\
107                                         break;\
108                         case _EMAIL_API_DELETE_MAIL:\
109                                         s = "_EMAIL_API_DELETE_MAIL";\
110                                         break;\
111                         case _EMAIL_API_MODIFY_MAIL_FLAG:\
112                                         s = "_EMAIL_API_MODIFY_MAIL_FLAG";\
113                                         break;\
114                         case _EMAIL_API_ADD_RULE:\
115                                         s = "_EMAIL_API_ADD_RULE";\
116                                         break;\
117                         case _EMAIL_API_GET_RULE:\
118                                         s = "_EMAIL_API_GET_RULE";\
119                                         break;\
120                         case _EMAIL_API_GET_RULE_LIST:\
121                                         s = "_EMAIL_API_GET_RULE";\
122                                         break;\
123                         case _EMAIL_API_FIND_RULE:\
124                                         s = "_EMAIL_API_FIND_RULE";\
125                                         break;\
126                         case _EMAIL_API_UPDATE_RULE:\
127                                         s = "_EMAIL_API_UPDATE_RULE";\
128                                         break;\
129                         case _EMAIL_API_DELETE_RULE:\
130                                         s = "_EMAIL_API_DELETE_RULE";\
131                                         break;\
132                         case _EMAIL_API_MOVE_MAIL:\
133                                         s = "_EMAIL_API_MOVE_MAIL";\
134                                         break;\
135                         case _EMAIL_API_MOVE_ALL_MAIL:\
136                                         s = "_EMAIL_API_MOVE_ALL_MAIL";\
137                                         break;\
138                         case _EMAIL_API_SET_FLAGS_FIELD:\
139                                         s = "_EMAIL_API_SET_FLAGS_FIELD";\
140                                         break;\
141                         case _EMAIL_API_ADD_MAIL:\
142                                         s = "_EMAIL_API_ADD_MAIL";\
143                                         break;\
144                         case _EMAIL_API_UPDATE_MAIL:\
145                                         s = "_EMAIL_API_UPDATE_MAIL";\
146                                         break;\
147                         case _EMAIL_API_MOVE_THREAD_TO_MAILBOX:\
148                                         s = "_EMAIL_API_MOVE_THREAD_TO_MAILBOX";\
149                                         break;\
150                         case _EMAIL_API_DELETE_THREAD:\
151                                         s = "_EMAIL_API_DELETE_THREAD";\
152                                         break;\
153                         case _EMAIL_API_MODIFY_SEEN_FLAG_OF_THREAD:\
154                                         s = "_EMAIL_API_MODIFY_SEEN_FLAG_OF_THREAD";\
155                                         break;\
156                         case _EMAIL_API_ADD_ATTACHMENT:\
157                                         s = "_EMAIL_API_ADD_ATTACHMENT";\
158                                         break;\
159                         case _EMAIL_API_GET_IMAP_MAILBOX_LIST:\
160                                         s = "_EMAIL_API_GET_IMAP_MAILBOX_LIST";\
161                                         break;\
162                         case _EMAIL_API_GET_ATTACHMENT:\
163                                         s = "_EMAIL_API_GET_ATTACHMENT";\
164                                         break;\
165                         case _EMAIL_API_DELETE_ATTACHMENT:\
166                                         s = "_EMAIL_API_DELETE_ATTACHMENT";\
167                                         break;\
168                         case _EMAIL_API_DOWNLOAD_ATTACHMENT:\
169                                         s = "_EMAIL_API_DOWNLOAD_ATTACHMENT";\
170                                         break;\
171                         case _EMAIL_API_GET_ACCOUNT_LIST:\
172                                         s = "_EMAIL_API_GET_ACCOUNT_LIST";\
173                                         break;\
174                         case _EMAIL_API_SEND_SAVED:\
175                                         s = "_EMAIL_API_SEND_SAVED";\
176                                         break;\
177                         case _EMAIL_API_CANCEL_JOB:\
178                                         s = "_EMAIL_API_CANCEL_JOB";\
179                                         break;\
180                         case _EMAIL_API_GET_PENDING_JOB:\
181                                         s = "_EMAIL_API_GET_PENDING_JOB";\
182                                         break;\
183                         case _EMAIL_API_NETWORK_GET_STATUS:\
184                                         s = "_EMAIL_API_NETWORK_GET_STATUS";\
185                                         break;\
186                         case _EMAIL_API_SEND_RETRY:\
187                                         s = "_EMAIL_API_SEND_RETRY";\
188                                         break;\
189                         case _EMAIL_API_VALIDATE_ACCOUNT :\
190                                         s = "_EMAIL_API_VALIDATE_ACCOUNT";\
191                                         break;\
192                         case _EMAIL_API_SEND_MAIL_CANCEL_JOB :\
193                                         s = "_EMAIL_API_SEND_MAIL_CANCEL_JOB";\
194                                         break;\
195                         case _EMAIL_API_SEARCH_MAIL_ON_SERVER :\
196                                         s = "_EMAIL_API_SEARCH_MAIL_ON_SERVER";\
197                                         break;\
198                         case _EMAIL_API_ADD_ACCOUNT_WITH_VALIDATION :\
199                                         s = "_EMAIL_API_ADD_ACCOUNT_WITH_VALIDATION";\
200                                         break;\
201                         case _EMAIL_API_BACKUP_ACCOUNTS :\
202                                         s = "_EMAIL_API_BACKUP_ACCOUNTS";\
203                                         break;\
204                         case _EMAIL_API_RESTORE_ACCOUNTS :\
205                                         s = "_EMAIL_API_RESTORE_ACCOUNTS";\
206                                         break;\
207                         case _EMAIL_API_PRINT_RECEIVING_EVENT_QUEUE :\
208                                         s = "_EMAIL_API_PRINT_RECEIVING_EVENT_QUEUE";\
209                                         break;\
210                         case _EMAIL_API_PING_SERVICE :\
211                                         s = "_EMAIL_API_PING_SERVICE";\
212                                         break;\
213                         case _EMAIL_API_UPDATE_NOTIFICATION_BAR_FOR_UNREAD_MAIL :\
214                                         s = "_EMAIL_API_UPDATE_NOTIFICATION_BAR_FOR_UNREAD_MAIL";\
215                                         break;\
216                         case _EMAIL_API_GET_PASSWORD_LENGTH_OF_ACCOUNT:\
217                                         s = "_EMAIL_API_GET_PASSWORD_LENGTH_OF_ACCOUNT";\
218                                         break;\
219                         case _EMAIL_API_SHOW_USER_MESSAGE:\
220                                         s = "_EMAIL_API_SHOW_USER_MESSAGE";\
221                                         break;\
222                         case _EMAIL_API_WRITE_MIME_FILE:\
223                                         s = "_EMAIL_API_WRITE_MIME_FILE";\
224                                         break;\
225                         default : \
226                                         s = "UNKNOWN_APIID";\
227                 }\
228                 s;\
229         })
230
231
232 #endif  /* _IPC_APIINFO_H_ */
233
234