author | hgs |
Thu, 14 Oct 2010 17:33:43 +0300 | |
changeset 76 | 38bf5461e270 |
parent 74 | 6c59112cfd31 |
permissions | -rw-r--r-- |
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1 |
/* |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
2 |
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
3 |
* All rights reserved. |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
5 |
* under the terms of "Eclipse Public License v1.0" |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
8 |
* |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
10 |
* Nokia Corporation - initial contribution. |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
11 |
* |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
12 |
* Contributors: |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
13 |
* |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
14 |
* Description: |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
15 |
* |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
16 |
*/ |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
17 |
|
48 | 18 |
#include "nmapiheaders.h" |
23
2dc6caa42ec3
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
20
diff
changeset
|
19 |
|
76 | 20 |
namespace EmailClientApi |
21 |
{ |
|
23
2dc6caa42ec3
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
20
diff
changeset
|
22 |
/*! |
2dc6caa42ec3
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
20
diff
changeset
|
23 |
converts nmmailbox to client api NmApiMailbox |
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
24 |
*/ |
76 | 25 |
NmApiMailbox NmToApiConverter::NmMailbox2NmApiMailbox(const NmMailbox &mailbox) |
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
26 |
{ |
43 | 27 |
NM_FUNCTION; |
28 |
||
76 | 29 |
NmApiMailbox apiMailbox; |
30 |
apiMailbox.setId(mailbox.id().id()); |
|
31 |
apiMailbox.setName(mailbox.name()); |
|
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
32 |
NmMailbox tmp(mailbox); |
76 | 33 |
apiMailbox.setAddress(tmp.address().address()); |
34 |
return apiMailbox; |
|
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
35 |
} |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
36 |
|
23
2dc6caa42ec3
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
20
diff
changeset
|
37 |
/*! |
2dc6caa42ec3
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
20
diff
changeset
|
38 |
converts NmFolder to client api NmFolder |
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
39 |
*/ |
76 | 40 |
NmApiFolder NmToApiConverter::NmFolder2NmApiFolder(const NmFolder &folder) |
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
41 |
{ |
43 | 42 |
NM_FUNCTION; |
43 |
||
76 | 44 |
NmApiFolder apiFolder; |
45 |
||
46 |
apiFolder.setParentFolderId(folder.parentId().id()); |
|
47 |
apiFolder.setId(folder.folderId().id()); |
|
48 |
apiFolder.setName(folder.name()); |
|
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
49 |
|
76 | 50 |
switch ( folder.folderType() ) |
51 |
{ |
|
52 |
case NmFolderInbox: |
|
53 |
apiFolder.setFolderType(EmailClientApi::Inbox); |
|
54 |
break; |
|
55 |
case NmFolderOutbox: |
|
56 |
apiFolder.setFolderType(EmailClientApi::Outbox); |
|
57 |
break; |
|
58 |
case NmFolderDrafts: |
|
59 |
apiFolder.setFolderType(EmailClientApi::Drafts); |
|
60 |
break; |
|
61 |
case NmFolderSent: |
|
62 |
apiFolder.setFolderType(EmailClientApi::Sent); |
|
63 |
break; |
|
64 |
case NmFolderDeleted: |
|
65 |
apiFolder.setFolderType(EmailClientApi::Deleted); |
|
66 |
break; |
|
67 |
case NmFolderOther: |
|
68 |
default: |
|
69 |
apiFolder.setFolderType(EmailClientApi::EOther); |
|
70 |
break; |
|
71 |
} |
|
72 |
return apiFolder; |
|
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
73 |
} |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
74 |
|
23
2dc6caa42ec3
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
20
diff
changeset
|
75 |
/*! |
2dc6caa42ec3
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
20
diff
changeset
|
76 |
converts NmMessageEnvelope to client api NmApiMessageEnvelope |
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
77 |
*/ |
76 | 78 |
NmApiMessageEnvelope NmToApiConverter::NmMessageEnvelope2NmApiMessageEnvelope( |
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
79 |
const NmMessageEnvelope &envelope) |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
80 |
{ |
43 | 81 |
NM_FUNCTION; |
82 |
||
76 | 83 |
NmApiMessageEnvelope apiEnv; |
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
84 |
|
23
2dc6caa42ec3
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
20
diff
changeset
|
85 |
QList<NmAddress> to = envelope.toRecipients(); |
2dc6caa42ec3
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
20
diff
changeset
|
86 |
QList<NmAddress> cc = envelope.ccRecipients(); |
68 | 87 |
QList<NmAddress> bcc = envelope.bccRecipients(); |
76 | 88 |
QList<NmApiEmailAddress> to_api = NmAddress2QString(to); |
89 |
QList<NmApiEmailAddress> cc_api = NmAddress2QString(cc); |
|
90 |
QList<NmApiEmailAddress> bcc_api = NmAddress2QString(bcc); |
|
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
91 |
|
76 | 92 |
apiEnv.setToRecipients(to_api); |
93 |
apiEnv.setCcRecipients(cc_api); |
|
94 |
apiEnv.setBccRecipients(bcc_api); |
|
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
95 |
|
76 | 96 |
apiEnv.setHasAttachments(envelope.hasAttachments()); |
97 |
apiEnv.setId(envelope.messageId().id()); |
|
98 |
apiEnv.setIsForwarded(envelope.isForwarded()); |
|
99 |
apiEnv.setIsRead(envelope.isRead()); |
|
100 |
apiEnv.setIsReplied(envelope.isReplied()); |
|
101 |
apiEnv.setParentFolder(envelope.folderId().id()); |
|
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
102 |
|
76 | 103 |
apiEnv.setSender(envelope.sender().address()); |
104 |
apiEnv.setSentTime(envelope.sentTime()); |
|
105 |
apiEnv.setSubject(envelope.subject()); |
|
74 | 106 |
NmId mailboxId(envelope.mailboxId()); |
76 | 107 |
apiEnv.setMailboxId(mailboxId.id()); |
108 |
apiEnv.setFlags(static_cast<NmApiMessageFlags>(static_cast<int>(envelope.flags())), true); |
|
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
109 |
|
76 | 110 |
return apiEnv; |
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
111 |
} |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
112 |
|
23
2dc6caa42ec3
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
20
diff
changeset
|
113 |
/*! |
2dc6caa42ec3
Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
20
diff
changeset
|
114 |
converts QList of NmAddresses to Qlist of email client apis NmApiEmailAddresses |
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
115 |
*/ |
76 | 116 |
QList<NmApiEmailAddress> NmToApiConverter::NmAddress2QString( |
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
117 |
const QList<NmAddress> &addresses) |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
118 |
{ |
43 | 119 |
NM_FUNCTION; |
120 |
||
76 | 121 |
QList<NmApiEmailAddress> nmAddresses; |
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
122 |
for (int i = 0; i < addresses.count(); i++) { |
76 | 123 |
NmApiEmailAddress addr; |
18
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
124 |
addr.setAddress(addresses[i].address()); |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
125 |
addr.setDisplayName(addresses[i].displayName()); |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
126 |
|
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
127 |
nmAddresses << addr; |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
128 |
} |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
129 |
|
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
130 |
return nmAddresses; |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
131 |
} |
578830873419
Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
132 |
|
68 | 133 |
/*! |
134 |
converts nmmessage to client api NmApiMessage |
|
135 |
*/ |
|
76 | 136 |
NmApiMessage NmToApiConverter::NmMessage2NmApiMessage(NmMessage &message) |
68 | 137 |
{ |
138 |
NM_FUNCTION; |
|
139 |
||
76 | 140 |
NmApiMessage apiMessage; |
68 | 141 |
QList<NmMessagePart*> attachments; |
142 |
message.attachmentList(attachments); |
|
143 |
||
144 |
if (attachments.size() > 0){ |
|
76 | 145 |
QList<NmApiAttachment> apiAttachments; |
68 | 146 |
for (int i = 0; i < attachments.size(); i++){ |
147 |
NmMessagePart *part = attachments.at(i); |
|
76 | 148 |
if (part->contentType().compare(NmApiContentTypeTextPlain) != 0 && |
149 |
part->contentType().compare(NmApiContentTypeTextHtml) != 0) { |
|
150 |
NmApiAttachment apiAttachment; |
|
151 |
apiAttachment.setFileName(part->attachmentName()); |
|
152 |
apiAttachment.setId(part->partId().id()); |
|
153 |
apiAttachment.setContentType(part->contentType()); |
|
154 |
apiAttachment.setSize(part->size()); |
|
155 |
apiAttachments.append(apiAttachment); |
|
68 | 156 |
} |
157 |
} |
|
76 | 158 |
apiMessage.setAttachments(apiAttachments); |
68 | 159 |
} |
160 |
||
76 | 161 |
NmApiMessageEnvelope apiEnvelope = NmMessageEnvelope2NmApiMessageEnvelope(message.envelope()); |
162 |
apiMessage.setEnvelope(apiEnvelope); |
|
68 | 163 |
const NmMessagePart *plaintext = message.plainTextBodyPart(); |
164 |
if (plaintext) { |
|
76 | 165 |
NmApiTextContent apiPlainText; |
166 |
apiPlainText.setContent(plaintext->textContent()); |
|
167 |
apiPlainText.setId(plaintext->partId().id()); |
|
168 |
apiPlainText.setContentType(plaintext->contentType()); |
|
169 |
apiPlainText.setSize(plaintext->size()); |
|
170 |
apiMessage.setPlainTextContent(apiPlainText); |
|
68 | 171 |
} |
172 |
||
173 |
const NmMessagePart *htmlcontent = message.htmlBodyPart(); |
|
174 |
if (htmlcontent) { |
|
76 | 175 |
NmApiTextContent apiHtmlContent; |
176 |
apiHtmlContent.setContent(htmlcontent->textContent()); |
|
177 |
apiHtmlContent.setId(htmlcontent->partId().id()); |
|
178 |
apiHtmlContent.setContentType(htmlcontent->contentType()); |
|
179 |
apiHtmlContent.setSize(htmlcontent->size()); |
|
180 |
apiMessage.setHtmlContent(apiHtmlContent); |
|
68 | 181 |
} |
182 |
||
76 | 183 |
return apiMessage; |
184 |
} |
|
68 | 185 |
} |
76 | 186 |
|
187 |
||
188 |