void CSmtpClientMtm::GetBodyTextL(CImEmailMessage& aMessage, TMsvId aMsvId) { CRichText* messageText = CRichText::NewL(iParaFormatLayer, iCharFormatLayer); CleanupStack::PushL(messageText); aMessage.GetBodyTextL(aMsvId, CImEmailMessage::EThisMessageOnly, *messageText,*iParaFormatLayer,*iCharFormatLayer); Body().Reset(); Body().AppendTakingSolePictureOwnershipL(*messageText); CleanupStack::PopAndDestroy(); }
void CTestCImPlainTextStore::TestStoreRichTextAsPlainTextL() { CreateNewPlaintextMessageL(); CMsvEntry* entry = testUtils->iMsvSession->GetEntryL(newMessageId); CImEmailMessage* imEmailMessage = CImEmailMessage::NewLC(*entry); iCImPlainBodyTextStore = imEmailMessage->OpenPlainBodyTextForWriteL(); CParaFormatLayer* paraLayer = CParaFormatLayer::NewL(); CCharFormatLayer* charLayer = CCharFormatLayer::NewL(); CRichText* richText=CRichText::NewL(paraLayer, charLayer, CEditableText::EFlatStorage, KBufferGranularity); TBuf<50> theMessageContents = _L("Test message contents"); richText->InsertL(0, theMessageContents); TInt textLength = richText->DocumentLength(); iCImPlainBodyTextStore->StoreRichTextAsPlainTextL(*richText); iCImPlainBodyTextStore->CommitL(iActiveWaiter->iStatus); iActiveWaiter->WaitActive(); delete richText; richText=CRichText::NewL(paraLayer, charLayer, CEditableText::EFlatStorage, KBufferGranularity); imEmailMessage->GetBodyTextL(newMessageId, CImEmailMessage::EThisMessageOnly, *richText, *paraLayer, *charLayer); richText->DocumentLength(); ASSERT_EQUALS(richText->DocumentLength(), textLength); delete richText; delete charLayer; delete paraLayer; CleanupStack::PopAndDestroy(imEmailMessage); }