diff -r 000000000000 -r 40261b775718 devsound/a3fintegrationtest/src/tsi_a3f_devsound_tone.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devsound/a3fintegrationtest/src/tsi_a3f_devsound_tone.h Tue Feb 02 01:56:55 2010 +0200 @@ -0,0 +1,249 @@ +// Copyright (c) 2007-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: +// Declarations of Integration test step classes for A3F DevSound Tone cases. +// +// + +#ifndef TSI_A3F_DEVSOUND_TONE_H +#define TSI_A3F_DEVSOUND_TONE_H + +// User includes +#include "tsi_a3f_devsound_teststep.h" + +// Enumerations +enum TDevSoundToneState + { + EStateToneStart = 0, + EStateToneInitializing, + EStateTonePlaying, + EStateTonePaused + }; + +enum TDevSoundToneEvents + { + EEventToneStart = 0, + EEventInitCompleteTone, + EEventToneTimerComplete + }; + +class RTestStepA3FDevSoundToneBase : public RAsyncTestStep, + public MDevSoundObserver + { +public: + // From RAsyncTestStep + virtual void KickoffTestL(); + void CloseTest(); + +protected: + RTestStepA3FDevSoundToneBase(const TDesC& aTestName, const TDesC& aSectName); + RTestStepA3FDevSoundToneBase(const TDesC& aTestName); + + virtual void DoKickoffTestL() = 0; + + // Executes the tone events of DevSound using a Finite State Machine + virtual void Fsm(TDevSoundToneEvents aDevSoundEvent, TInt aError) = 0; + + // From MDevSoundObserver + virtual void InitializeComplete(TInt aError); + virtual void ToneFinished(TInt aError); + virtual void BufferToBeFilled(CMMFBuffer* aBuffer); + virtual void PlayError(TInt aError); + virtual void BufferToBeEmptied(CMMFBuffer* aBuffer); + virtual void RecordError(TInt aError); + virtual void ConvertError(TInt aError); + virtual void DeviceMessage(TUid aMessageType, const TDesC8& aMsg); + + // Timer Callback + static TInt TimerCallback(TAny*); + virtual void DoTimerCallback(); + + TUint ConvertDesToTMMFSampleRate(const TDesC& aSampleRateString); + +protected: + + CMMFDevSound* iMMFDevSound; + TBuf iSectName; + CPeriodic* iTimer; + TCallBack iCallBack; + TDevSoundToneState iState; + TPtrC iSampleRate; + + }; + +/* + * + * RStepA3FDevSoundDTMFTonePlay + * - Set DTMF lengths and play DTMF string + * + */ +class RStepA3FDevSoundDTMFTonePlay : public RTestStepA3FDevSoundToneBase + { +public: + static RStepA3FDevSoundDTMFTonePlay* NewL(const TDesC& aTestName); + +private: + RStepA3FDevSoundDTMFTonePlay(const TDesC& aTestName); + + // From RTestStepA3FDevSoundToneBase + virtual void DoKickoffTestL(); + virtual void Fsm(TDevSoundToneEvents aDevSoundEvent, TInt aError); + + }; + +/* + * + * RStepA3FDevSoundNormalAndDualTonePlay + * - Set tone repeats and play normal tone + * - Set tone repeats and play dual tone + * + */ +class RStepA3FDevSoundNormalAndDualTonePlay : public RTestStepA3FDevSoundToneBase + { +public: + static RStepA3FDevSoundNormalAndDualTonePlay* NewL(const TDesC& aTestName, const TDesC& aSectName); + +private: + RStepA3FDevSoundNormalAndDualTonePlay(const TDesC& aTestName, const TDesC& aSectName); + + // From RTestStepA3FDevSoundToneBase + virtual void DoKickoffTestL(); + virtual void Fsm(TDevSoundToneEvents aDevSoundEvent, TInt aError); + +private: + TInt iRepeat; + TBool iDualTone; + + }; + +/* + * + * RStepA3FDevSoundInitializeWhileTonePlaying + * + */ +class RStepA3FDevSoundInitializeWhileTonePlaying : public RTestStepA3FDevSoundToneBase + { +public: + static RStepA3FDevSoundInitializeWhileTonePlaying* NewL(const TDesC& aTestName); + +private: + RStepA3FDevSoundInitializeWhileTonePlaying(const TDesC& aTestName); + + // From RTestStepA3FDevSoundToneBase + virtual void DoKickoffTestL(); + virtual void Fsm(TDevSoundToneEvents aDevSoundEvent, TInt aError); + + }; + +/* + * + * RStepA3FDevSoundNotSupportedPlayFixedSeq + * + */ +class RStepA3FDevSoundNotSupportedPlayFixedSeq : public RTestStepA3FDevSoundToneBase + { +public: + static RStepA3FDevSoundNotSupportedPlayFixedSeq* NewL(const TDesC& aTestName); + +private: + RStepA3FDevSoundNotSupportedPlayFixedSeq(const TDesC& aTestName); + + // From RTestStepA3FDevSoundToneBase + virtual void DoKickoffTestL(); + virtual void Fsm(TDevSoundToneEvents aDevSoundEvent, TInt aError); + + }; + +/* + * + * RStepA3FDevSoundInvalidInitializeForTone + * + */ +class RStepA3FDevSoundInvalidInitializeForTone : public RTestStepA3FDevSoundToneBase + { +public: + static RStepA3FDevSoundInvalidInitializeForTone* NewL(const TDesC& aTestName); + +private: + RStepA3FDevSoundInvalidInitializeForTone(const TDesC& aTestName); + + // From RTestStepA3FDevSoundToneBase + virtual void DoKickoffTestL(); + virtual void Fsm(TDevSoundToneEvents aDevSoundEvent, TInt aError); + + }; + +/* + * + * RStepA3FDevSoundCancelInitializeTone + * + */ +class RStepA3FDevSoundCancelInitializeTone : public RTestStepA3FDevSoundToneBase + { +public: + static RStepA3FDevSoundCancelInitializeTone* NewL(const TDesC& aTestName, const TDesC& aSectName); + +private: + RStepA3FDevSoundCancelInitializeTone(const TDesC& aTestName, const TDesC& aSectName); + + // From RTestStepA3FDevSoundToneBase + virtual void DoKickoffTestL(); + virtual void Fsm(TDevSoundToneEvents aDevSoundEvent, TInt aError); + + // From TimerCallback + virtual void DoTimerCallback(); + + // From MDevSoundObserver + virtual void InitializeComplete(TInt aError); + + }; + +/* + * + * RStepA3FDevSoundEmptyBuffersInitializedForTone + * + */ +class RStepA3FDevSoundEmptyBuffersInitializedForTone : public RTestStepA3FDevSoundToneBase + { +public: + static RStepA3FDevSoundEmptyBuffersInitializedForTone* NewL(const TDesC& aTestName, const TDesC& aSectName); + +private: + RStepA3FDevSoundEmptyBuffersInitializedForTone(const TDesC& aTestName, const TDesC& aSectName); + + // From RTestStepA3FDevSoundToneBase + virtual void DoKickoffTestL(); + virtual void Fsm(TDevSoundToneEvents aDevSoundEvent, TInt aError); + + }; + +/* + * + * RStepA3FDevSoundEmptyBuffersWhileTonePlaying + * + */ +class RStepA3FDevSoundEmptyBuffersWhileTonePlaying : public RTestStepA3FDevSoundToneBase + { +public: + static RStepA3FDevSoundEmptyBuffersWhileTonePlaying* NewL(const TDesC& aTestName); + +private: + RStepA3FDevSoundEmptyBuffersWhileTonePlaying(const TDesC& aTestName); + + // From RTestStepA3FDevSoundToneBase + virtual void DoKickoffTestL(); + virtual void Fsm(TDevSoundToneEvents aDevSoundEvent, TInt aError); + + }; + +#endif // TSI_A3F_DEVSOUND_TONE_H