diff -r 5d7fec11a5ce -r 03d9ade4748d buildverification/autosmoketest/messaging/Src/TestMessProcessor.cpp --- a/buildverification/autosmoketest/messaging/Src/TestMessProcessor.cpp Fri Jun 11 16:24:17 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,288 +0,0 @@ -// Copyright (c) 2002-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 CTestMessProcessor which an active object utility -// used for send/recieving or any time consuming -// -// - -#include "TestMessProcessor.h" -#include "TestMessBase.h" - -CTestMessProcessor* CTestMessProcessor::NewL(CTestStep& aTestStep, CMsvSession& aSession) - { - CTestMessProcessor* self=new(ELeave) CTestMessProcessor(aTestStep, aSession); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - -CTestMessProcessor::CTestMessProcessor(CTestStep& aTestStep, CMsvSession& aSession) -: CActive(EPriorityStandard) -, iState(EStatePrepareToSendMsg) -, iTestStep(aTestStep) -, iSession(aSession) -, iEntry(NULL) -, iMsgId(KMsvRootIndexEntryId) -, iClient(NULL) -, iMsvOperation(NULL) -, iCancelSms(EFalse) - { - } - -CTestMessProcessor::~CTestMessProcessor() - { - delete iEntry; - iEntry=NULL; - delete iMsvOperation; - iMsvOperation=NULL; - } - -void CTestMessProcessor::ConstructL() - { - CActiveScheduler::Add(this); - } - -void CTestMessProcessor::DoCancel() - { - iTestStep.INFO_PRINTF1(_L("Cancel operation")); - iMsvOperation->Cancel(); - } - -void CTestMessProcessor::DisplayProgress() - { - // display the current progress - switch(iState) - { - case EStatePrepareToSendMsg: - { - TMsvLocalOperationProgress temp; - TPckgC progress(temp); - - progress.Set(iMsvOperation->ProgressL()); - iTestStep.INFO_PRINTF1(_L(" Progress")); - iTestStep.INFO_PRINTF2(_L(" Operation :%d"), progress().iType); - iTestStep.INFO_PRINTF2(_L(" Total Number Of Entries:%d"), progress().iTotalNumberOfEntries); - iTestStep.INFO_PRINTF2(_L(" Number Completed :%d"), progress().iNumberCompleted); - iTestStep.INFO_PRINTF2(_L(" Number Failed :%d"), progress().iNumberFailed); - iTestStep.INFO_PRINTF2(_L(" Number Remaining :%d"), progress().iNumberRemaining); - iTestStep.INFO_PRINTF2(_L(" Error :%d"), progress().iError); - iTestStep.INFO_PRINTF2(_L(" Id :%x"), progress().iId); - } - break; - case EStateRequest: - iClient->DisplayProgressL(EFalse, iMsvOperation); - break; - default: - break; - } - } - -void CTestMessProcessor::SendEmailMessageL(TMsvId aMsgId, MTestMessProcessorClient* aClient) - { - iMsgId=aMsgId; - iClient=aClient; - iState=EStatePrepareToSendMsg; - - delete iEntry; - iEntry=NULL; - iEntry=iSession.GetEntryL(iMsgId); - iMsgEntry=iEntry->Entry(); - iMsgEntry.SetSendingState(KMsvSendStateWaiting); - delete iMsvOperation; - iMsvOperation=NULL; - iMsvOperation=iEntry->ChangeL(iMsgEntry, iStatus); - SetActive(); - } - -/** - Sends the sms message. It sets the fields of the enty. - @param aMsgId - TMsvId of the message - @param aClient - Pointer to the MTestMessProcessClient - @param aCancelSms - Bool value for the Cancel sms flag -*/ -void CTestMessProcessor::SendSmsMessageL(TMsvId aMsgId, MTestMessProcessorClient* aClient, TBool aCancelSms) - { - iMsgId=aMsgId; - iClient=aClient; - iState=EStatePrepareToSendMsg; - iCancelSms = aCancelSms; - - delete iEntry; - iEntry=NULL; - iEntry=iSession.GetEntryL(iMsgId); - iMsgEntry=iEntry->Entry(); - iMsgEntry.SetConnected(ETrue); - iMsgEntry.SetFailed(EFalse); - iMsgEntry.SetSendingState(KMsvSendStateWaiting); - iMsgEntry.iError = KErrNone; - delete iMsvOperation; - iMsvOperation=NULL; - iMsvOperation=iEntry->ChangeL(iMsgEntry, iStatus); - SetActive(); - } - -void CTestMessProcessor::SendMmsMessageL(TMsvId aMsgId, MTestMessProcessorClient* aClient) - { - iMsgId=aMsgId; - iClient=aClient; - iState=EStatePrepareToSendMsg; - - delete iEntry; - iEntry=NULL; - iEntry=iSession.GetEntryL(iMsgId); - iMsgEntry=iEntry->Entry(); - iMsgEntry.SetSendingState(KMsvSendStateWaiting); - delete iMsvOperation; - iMsvOperation=NULL; - iMsvOperation=iEntry->ChangeL(iMsgEntry, iStatus); - SetActive(); - } - -void CTestMessProcessor::MtmRequestL(TMsvId aAccountId, MTestMessProcessorClient* aClient) - { - iMsgId=aAccountId; - iClient=aClient; - iState=EStateRequest; - - delete iEntry; - iEntry=NULL; - iEntry=iSession.GetEntryL(iMsgId); - iStatus = KRequestPending; - delete iMsvOperation; - iMsvOperation=NULL; - TRAPD(err, iMsvOperation=iClient->CreateOperationL(iStatus)); - if ( iTestStep.TestStepResult() == EPass && err==KErrNone ) - { - SetActive(); - } - } - -void CTestMessProcessor::RunL() - { - switch(iState) - { - case EStatePrepareToSendMsg: - switch (iStatus.Int()) - { - case KErrNone: - { - delete iMsvOperation; - iMsvOperation=NULL; - delete iEntry; - iEntry=NULL; - iEntry=iSession.GetEntryL(iMsgId); - iMsgEntry=iEntry->Entry(); - iMsgEntry.SetSendingState(KMsvSendStateWaiting); - iEntry->ChangeL(iMsgEntry); - if ( iMsgEntry.SendingState() == KMsvSendStateWaiting ) - { - iState=EStateRequest; - iStatus = KRequestPending; - TRAPD(err, iMsvOperation=iClient->CreateOperationL(iStatus)); - if ( iTestStep.TestStepResult() == EPass && err==KErrNone ) - { - SetActive(); - } - else - { - CActiveScheduler::Stop(); - } - } - else - { - iTestStep.ERR_PRINTF2(_L("Sending State not Waiting :%d"), iMsgEntry.SendingState()); - iTestStep.SetTestStepResult(EFail); - CActiveScheduler::Stop(); - } - } - break; - case KErrCancel: - { - if(iCancelSms) - { - iTestStep.INFO_PRINTF1(_L("Sending of the mesage Cancelled successfully")); - } - else - { - iTestStep.ERR_PRINTF2(_L("Message failed to Send, Error = %d"), iStatus.Int()); - iTestStep.SetTestStepResult(EFail); - } - CActiveScheduler::Stop(); - break; - } - default: - iTestStep.ERR_PRINTF2(_L("Unknown Event :%d"), iStatus.Int()); - iTestStep.SetTestStepResult(EFail); - CActiveScheduler::Stop(); - } - break; - case EStateRequest: - switch (iStatus.Int()) - { - case KErrNone: - { - TInt error=iClient->DisplayProgressL(ETrue, iMsvOperation); - if ( error != KErrNone ) - { - iTestStep.ERR_PRINTF2(_L("Progress Error:%d"), error); - iTestStep.SetTestStepResult(EFail); - } - delete iMsvOperation; - iMsvOperation=NULL; - - // Is there another operation - if ( iClient->MoreOperations() ) - { - iStatus = KRequestPending; - TRAPD(err, iMsvOperation=iClient->CreateOperationL(iStatus)); - if ( iTestStep.TestStepResult() == EPass && err==KErrNone ) - { - SetActive(); - } - else - { - CActiveScheduler::Stop(); - } - } - else - { - CActiveScheduler::Stop(); - } - } - break; - case KErrServerTerminated: - { - TInt error=iClient->DisplayProgressL(ETrue, iMsvOperation); - if ( error != KErrServerTerminated ) - { - iTestStep.ERR_PRINTF2(_L("Progress Error:%d"), error); - iTestStep.SetTestStepResult(EFail); - } - delete iMsvOperation; - iMsvOperation=NULL; - CActiveScheduler::Stop(); - } - default: - iTestStep.ERR_PRINTF2(_L("Unknown Event :%d"), iStatus.Int()); - iTestStep.SetTestStepResult(EFail); - CActiveScheduler::Stop(); - } - break; - default: - iTestStep.ERR_PRINTF1(_L("No handler found in CTestMessProcessor class")); - iTestStep.SetTestStepResult(EFail); - CActiveScheduler::Stop(); - } - }