2 // Tizen Web Device API
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 #include <Commons/Exception.h>
19 #include "EmailConverter.h"
22 #define LOG_ENTER LoggerD("---> ENTER");
23 #define LOG_EXIT LoggerD("---> EXIT");
27 namespace EmailConverter {
28 email_mail_priority_t toMailPriority(MessagePriority::Priority priority)
32 case MessagePriority::LOW: return EMAIL_MAIL_PRIORITY_LOW;
33 case MessagePriority::NORMAL: return EMAIL_MAIL_PRIORITY_NORMAL;
34 case MessagePriority::HIGH: return EMAIL_MAIL_PRIORITY_HIGH;
36 ThrowMsg(WrtDeviceApis::Commons::PlatformException,
37 "Unsupported priority: " << priority);
41 MessagePriority::Priority toMessagePriority(email_mail_priority_t priority)
45 case EMAIL_MAIL_PRIORITY_LOW: return MessagePriority::LOW;
46 case EMAIL_MAIL_PRIORITY_NORMAL: return MessagePriority::NORMAL;
47 case EMAIL_MAIL_PRIORITY_HIGH: return MessagePriority::HIGH;
49 // TODO Think it through, log is enough or exception should be thrown.
50 // ThrowMsg(WrtDeviceApis::Commons::PlatformException,
51 // "Unsupported platform priority: " << priority);
52 LoggerW("Unsupported platform priority");
56 // TODO Fix this. What to return if non-existing priority returned by platform.
57 return MessagePriority::NORMAL;
60 MessagePriority::Priority toMessagePriority(unsigned char priority)
62 return toMessagePriority(static_cast<email_mail_priority_t>(priority));
65 email_mailbox_type_e toMailboxType(FolderType folder)
69 case INBOX: return EMAIL_MAILBOX_TYPE_INBOX;
70 case OUTBOX: return EMAIL_MAILBOX_TYPE_OUTBOX;
71 case SENTBOX: return EMAIL_MAILBOX_TYPE_SENTBOX;
72 case DRAFTBOX: return EMAIL_MAILBOX_TYPE_DRAFT;
73 case SPAMBOX: return EMAIL_MAILBOX_TYPE_SPAMBOX;
74 case ALL_FOLDERS: return EMAIL_MAILBOX_TYPE_ALL_EMAILS;
75 case USERDEFINED_FOLDER: return EMAIL_MAILBOX_TYPE_USER_DEFINED;
77 ThrowMsg(WrtDeviceApis::Commons::PlatformException, "Conversion failed.");
81 const char* toMailboxName(FolderType folder)
85 case INBOX: return EMAIL_INBOX_NAME;
86 case OUTBOX: return EMAIL_OUTBOX_NAME;
87 case SENTBOX: return EMAIL_SENTBOX_NAME;
88 case DRAFTBOX: return EMAIL_DRAFTBOX_NAME;
89 case SPAMBOX: return EMAIL_SPAMBOX_NAME;
91 ThrowMsg(WrtDeviceApis::Commons::PlatformException,
92 "Mailbox not found. Folder: " << folder);
96 FolderType toFolderType(email_mailbox_type_e mailboxType)
99 switch (mailboxType) {
100 case EMAIL_MAILBOX_TYPE_INBOX: return INBOX;
101 case EMAIL_MAILBOX_TYPE_OUTBOX: return OUTBOX;
102 case EMAIL_MAILBOX_TYPE_SENTBOX: return SENTBOX;
103 case EMAIL_MAILBOX_TYPE_DRAFT: return DRAFTBOX;
104 case EMAIL_MAILBOX_TYPE_TRASH: return TRASHBOX;
105 case EMAIL_MAILBOX_TYPE_SPAMBOX: return SPAMBOX;
106 case EMAIL_MAILBOX_TYPE_ALL_EMAILS: return ALL_FOLDERS;
107 case EMAIL_MAILBOX_TYPE_SEARCH_RESULT: return SEARCHED;
108 case EMAIL_MAILBOX_TYPE_FLAGGED: return FLAGED;
109 case EMAIL_MAILBOX_TYPE_USER_DEFINED: return USERDEFINED_FOLDER;
111 ThrowMsg(WrtDeviceApis::Commons::PlatformException, "Conversion failed.");
115 FolderType toFolderType(int mailboxType)
118 switch (mailboxType) {
119 case EMAIL_MAILBOX_TYPE_INBOX: return INBOX;
120 case EMAIL_MAILBOX_TYPE_OUTBOX: return OUTBOX;
121 case EMAIL_MAILBOX_TYPE_SENTBOX: return SENTBOX;
122 case EMAIL_MAILBOX_TYPE_DRAFT: return DRAFTBOX;
123 case EMAIL_MAILBOX_TYPE_TRASH: return TRASHBOX;
124 case EMAIL_MAILBOX_TYPE_SPAMBOX: return SPAMBOX;
125 case EMAIL_MAILBOX_TYPE_ALL_EMAILS: return ALL_FOLDERS;
126 case EMAIL_MAILBOX_TYPE_SEARCH_RESULT: return SEARCHED;
127 case EMAIL_MAILBOX_TYPE_FLAGGED: return FLAGED;
128 case EMAIL_MAILBOX_TYPE_USER_DEFINED: return USERDEFINED_FOLDER;
130 ThrowMsg(WrtDeviceApis::Commons::PlatformException, "Conversion failed.");