void TestUniDataModelVCalPlugin::CreateBioEntryClientSideL(TMsvEntry& aEntry, CRichText& aBody) { if (inbox) { iMsvEntry->SetEntryL(KMsvGlobalInBoxIndexEntryId); } else if (drafts) { iMsvEntry->SetEntryL(KMsvDraftEntryId); } // Get the global inbox. iMsvEntry->CreateL(aEntry); iMsvEntry->SetEntryL(aEntry.Id()); // Save all the changes CMsvStore* store = iMsvEntry->EditStoreL(); CleanupStack::PushL(store); if (store->HasBodyTextL()) { store->DeleteBodyTextL(); } CPlainText* pText = CPlainText::NewL(); CleanupStack::PushL(pText); if (inbox) { CSmsHeader* smsHeader = CSmsHeader::NewL(CSmsPDU::ESmsDeliver, *pText); CleanupStack::PushL(smsHeader); smsHeader->SetFromAddressL(*tempNumber); smsHeader->StoreL(*store); } else if (drafts) { QString recepient(TEST_MSG_FROM1); QString recepient2(TEST_MSG_FROM2); QString alias(TEST_MSG_ALIAS1); HBufC* addr = XQConversions::qStringToS60Desc(recepient); HBufC* addr2 = XQConversions::qStringToS60Desc(recepient2); HBufC* alias1 = XQConversions::qStringToS60Desc(alias); CSmsHeader* smsHeader = CSmsHeader::NewL(CSmsPDU::ESmsSubmit, *pText); CleanupStack::PushL(smsHeader); CSmsNumber* number1 = CSmsNumber::NewL(); // create the instance CleanupStack::PushL(number1); number1->SetNameL(TPtrC()); number1->SetAddressL(*addr); smsHeader->Recipients().AppendL(number1); CleanupStack::Pop(number1); CSmsNumber* number2 = CSmsNumber::NewL(); CleanupStack::PushL(number2); number2->SetNameL(*alias1); number2->SetAddressL(*addr2); smsHeader->Recipients().AppendL(number2); CleanupStack::Pop(number2); smsHeader->StoreL(*store); } store->StoreBodyTextL(aBody); store->CommitL(); CleanupStack::PopAndDestroy(3); //store - close the store aEntry.SetComplete(ETrue); // Update the entry iMsvEntry->ChangeL(aEntry); iMsvEntry->SetEntryL(KMsvRootIndexEntryId); }