--- a/messagingapp/msgutils/unidatamodel/univcaldataplugin/src/univcaldataplugin_p.cpp Fri Apr 16 14:56:15 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-//SYSTEM INCLUDES
-#include <e32cmn.h>
-#include <mtclreg.h>
-#include <mtclbase.h>
-#include <msvids.h>
-#include <txtetext.h>
-#include <txtrich.h>
-#include <txtfmlyr.h>
-#include <smsclnt.h>
-
-#include <bioscmds.h>
-#include <biocmtm.h>
-#include "debugtraces.h"
-
-#include <QDateTime>
-#include <s60qconversions.h>
-#include <mmsvattachmentmanager.h>
-
-#include "convergedmessage.h"
-#include "convergedmessageaddress.h"
-#include "univcaldataplugin_p.h"
-#include "sessioneventhandler.h"
-
-#define KBioUidValue 0x10001262
-const TUid KBioUidValueUid =
-{KBioUidValue};
-
-
-_LIT(KUnixEpoch, "19700000:000000.000000");
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::~UniVCalDataPluginPrivate
-// @see header
-//---------------------------------------------------------------
-UniVCalDataPluginPrivate::~UniVCalDataPluginPrivate()
-{
- q_ptr = NULL;
- if (iMsvEntry)
- {
- delete iMsvEntry;
- }
-
- delete iBioClientMtm;
- delete iMtmReg;
- delete iSessionHandler;
- delete iMSession;
-
-}
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::UniVCalDataPluginPrivate
-// @see header
-//---------------------------------------------------------------
-UniVCalDataPluginPrivate::UniVCalDataPluginPrivate(UniVCalDataPlugin* plugin) :
- q_ptr(plugin), iMSession(NULL), iMtmReg(NULL), iBioClientMtm(NULL),
- iMsvEntry(NULL), iSessionHandler(NULL)
-{
- iSessionHandler = new SessionEventHandler();
- // Create a new messaging server session..
- iMSession = CMsvSession::OpenSyncL(*iSessionHandler);
- iSessionHandler->start();
- done = EFalse;
-}
-
-void UniVCalDataPluginPrivate::initL()
-{
- iMtmReg = CClientMtmRegistry::NewL(*iMSession);
- iBioClientMtm = (CBIOClientMtm*) iMtmReg->NewMtmL(KBioUidValueUid);
-
- attachmentProcessed = EFalse;
- done = ETrue;
-
-}
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::reset
-// @see header
-//---------------------------------------------------------------
-void UniVCalDataPluginPrivate::reset()
-{
-}
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::setMessageId
-// @see header
-//---------------------------------------------------------------
-int UniVCalDataPluginPrivate::setMessageId(int mId)
-{
- TInt error = KErrNone;
- TRAP(error, setMessageIdL(mId));
- return error;
-}
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::setMessageIdL
-// @see header
-//---------------------------------------------------------------
-void UniVCalDataPluginPrivate::setMessageIdL(int mId)
-{
- if (done == EFalse)
- {
- initL();
- }
- iMessageId = (TMsvId) mId;
- iBioClientMtm->SwitchCurrentEntryL(iMessageId);
-
- iMsvEntry = CMsvEntry::NewL(iBioClientMtm->Session(),
- iMessageId,
- TMsvSelectionOrdering());
-
- iBioClientMtm->LoadMessageL();
-}
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::body
-// @see header
-//---------------------------------------------------------------
-void UniVCalDataPluginPrivate::body(QString& aBodyText)
-{
-
- CRichText& textBody = iBioClientMtm->Body();
- TInt len = textBody.DocumentLength();
- HBufC* buf = HBufC::NewL(len);
- TPtr bufPtr = buf->Des();
- textBody.ExtractSelectively(bufPtr, 0, len, CPlainText::EExtractAll);
- aBodyText = S60QConversions::s60DescToQString(*buf);
- delete buf;
-}
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::messageSize
-// @see header
-//---------------------------------------------------------------
-qint32 UniVCalDataPluginPrivate::messageSize()
-{
- return iBioClientMtm->Entry().Entry().iSize;
-}
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::toRecipientList
-// @see header
-//---------------------------------------------------------------
-void UniVCalDataPluginPrivate::toRecipientList(
- ConvergedMessageAddressList& mAddressList)
-{
- TPtrC name;
- TPtrC address;
-
- CPlainText* pText = CPlainText::NewL();
- CleanupStack::PushL(pText);
-
- CSmsHeader* smsHeader = CSmsHeader::NewL(CSmsPDU::ESmsSubmit, *pText);
- CleanupStack::PushL(smsHeader);
-
- CMsvStore* store = iMsvEntry->ReadStoreL();
- CleanupStack::PushL(store);
-
- smsHeader->RestoreL(*store);
-
- for (TInt id = 0; id < smsHeader->Recipients().Count(); ++id)
- {
- CSmsNumber* rcpt = smsHeader->Recipients()[id];
- name.Set(rcpt->Name());
- address.Set(rcpt->Address());
-
- ConvergedMessageAddress
- * messageAddress =
- new ConvergedMessageAddress(S60QConversions::s60DescToQString(address),
- S60QConversions::s60DescToQString(name));
- mAddressList.append(messageAddress);
- }
- CleanupStack::PopAndDestroy(3, pText);
-
-}
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::fromAddress
-// @see header
-//---------------------------------------------------------------
-void UniVCalDataPluginPrivate::fromAddress(QString& messageAddress)
-{
- CPlainText* pText = CPlainText::NewL();
- CleanupStack::PushL(pText);
-
- CSmsHeader* smsHeader = CSmsHeader::NewL(CSmsPDU::ESmsDeliver, *pText);
- CleanupStack::PushL(smsHeader);
-
- CMsvStore* store = iMsvEntry->ReadStoreL();
- CleanupStack::PushL(store);
-
- smsHeader->RestoreL(*store);
-
- messageAddress
- = S60QConversions::s60DescToQString(smsHeader->FromAddress());
- CleanupStack::PopAndDestroy(3, pText);
-}
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::timeStamp
-// @see header
-//---------------------------------------------------------------
-int UniVCalDataPluginPrivate::timeStamp()
-{
- QDateTime retTimeStamp;
- TTime timeStamp = iBioClientMtm->Entry().Entry().iDate;
- TTime unixEpoch(KUnixEpoch);
- TTimeIntervalSeconds seconds;
- timeStamp.SecondsFrom(unixEpoch, seconds);
- return seconds.Int();
-}
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::attachmentList
-// @see header
-//---------------------------------------------------------------
-RFile UniVCalDataPluginPrivate::attachmentL()
-{
- if (attachmentProcessed)
- {
-
- CMsvStore* store1 = iMsvEntry->ReadStoreL();
- CleanupStack::PushL(store1);
- MMsvAttachmentManager& attachMan = store1->AttachmentManagerL();
- RFile file = attachMan.GetAttachmentFileL(0);
- CleanupStack::PopAndDestroy(store1);
- return file;
- }
-
- CMsvEntrySelection* selection = new (ELeave) CMsvEntrySelection;
- CleanupStack::PushL(selection);
-
- selection->AppendL(iMessageId);
-
- TBuf8<1> aParameter;
- CMsvOperationWait* wait = CMsvOperationWait::NewLC();
- wait->iStatus = KRequestPending;
- wait->Start();
-
- CMsvOperation* operation =
- iBioClientMtm->InvokeAsyncFunctionL(KBiosMtmParse,
- *selection,
- aParameter,
- wait->iStatus);
-
- CActiveScheduler::Start();
-
- CMsvStore* store = iMsvEntry->ReadStoreL();
- CleanupStack::PushL(store);
- MMsvAttachmentManager& attachMan = store->AttachmentManagerL();
- RFile file = attachMan.GetAttachmentFileL(0);
-
- delete operation;
- CleanupStack::PopAndDestroy(3,selection);
- attachmentProcessed = ETrue;
- return file;
-
-}
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::attachmentCount
-// @see header
-//---------------------------------------------------------------
-
-int UniVCalDataPluginPrivate::attachmentCount()
-{
- if (!attachmentProcessed)
- {
- RFile file = attachmentL();
- file.Close();
- }
-
- CMsvStore* store = iMsvEntry->ReadStoreL();
- CleanupStack::PushL(store);
-
- MMsvAttachmentManager& attachMan = store->AttachmentManagerL();
- int count = attachMan.AttachmentCount();
- CleanupStack::PopAndDestroy(store);
-
- return count;
-}
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::messagePriority
-// @see header
-//---------------------------------------------------------------
-
-MsgPriority UniVCalDataPluginPrivate::messagePriority()
-{
-
- MsgPriority priority = (MsgPriority) iMsvEntry->Entry().Priority();
- return priority;
-}
-
-//---------------------------------------------------------------
-// UniVCalDataPluginPrivate::session
-// @see header
-//---------------------------------------------------------------
-CMsvSession* UniVCalDataPluginPrivate::session()
-{
- return iMSession;
-}
-