sl@0: // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Header file: Video Player Tests. sl@0: // sl@0: // sl@0: sl@0: #ifndef TESTVIDEOPLAYER_SECDISP_H sl@0: #define TESTVIDEOPLAYER_SECDISP_H sl@0: sl@0: #include "tsi_mmf_vclntavi_stepbase.h" sl@0: sl@0: class CTestVclntAviPlayTimer; sl@0: sl@0: /** sl@0: * sl@0: * RTestVclntSetScrIdAndPlayBase sl@0: * sl@0: */ sl@0: class RTestVclntSetScrIdAndPlayBase : public RTestVclntAviPlayerStep sl@0: { sl@0: public: sl@0: RTestVclntSetScrIdAndPlayBase(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber); sl@0: sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode) = 0; sl@0: // timer handling sl@0: virtual void FinishedL(); sl@0: // Just to handle the behaviour of ARMV5 sl@0: virtual void MvpuoOpenComplete(TInt aError); sl@0: protected: sl@0: TInt iScreenNumber; // Stores screen number sl@0: TInt iCurrentScreenNumber; // Stores currently active screen number sl@0: }; sl@0: sl@0: /** sl@0: * Set the screen id and Play the video file. sl@0: * Set the invalid screen id and Play the video file. sl@0: * sl@0: * RTestVclntSetScrIdAndPlayAviFile sl@0: * MM-MMF-VCLNTAVI-I-0201-CP, MM-MMF-VCLNTAVI-I-0251-CP sl@0: * sl@0: */ sl@0: class RTestVclntSetScrIdAndPlayAviFile : public RTestVclntSetScrIdAndPlayBase sl@0: { sl@0: public: sl@0: static RTestVclntSetScrIdAndPlayAviFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: private: sl@0: RTestVclntSetScrIdAndPlayAviFile(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber); sl@0: }; sl@0: sl@0: sl@0: /** sl@0: * Set the screen id and Play video descriptor. sl@0: * sl@0: * RTestVclntSetScrIdAndPlayAviDes sl@0: * MM-MMF-VCLNTAVI-I-0202-CP sl@0: * sl@0: */ sl@0: class RTestVclntSetScrIdAndPlayAviDes : public RTestVclntSetScrIdAndPlayBase sl@0: { sl@0: public: sl@0: static RTestVclntSetScrIdAndPlayAviDes* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual TVerdict DoTestStepPreambleL(); sl@0: virtual TVerdict DoTestStepPostambleL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: protected: sl@0: HBufC8* iVideo; // Buffer for holding video descriptor data sl@0: private: sl@0: RTestVclntSetScrIdAndPlayAviDes(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber) ; sl@0: } ; sl@0: sl@0: /** sl@0: * Set the screen id and Play video from URL. sl@0: * sl@0: * RTestVclntSetScrIdAndPlayAviUrl sl@0: * MM-MMF-VCLNTAVI-I-0203-CP sl@0: * sl@0: */ sl@0: sl@0: class RTestVclntSetScrIdAndPlayAviUrl : public RTestVclntSetScrIdAndPlayBase sl@0: { sl@0: public: sl@0: static RTestVclntSetScrIdAndPlayAviUrl* NewL(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: private: sl@0: RTestVclntSetScrIdAndPlayAviUrl(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber); sl@0: }; sl@0: sl@0: /** sl@0: * Set the screen id and play video file, Stop.Again set the screen id and play. sl@0: * Set the screen id after stop and play again. sl@0: * sl@0: * RTestVclntSetScrIdAndPlayStopAviFile sl@0: * MM-MMF-VCLNTAVI-I-0204-CP, MM-MMF-VCLNTAVI-I-0206-CP sl@0: * sl@0: */ sl@0: class RTestVclntSetScrIdAndPlayStopAviFile : public RTestVclntSetScrIdAndPlayBase sl@0: { sl@0: public: sl@0: static RTestVclntSetScrIdAndPlayStopAviFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber, TInt aScreenNumber2); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: sl@0: // timer handling sl@0: void FinishedL(); sl@0: protected: sl@0: CTestVclntAviPlayTimer* iPlayTimer; sl@0: TBool iRestarted; sl@0: TInt iScreenNumber2; // Stores screen number sl@0: TInt iCountNumber; sl@0: TFileName iFilename2; sl@0: private: sl@0: RTestVclntSetScrIdAndPlayStopAviFile(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber, TInt aScreenNumber2); sl@0: }; sl@0: sl@0: /** sl@0: * Set the screen id and play video file, Pause.Again set the screen id and play. sl@0: * Set the screen ID after Pause and play again. sl@0: * sl@0: * RTestVclntSetScrIdAndPlayPauseAviFile sl@0: * MM-MMF-VCLNTAVI-I-0205-CP, MM-MMF-VCLNTAVI-I-0207-CP sl@0: * sl@0: */ sl@0: class RTestVclntSetScrIdAndPlayPauseAviFile : public RTestVclntSetScrIdAndPlayBase sl@0: { sl@0: public: sl@0: static RTestVclntSetScrIdAndPlayPauseAviFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber, TInt aScreenNumber2); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: sl@0: // timer handling sl@0: void FinishedL(); sl@0: protected: sl@0: CTestVclntAviPlayTimer* iPlayTimer; sl@0: TBool iRestarted; sl@0: TInt iScreenNumber2; // Stores screen number sl@0: TInt iCountNumber; sl@0: TFileName iFilename2; sl@0: private: sl@0: RTestVclntSetScrIdAndPlayPauseAviFile(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber, TInt aScreenNumber2); sl@0: }; sl@0: sl@0: /** sl@0: * Set screen ID after play complete first time and before open the second time. sl@0: * sl@0: * RTestVclntSetScrIdAfterPlayAndPlayAviFile sl@0: * MM-MMF-VCLNTAVI-I-0208-CP sl@0: * sl@0: */ sl@0: class RTestVclntSetScrIdAfterPlayAndPlayAviFile : public RTestVclntSetScrIdAndPlayBase sl@0: { sl@0: public: sl@0: static RTestVclntSetScrIdAfterPlayAndPlayAviFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: protected: sl@0: TInt iCountNumber; sl@0: private: sl@0: RTestVclntSetScrIdAfterPlayAndPlayAviFile(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber); sl@0: }; sl@0: sl@0: /** sl@0: * Set screen ID after Open but before play sl@0: * sl@0: * RTestVclntSetScrIdAfterOpenAndPlayAviFile sl@0: * MM-MMF-VCLNTAVI-I-0209-CP sl@0: * sl@0: */ sl@0: class RTestVclntSetScrIdAfterOpenAndPlayAviFile : public RTestVclntSetScrIdAndPlayBase sl@0: { sl@0: public: sl@0: static RTestVclntSetScrIdAfterOpenAndPlayAviFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: protected: sl@0: TInt iCountNumber; sl@0: private: sl@0: RTestVclntSetScrIdAfterOpenAndPlayAviFile(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber); sl@0: }; sl@0: sl@0: /** sl@0: * Set screen ID during Play sl@0: * sl@0: * RTestVclntSetScrIdDuringPlayAndPlayAviFile sl@0: * MM-MMF-VCLNTAVI-I-0211-CP sl@0: * sl@0: */ sl@0: class RTestVclntSetScrIdDuringPlayAndPlayAviFile : public RTestVclntSetScrIdAndPlayBase sl@0: { sl@0: public: sl@0: static RTestVclntSetScrIdDuringPlayAndPlayAviFile* NewL(const TDesC& aTestName,const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber); sl@0: virtual TVerdict DoTestStepL(); sl@0: virtual void FsmL(TVclntTestPlayEvents aEventCode); sl@0: protected: sl@0: TInt iCountNumber; sl@0: private: sl@0: RTestVclntSetScrIdDuringPlayAndPlayAviFile(const TDesC& aTestName, const TDesC& aSectName,const TDesC& aKeyName, TInt aExpectedError, TInt aScreenNumber); sl@0: }; sl@0: sl@0: /** sl@0: * sl@0: * CTestVclntAviPlayTimer sl@0: * - Timer for those test classes requiring timed stop sl@0: * sl@0: */ sl@0: class CTestVclntAviPlayTimer : public CTimer sl@0: { sl@0: public: sl@0: static CTestVclntAviPlayTimer* NewL(RTestVclntSetScrIdAndPlayBase* aParent, TTimeIntervalMicroSeconds32 aWaitTime); sl@0: void Start(); sl@0: protected: sl@0: TInt RunError(TInt aError); sl@0: void RunL(); sl@0: private: sl@0: CTestVclntAviPlayTimer(RTestVclntSetScrIdAndPlayBase* aParent, TTimeIntervalMicroSeconds32 aWaitTime); sl@0: RTestVclntSetScrIdAndPlayBase* iParent; sl@0: TTimeIntervalMicroSeconds32 iWaitTime; sl@0: }; sl@0: sl@0: #endif //TESTVIDEOPLAYER_SECDISP_H