os/mm/mmlibs/mmfw/tsrc/mmfintegrationtest/ACLNT/tonetruepause.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 #ifndef TONETRUEPAUSE_H
    17 #define TONETRUEPAUSE_H
    18 
    19 #include <testframework.h>
    20 #include "TSI_MMFACLNT.h"
    21 #include "truepauseconstants.h"
    22 
    23 /*
    24  *========================================================================================================
    25  * Base class for TruePause Tone utility test steps in this suite.
    26  *========================================================================================================
    27  */
    28 
    29 class RMdaToneUtilityTestBase: public RAsyncTestStep, public MMdaAudioToneObserver
    30 	{
    31 public:
    32 	// from RAsyncTestStep
    33 	void KickoffTestL();
    34 	void CloseTest();
    35 protected:
    36 	RMdaToneUtilityTestBase(const TDesC& aTestName, const TDesC& aSectName);
    37 	~RMdaToneUtilityTestBase();
    38 	virtual void DoKickoffTestL() = 0;
    39 	virtual void DoTimerCallback() = 0;
    40 	static TInt TimerCallback(TAny*);
    41 	void StartTimer(TTimeIntervalMicroSeconds32 aWaitTime);
    42 
    43 	// Executes events of MdaToneUtility using a Finite State Machine
    44 	virtual void Fsm(TMdaAudioUtilityEvent aMdaAudioUtilityEvent, TInt aError);
    45 	
    46 	// From MMdaAudioToneObserver
    47 	virtual void MatoPrepareComplete(TInt aError);
    48 	virtual void MatoPlayComplete(TInt aError);
    49 	
    50 protected:
    51 	TMdaAudioUtilityState iToneUtilityState;
    52 	CMdaAudioToneUtility* iToneUtility;
    53 	CPeriodic* iTimer;
    54 	TBool iWait;
    55 	TBool iStop;
    56 	TBool iConfig;
    57 	TBool iPrepare;
    58 	TBool iNegative;	
    59 	TInt iCount;
    60 	TInt iVolume;
    61 	TInt iBalance;
    62 	TInt iDuration;
    63 	TInt iPause;
    64 	TInt iExpected;
    65 	
    66 	//To track elapsed time
    67 	TTime iEndTime;
    68 	TTime iStartTime;
    69 	
    70 	// Handle for the audio file for playing and recording
    71 	RFile iFile;
    72 	TFileName iFilename;
    73 	// Handle to a file server session
    74 	RFs iFs;
    75 	TBuf<KNameBufSize> iSectName;		// Section name for retrieving filename
    76 	};
    77 
    78 /*
    79  *========================================================================================================
    80  * MM-MMF-ACLNT-I-0168-HP
    81  *========================================================================================================
    82  */
    83 class RMdaToneUtilityResumeTest : public RMdaToneUtilityTestBase
    84 	{
    85 public:
    86 	static RMdaToneUtilityResumeTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
    87 private:
    88 	RMdaToneUtilityResumeTest(const TDesC& aTestName, const TDesC& aSectName);
    89 	void DoKickoffTestL();
    90 	void DoTimerCallback();
    91 	};
    92 
    93 /*
    94  *========================================================================================================
    95  * MM-MMF-ACLNT-I-0169-HP
    96  *========================================================================================================
    97  */
    98 class RMdaToneUtilityResumeThreeTest : public RMdaToneUtilityTestBase
    99 	{
   100 public:
   101 	static RMdaToneUtilityResumeThreeTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
   102 private:
   103 	RMdaToneUtilityResumeThreeTest(const TDesC& aTestName, const TDesC& aSectName);
   104 	void DoKickoffTestL();
   105 	void DoTimerCallback();
   106 	};
   107 
   108 /*
   109  *========================================================================================================
   110  * MM-MMF-ACLNT-I-0170-HP
   111  *========================================================================================================
   112  */
   113 class RMdaToneUtilityPlayPauseStopPlayTest : public RMdaToneUtilityTestBase
   114 	{
   115 public:
   116 	static RMdaToneUtilityPlayPauseStopPlayTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
   117 private:
   118 	RMdaToneUtilityPlayPauseStopPlayTest(const TDesC& aTestName, const TDesC& aSectName);
   119 	void DoKickoffTestL();
   120 	void DoTimerCallback();
   121 	};
   122 
   123 /*
   124  *========================================================================================================
   125  * MM-MMF-ACLNT-I-0171-HP
   126  *========================================================================================================
   127  */
   128 class RMdaToneUtilityConfigResumeTest : public RMdaToneUtilityTestBase
   129 	{
   130 public:
   131 	static RMdaToneUtilityConfigResumeTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
   132 private:
   133 	RMdaToneUtilityConfigResumeTest(const TDesC& aTestName, const TDesC& aSectName);
   134 	void DoKickoffTestL();
   135 	void DoTimerCallback();
   136 	};
   137 
   138 /*
   139  *========================================================================================================
   140  * MM-MMF-ACLNT-I-0172-HP
   141  *========================================================================================================
   142  */
   143 class RMdaToneUtilityPrepareInPauseTest : public RMdaToneUtilityTestBase
   144 	{
   145 public:
   146 	static RMdaToneUtilityPrepareInPauseTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
   147 private:
   148 	RMdaToneUtilityPrepareInPauseTest(const TDesC& aTestName, const TDesC& aSectName);
   149 	void DoKickoffTestL();
   150 	void DoTimerCallback();
   151 	// From MMdaAudioToneObserver
   152 	void MatoPrepareComplete(TInt aError);
   153 	};
   154 
   155 /*
   156  *========================================================================================================
   157  * MM-MMF-ACLNT-I-0173-HP
   158  *========================================================================================================
   159  */
   160 class RMdaToneUtilityPauseBeforePlayTest : public RMdaToneUtilityTestBase
   161 	{
   162 public:
   163 	static RMdaToneUtilityPauseBeforePlayTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
   164 private:
   165 	RMdaToneUtilityPauseBeforePlayTest(const TDesC& aTestName, const TDesC& aSectName);
   166 	void DoKickoffTestL();
   167 	void DoTimerCallback();
   168 	// From MMdaAudioToneObserver
   169 	void MatoPrepareComplete(TInt aError);
   170 	// Executes events of MdaToneUtility using a Finite State Machine
   171 	void Fsm(TMdaAudioUtilityEvent aMdaAudioUtilityEvent, TInt aError);
   172 	};
   173 
   174 /*
   175  *========================================================================================================
   176  * MM-MMF-ACLNT-I-0174-HP
   177  *========================================================================================================
   178  */
   179 class RMdaToneUtilityNegPauseResumeTest : public RMdaToneUtilityTestBase
   180 	{
   181 public:
   182 	static RMdaToneUtilityNegPauseResumeTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
   183 private:
   184 	RMdaToneUtilityNegPauseResumeTest(const TDesC& aTestName, const TDesC& aSectName);
   185 	void DoKickoffTestL();
   186 	void DoTimerCallback();
   187 	// From MMdaAudioToneObserver
   188 	void MatoPlayComplete(TInt aError);
   189 	};
   190 
   191 /*
   192  *========================================================================================================
   193  * MM-MMF-ACLNT-I-0183-HP
   194  *========================================================================================================
   195  */
   196 class RMdaToneUtilityPauseNonA3fTest : public RMdaToneUtilityTestBase
   197 	{
   198 public:
   199 	static RMdaToneUtilityPauseNonA3fTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
   200 private:
   201 	RMdaToneUtilityPauseNonA3fTest(const TDesC& aTestName, const TDesC& aSectName);
   202 	void DoKickoffTestL();
   203 	void DoTimerCallback();
   204 	// From MMdaAudioToneObserver
   205 	void MatoPrepareComplete(TInt aError);
   206 	// Executes events of MdaToneUtility using a Finite State Machine
   207 	void Fsm(TMdaAudioUtilityEvent aMdaAudioUtilityEvent, TInt aError);
   208 	};
   209 	
   210 #endif// __TONETRUEPAUSE_H__