emailservices/nmclientapi/src/nmapitypesconverter.cpp
changeset 75 47d84de1c893
parent 54 997a02608b3a
child 74 6c59112cfd31
equal deleted inserted replaced
72:64e38f08e49c 75:47d84de1c893
    58     
    58     
    59     EmailClientApi::NmApiMessageEnvelope api_env;
    59     EmailClientApi::NmApiMessageEnvelope api_env;
    60     
    60     
    61     QList<NmAddress> to = envelope.toRecipients();
    61     QList<NmAddress> to = envelope.toRecipients();
    62     QList<NmAddress> cc = envelope.ccRecipients();
    62     QList<NmAddress> cc = envelope.ccRecipients();
       
    63     QList<NmAddress> bcc = envelope.bccRecipients();
    63     QList<EmailClientApi::NmApiEmailAddress> to_api = NmAddress2QString(to);
    64     QList<EmailClientApi::NmApiEmailAddress> to_api = NmAddress2QString(to);
    64     QList<EmailClientApi::NmApiEmailAddress> cc_api = NmAddress2QString(cc);
    65     QList<EmailClientApi::NmApiEmailAddress> cc_api = NmAddress2QString(cc);
       
    66     QList<EmailClientApi::NmApiEmailAddress> bcc_api = NmAddress2QString(bcc);
    65 
    67 
    66     api_env.setToRecipients(to_api);
    68     api_env.setToRecipients(to_api);
    67     api_env.setCcRecipients(cc_api);
    69     api_env.setCcRecipients(cc_api);
       
    70     api_env.setBccRecipients(bcc_api);
    68 
    71 
    69     api_env.setHasAttachments(envelope.hasAttachments());
    72     api_env.setHasAttachments(envelope.hasAttachments());
    70     api_env.setId(envelope.messageId().id());
    73     api_env.setId(envelope.messageId().id());
    71     api_env.setIsForwarded(envelope.isForwarded());
    74     api_env.setIsForwarded(envelope.isForwarded());
    72     api_env.setIsRead(envelope.isRead());
    75     api_env.setIsRead(envelope.isRead());
    74     api_env.setParentFolder(envelope.folderId().id());
    77     api_env.setParentFolder(envelope.folderId().id());
    75 
    78 
    76     api_env.setSender(envelope.sender().address());
    79     api_env.setSender(envelope.sender().address());
    77     api_env.setSentTime(envelope.sentTime());
    80     api_env.setSentTime(envelope.sentTime());
    78     api_env.setSubject(envelope.subject());
    81     api_env.setSubject(envelope.subject());
       
    82     api_env.setMailboxId(envelope.messageId().id());
       
    83     api_env.setFlags(static_cast<EmailClientApi::NmApiMessageFlags>(static_cast<int>(envelope.flags())), true);
    79 
    84 
    80     return api_env;
    85     return api_env;
    81 }
    86 }
    82 
    87 
    83 /*!
    88 /*!
    98     }
   103     }
    99 
   104 
   100     return nmAddresses;
   105     return nmAddresses;
   101 }
   106 }
   102 
   107 
       
   108 /*!
       
   109    converts nmmessage to client api NmApiMessage
       
   110  */
       
   111 EmailClientApi::NmApiMessage NmToApiConverter::NmMessage2NmApiMessage(NmMessage &message)
       
   112 {
       
   113     NM_FUNCTION;
       
   114     
       
   115     EmailClientApi::NmApiMessage api_message;
       
   116     QList<NmMessagePart*> attachments;
       
   117     message.attachmentList(attachments);
       
   118 
       
   119     if (attachments.size() > 0){
       
   120         QList<EmailClientApi::NmApiAttachment> api_attachments; 
       
   121         for (int i = 0; i < attachments.size(); i++){
       
   122             NmMessagePart *part = attachments.at(i);
       
   123             if (part->contentType().compare(EmailClientApi::NmApiContentTypeTextPlain) != 0 && 
       
   124                 part->contentType().compare(EmailClientApi::NmApiContentTypeTextHtml) != 0) {
       
   125                 EmailClientApi::NmApiAttachment api_attachment;
       
   126                 api_attachment.setFileName(part->attachmentName());
       
   127                 api_attachment.setId(part->partId().id());
       
   128                 api_attachment.setContentType(part->contentType());
       
   129                 api_attachment.setSize(part->size());
       
   130                 api_attachments.append(api_attachment);
       
   131             }
       
   132         }
       
   133         api_message.setAttachments(api_attachments);
       
   134     }
       
   135     
       
   136     EmailClientApi::NmApiMessageEnvelope api_envelope = NmMessageEnvelope2NmApiMessageEnvelope(message.envelope());
       
   137     api_message.setEnvelope(api_envelope);
       
   138     const NmMessagePart *plaintext = message.plainTextBodyPart();
       
   139     if (plaintext) {
       
   140         EmailClientApi::NmApiTextContent api_plaintext;
       
   141         api_plaintext.setContent(plaintext->textContent());
       
   142         api_plaintext.setId(plaintext->partId().id());
       
   143         api_plaintext.setContentType(plaintext->contentType());
       
   144         api_plaintext.setSize(plaintext->size());
       
   145         api_message.setPlainTextContent(api_plaintext);
       
   146     }
       
   147     
       
   148     const NmMessagePart *htmlcontent = message.htmlBodyPart();
       
   149     if (htmlcontent) {
       
   150         EmailClientApi::NmApiTextContent api_htmlcontent;
       
   151         api_htmlcontent.setContent(htmlcontent->textContent());
       
   152         api_htmlcontent.setId(htmlcontent->partId().id());
       
   153         api_htmlcontent.setContentType(htmlcontent->contentType());
       
   154         api_htmlcontent.setSize(htmlcontent->size());
       
   155         api_message.setHtmlContent(api_htmlcontent);
       
   156     }
       
   157     
       
   158     return api_message;
       
   159 }