diff -r 3a35f7917fa6 -r 5b5908ec640f buildverification/smoketest/messaging/Src/TestMessSharedData.cpp --- a/buildverification/smoketest/messaging/Src/TestMessSharedData.cpp Thu May 27 12:52:45 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,276 +0,0 @@ -// Copyright (c) 2004-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: -// This contains CTestMessSharedData -// -// - -#include "TestMessSharedData.h" - -#include -#include -#include -#include - -_LIT(KName, "name"); - -CTestMessSharedData* CTestMessSharedData::NewL() -/** - * @return - Instance of the test server - * Same code for Secure and non-secure variants - * Called inside the MainL() function to create and start the - * CTestServer derived server. - */ - { - CTestMessSharedData* sharedData = new (ELeave) CTestMessSharedData(); - CleanupStack::PushL(sharedData); - sharedData->ConstructL(); - CleanupStack::Pop(sharedData); - return sharedData; - } - -CTestMessSharedData::CTestMessSharedData() -: CBase() -, iSession(NULL) -, iMtmRegistry(NULL) -, iList(NULL) -, iAnyPostStepToDo(NULL) -, iDeleteTestStep(EFalse) - { - } - -void CTestMessSharedData::ConstructL() - { - iSession=CMsvSession::OpenSyncL(*this); - iMtmRegistry=CClientMtmRegistry::NewL(*iSession); - } - -CTestMessSharedData::~CTestMessSharedData() - { - while ( iList != NULL ) - { - CMsgEntry* entry=iList; - iList=iList->iNext; - delete entry; - } - delete iMtmRegistry; - iMtmRegistry=NULL; - delete iSession; - iSession=NULL; - } - -void CTestMessSharedData::DoProcessL() - { - if ( iAnyPostStepToDo != NULL ) - { - if (iDeleteTestStep) - { - iAnyPostStepToDo->DoCancelProcessL(); - iDeleteTestStep=EFalse; - } - else - { - iAnyPostStepToDo->DoProcessL(*iMtmRegistry); - } - iAnyPostStepToDo=NULL; - } - } - -void CTestMessSharedData::IMAP4ConnectAndSyncCompleteAfterDisconnectL(TUid aMtmId, TMsvId aMsvId, CTestStep& aStep) - { - iList=CMsgIMAP4ConnectAndSyncComplete::NewL(aMtmId, aMsvId, aStep, iList); - iAnyPostStepToDo=iList; - } - -TInt CTestMessSharedData::DeleteEntryL(CTestStep& aStep) - { - TInt ret=KErrNone; - TPtrC name; - - if ( !aStep.GetStringFromConfig(aStep.ConfigSection(), KName, name) ) - { - aStep.ERR_PRINTF1(_L("Name not found")); - aStep.SetTestStepResult(EFail); - ret=KErrArgument; - } - else - { - aStep.INFO_PRINTF2(_L("Name : %S"), &name); - - CMsgEntry* msgParent=NULL; - CMsgEntry* msgEntry=iList; - TBool found=EFalse; - - while ( (msgEntry!=NULL) && !found ) - { - if ( msgEntry->iName.Compare(name) == 0 ) - { - if ( msgParent!=NULL ) - { - msgParent->iNext=msgEntry->iNext; - } - else - { - iList=msgEntry->iNext; - } - iDeleteTestStep=ETrue; - iAnyPostStepToDo=msgEntry; - found=ETrue; - } - else - { - msgParent=msgEntry; - msgEntry=msgEntry->iNext; - } - } - - if ( !found ) - { - aStep.ERR_PRINTF1(_L("Message Entry not found")); - aStep.SetTestStepResult(EFail); - ret=KErrNotFound; - } - } - - return ret; - } - -CTestMessSharedData::CMsgEntry::CMsgEntry(CMsgEntry* aList) -: CActive(EPriorityStandard) -, iNext(aList) -, iReadyToBeDeleted(EFalse) - { - } - -void CTestMessSharedData::CMsgEntry::ConstructL(CTestStep& aStep) - { - TPtrC name; - - // Read in name tag - if ( !aStep.GetStringFromConfig(aStep.ConfigSection(), KName, name) ) - { - aStep.ERR_PRINTF1(_L("Name not found")); - aStep.SetTestStepResult(EFail); - } - else - { - aStep.INFO_PRINTF2(_L("Name : %S"), &name); - iName.Copy(name); - } - } - -CTestMessSharedData::CMsgEntry::~CMsgEntry() - { - } - -void CTestMessSharedData::CMsgEntry::DoCancel() - { - } - -void CTestMessSharedData::CMsgEntry::RunL() - { - iReadyToBeDeleted=ETrue; - } - -CTestMessSharedData::CMsgIMAP4ConnectAndSyncComplete* CTestMessSharedData::CMsgIMAP4ConnectAndSyncComplete::NewL(TUid aMtmId, TMsvId aMsvId, CTestStep& aStep, CMsgEntry* aList) - { - CMsgIMAP4ConnectAndSyncComplete* self= new (ELeave) CMsgIMAP4ConnectAndSyncComplete(aMtmId, aMsvId, aList); - CleanupStack::PushL(self); - self->ConstructL(aStep); - CleanupStack::Pop(self); - return self; - } - -CTestMessSharedData::CMsgIMAP4ConnectAndSyncComplete::CMsgIMAP4ConnectAndSyncComplete(TUid aMtmId, TMsvId aMsvId, CMsgEntry* aList) -: CMsgEntry(aList) -, iMtmId(aMtmId) -, iMsvId(aMsvId) -, iBaseMtm(NULL) -, iOperation(NULL) - { - } - -CTestMessSharedData::CMsgIMAP4ConnectAndSyncComplete::~CMsgIMAP4ConnectAndSyncComplete() - { - if ( iOperation != NULL ) - { - delete iOperation; - iOperation=NULL; - } - delete iBaseMtm; - iBaseMtm=NULL; - } - -void CTestMessSharedData::CMsgIMAP4ConnectAndSyncComplete::RunL() - { - CMsgEntry::RunL(); - delete iOperation; - iOperation=NULL; - delete iBaseMtm; - iBaseMtm=NULL; - - } - -void CTestMessSharedData::CMsgIMAP4ConnectAndSyncComplete::DoProcessL(CClientMtmRegistry& aMtmRegistry) - { - iBaseMtm=aMtmRegistry.NewMtmL(iMtmId); - CActiveScheduler::Add(this); - - iBaseMtm->SwitchCurrentEntryL(iMsvId); - CMsvEntrySelection* selection=new (ELeave) CMsvEntrySelection(); - CleanupStack::PushL(selection); - selection->Reset(); - selection->AppendL(iMsvId); - selection->AppendL(iMsvId); // remote inbox - - TPckg parameter(this); - iOperation=iBaseMtm->InvokeAsyncFunctionL(KIMAP4MTMConnectAndSyncCompleteAfterDisconnect, *selection, parameter, iStatus); - CleanupStack::PopAndDestroy(selection); - SetActive(); - } - -void CTestMessSharedData::CMsgIMAP4ConnectAndSyncComplete::DoCancelProcessL() - { - if ( iOperation != NULL ) - { - iOperation->Cancel(); - } - } - -void CTestMessSharedData::CMsgIMAP4ConnectAndSyncComplete::HandleImapConnectionEvent(TImapConnectionEvent aConnectionEvent) - { - switch (aConnectionEvent) - { - /** Connecting to server. */ - case EConnectingToServer: - break; - /** Synchronising folder list. */ - case ESynchronisingFolderList: - break; - /** Synchronising inbox. */ - case ESynchronisingInbox: - break; - /** Synchronising folders. */ - case ESynchronisingFolders: - break; - /** Synchronisation complete. */ - case ESynchronisationComplete: - break; - /** Disconnecting. */ - case EDisconnecting: - break; - /** Connection completed. */ - case EConnectionCompleted: - break; - } - }