diff -r 000000000000 -r e686773b3f54 phonebookengines/contactsmodel/tsrc/Integration/TestStartUp/src/TestStartUpExeStep.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookengines/contactsmodel/tsrc/Integration/TestStartUp/src/TestStartUpExeStep.cpp Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,131 @@ +// Copyright (c) 2005-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: +// + +#include "TestStartUpExeStep.h" + +CTestStartUpExeStep::~CTestStartUpExeStep() +/** + * Destructor + */ + { + } + +CTestStartUpExeStep::CTestStartUpExeStep(CTestStartUpServer& aTestServerPtr) +/** + * Constructor + */ + { + // Call base class method to set up the human readable name for logging + SetTestStepName(KTestStartUpExeStep); + iTestServerPtr = &aTestServerPtr; + } + +TVerdict CTestStartUpExeStep::doTestStepPreambleL() +/**Step + * @return - TVerdict code + * Override of base class virtual + */ + { + SetTestStepResult(EPass); + GetStringFromConfig(ConfigSection(),KStartupnameTag,iCntsStarupExeName); + GetStringFromConfig(ConfigSection(),KStartupActionTag,iStartupAction); + GetIntFromConfig(ConfigSection(),KExitReasonTag,iExitReasonFromIni); + GetStringFromConfig(ConfigSection(),KModeTag,iServerMode); + + //Fetch the expected exit type for the cnts server process and convert + //to the correct type + TInt exitTypeFromIni; + if (GetIntFromConfig(ConfigSection(),KExitTypeTag,exitTypeFromIni)) + { + switch (exitTypeFromIni) + { + case (0): + iExitTypeFromIni = EExitKill; + break; + + case (1): + iExitTypeFromIni = EExitTerminate; + break; + + case (2): + iExitTypeFromIni = EExitPanic; + break; + + case (3): + iExitTypeFromIni = EExitPending; + break; + + default: + _LIT(KinvalidExitType,"Invalid Exit Type Read From ini File"); + ERR_PRINTF1(KinvalidExitType); + SetTestStepResult(EFail); + } + } + return TestStepResult(); + } + + +TVerdict CTestStartUpExeStep::doTestStepL() +/** + * @return - TVerdict code + * Override of base class virtual. Implements the main control + * for the test step. Depending on the action requested the stored + * TestServer pointer is used to either launch, terminate or check + * the contacts server. + */ + { + SetTestStepResult(EPass); + + if (iStartupAction.Compare(KLaunch) == KErrNone) + { + TInt err = iTestServerPtr->LaunchCntsStartUpExe(iCntsStarupExeName,iServerMode); + if(err != KErrNone) + { + SetTestStepResult(EFail); + } + } + + else if (iStartupAction.Compare(KCheck) == KErrNone) + { + TBool res = iTestServerPtr->CheckCntsStartUpExe(iExitTypeFromIni,iExitReasonFromIni); + if(!res) + { + SetTestStepResult(EFail); + } + } + + else if (iStartupAction.Compare(KTerminate) == KErrNone) + { + iTestServerPtr->TermCntsStartUpExe(); + } + + else + { + //illegal action + SetTestStepResult(EFail); + } + + return TestStepResult(); + }; + + + TVerdict CTestStartUpExeStep::doTestStepPostambleL() + /** + * @return - TVerdict code + * Override of base class virtual + */ + { + return TestStepResult(); + }