diff -r 000000000000 -r 40261b775718 mmlibs/mmfw/tsrc/mmfintegrationtest/Ctlfrm/TSI_MmfCtlfrmStep.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/Ctlfrm/TSI_MmfCtlfrmStep.h Tue Feb 02 01:56:55 2010 +0200 @@ -0,0 +1,163 @@ +// 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: +// + +#ifndef __TSI_MMFCTLFRMSTEP_H__ +#define __TSI_MMFCTLFRMSTEP_H__ + +#include +#include +#include + +// Test controller/data plugin UIDs. +// These are custom controllers provided by Integration Testing + +// dummy controller +#define KTSIMmfControllerUid 0x101f7bfa +#define KTSIMmfController2Uid 0x101f7bfc +#define KTSIMmfDataSinkUid 0x101f7bfe +#define KTSIMmfDataSourceUid 0x101f7c00 + +#define KTextBufLen 64 + +// priorities for controllers +enum TTSIMmfPriority + { + ETSIMmfPriorityLow = 1, + ETSIMmfPriorityHigh = 11 + }; + +// ----------------------------------- +// RTestStepMmfCtlfrm, which is the base class for all +// the MMF CTLFRM suite test steps. +class RTestStepMmfCtlfrm : public RTestStep + { +public: + RTestStepMmfCtlfrm(); + }; + +// RTestStepMmfCtlfrmTest1 +// base class with preamble / postamble to open and close a test controller +class RTestStepMmfCtlfrmTest1 : public RTestStepMmfCtlfrm + { +public: + TVerdict OpenL(); + void Close(); +protected: + RMMFController iController; + TMMFPrioritySettings iSettings; + }; + +// RTestStepMmfCtlfrmTest2 +// base class with preamble / postamble to open and close a test controller 2 +class RTestStepMmfCtlfrmTest2 : public RTestStepMmfCtlfrm + { +public: + TVerdict OpenL(); + void Close(); +protected: + RMMFController iController; + TMMFPrioritySettings iSettings; + }; + +// RTestStepMmfCtlfrmAudio +// base class with preamble / postamble to open and close the audio controller +// configured to receive events from the controlled +class RTestStepMmfCtlfrmAudio : public RTestStepMmfCtlfrm + { +public: + TVerdict OpenL(); + void Close(); + +protected: + //[ check if the event status is pending ] + TBool IsTimeOut( TRequestStatus& aEventStatus ); + //[ cancel received events ] + void CancelReceivedEvents(); + //[ is event sought the one we received ] + TBool IsSoughtEvent( TMMFEvent& aExpectedEvent, TMMFEventPckg& receivedEvent ); + // [ search for expected event ] + TVerdict SearchForEvent( TMMFEvent& aExpectedEvent ); + +protected: + RMMFController iController; + TMMFPrioritySettings iSettings; + RTimer iTimer ; // escape timer for waiting on events + TMMFFileConfig iFileConfig; // audio file + }; + +// RTestStepMmfCtlfrmAudioPrimed +// same as above, with source/sink handles, and is primed in the preamble +class RTestStepMmfCtlfrmAudioPrimed : public RTestStepMmfCtlfrmAudio + { +public: + TVerdict OpenL(); + void Close(); + +protected: + TMMFMessageDestination* iSourceHandlePtr; + TMMFMessageDestination* iSinkHandlePtr; + }; + +// RTestStepMmfCtlfrmAudioNoSource +// same as RTestStepMmfCtlfrmAudio, but has no source or sink loaded yet +class RTestStepMmfCtlfrmAudioNoSource : public RTestStepMmfCtlfrmAudio + { +public: + TVerdict OpenL(); + }; + +// RTestStepMmfCtlfrmDualAudio +// same as RTestStepMmfCtlfrmAudio, with 2 identical controllers +class RTestStepMmfCtlfrmDualAudio : public RTestStepMmfCtlfrm + { +public: + TVerdict OpenL(); + void Close(); + +protected: + //[ check if the event status is pending ] + TBool IsTimeOut( TRequestStatus& aEventStatus ); + //[ cancel received events ] + void CancelReceivedEvents( TInt aWhichController ); + //[ is event sought the one we received ] + TBool IsSoughtEvent( TMMFEvent& aExpectedEvent, TMMFEventPckg& receivedEvent ); + // [ search for expected event ] + TVerdict SearchForEvent( TMMFEvent& aExpectedEvent, TInt aWhichController ); + +protected: + RMMFController iController1; + RMMFController iController2; + TMMFPrioritySettings iSettings; + RTimer iTimer ; // escape timer for waiting on events + TMMFFileConfig iFileConfig1; // audio file + TMMFFileConfig iFileConfig2; // audio file + }; + +// RTestStepMmfCtlfrmVideo +// base class with preamble / postamble to open and close the video controller +class RTestStepMmfCtlfrmVideo : public RTestStepMmfCtlfrm + { +public: + TVerdict OpenL(); + void Close(); + +protected: + RMMFController iController; + TMMFPrioritySettings iSettings; + TMMFFileConfig iFileConfig; // video file + }; + + +#endif // __TSI_MMFCTLFRMSTEP_H__