os/mm/mmlibs/mmfw/tsrc/mmfintegrationtest/ACLNT/playtruepause.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) 2008-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 PLAYTRUEPAUSE_H_
    17 #define PLAYTRUEPAUSE_H_
    18 
    19 #include <testframework.h>
    20 #include <mmf/server/sounddevice.h>
    21 #include "mdaaudiosampleplayer.h" 
    22 #include "TSI_MMFACLNT.h"
    23 #include "truepauseconstants.h"
    24 
    25 // Panic function
    26 static void Panic(const TDesC &aCategory, TInt aReason)
    27 	{
    28 	User::Panic(aCategory, aReason);
    29 	}
    30 
    31 /*
    32  *========================================================================================================
    33  * Base class for TruePause Tone utility test steps in this suite.
    34  *========================================================================================================
    35  */
    36 
    37 class RMdaPlayerUtilityTestBase: public RAsyncTestStep, public MMdaAudioPlayerCallback
    38 	{
    39 public:
    40 	// from RAsyncTestStep
    41 	void KickoffTestL();
    42 	void CloseTest();
    43 protected:
    44 	RMdaPlayerUtilityTestBase(const TDesC& aTestName, const TDesC& aSectName);
    45 	~RMdaPlayerUtilityTestBase();
    46 	virtual void DoKickoffTestL() = 0;
    47 	virtual void DoTimerCallback();
    48 	static TInt TimerCallback(TAny*);
    49 	void StartTimer(TTimeIntervalMicroSeconds32 aWaitTime);
    50 
    51 	// Executes events of MdaToneUtility using a Finite State Machine
    52 	virtual void Fsm(TMdaAudioUtilityEvent aMdaAudioUtilityEvent, TInt aError);
    53 	
    54 	// From MMdaAudioPlayerCallback
    55 	void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/);
    56 	void MapcPlayComplete(TInt aError);
    57 
    58 	//Auxiliary functions
    59 	static void Panic(const TDesC &aCategory, TInt aReason);
    60 protected:
    61 	TMdaAudioUtilityState iAudioUtilityState;
    62 	CMdaAudioPlayerUtility* iPlayerUtility;
    63 	CPeriodic* iTimer;
    64 	TFileName iFilename;
    65 	TBuf<KNameBufSize> iSectName;		// Section name for retrieving filename
    66 protected:
    67 	TBool iStop;
    68 	TBool iQuery;
    69 	TInt iVolume;
    70 	TInt iBalance;
    71 	TBool iResume;
    72 	TInt iPauseResumeTimes;
    73 	TBool iPauseApplied;
    74 	TInt iDuration;
    75 	TInt iAllFormat;
    76 	TBool iPositionSupported;
    77 	TBool iMiliSec;
    78 	};
    79 
    80 /*
    81  *========================================================================================================
    82  * MM-MMF-ACLNT-I-0185-HP
    83  *========================================================================================================
    84  */
    85 
    86 class RMdaPlayerUtiliyPauseStopAndPlayWavTest : public RMdaPlayerUtilityTestBase
    87 	{
    88 public:
    89 	static RMdaPlayerUtiliyPauseStopAndPlayWavTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
    90 private:
    91 	RMdaPlayerUtiliyPauseStopAndPlayWavTest(const TDesC& aTestName, const TDesC& aSectName);
    92 	void DoKickoffTestL();
    93 	};
    94 
    95 /*
    96  *========================================================================================================
    97  * MM-MMF-ACLNT-I-0186-HP
    98  *========================================================================================================
    99  */
   100 
   101 class RMdaPlayerUtilityQueryPauseAndPlayWavTest : public RMdaPlayerUtilityTestBase
   102 	{
   103 public:
   104 	static RMdaPlayerUtilityQueryPauseAndPlayWavTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
   105 private:
   106 	RMdaPlayerUtilityQueryPauseAndPlayWavTest(const TDesC& aTestName, const TDesC& aSectName);
   107 	void DoKickoffTestL();
   108 	};
   109 
   110 /*
   111  *========================================================================================================
   112  * MM-MMF-ACLNT-I-0187-HP
   113  *========================================================================================================
   114  */
   115 
   116 class RMdaPlayerUtilityPauseAndPlaySqnTest : public RMdaPlayerUtilityTestBase
   117 	{
   118 public:
   119 	static RMdaPlayerUtilityPauseAndPlaySqnTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
   120 private:
   121 	RMdaPlayerUtilityPauseAndPlaySqnTest(const TDesC& aTestName, const TDesC& aSectName);
   122 	void DoKickoffTestL();
   123 	};
   124 
   125 /*
   126  *========================================================================================================
   127  * MM-MMF-ACLNT-I-0188-HP
   128  *========================================================================================================
   129  */
   130 
   131 class RMdaPlayerUtilityPauseAndPlayThreeTimesSqnTest : public RMdaPlayerUtilityTestBase
   132 	{
   133 public:
   134 	static RMdaPlayerUtilityPauseAndPlayThreeTimesSqnTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
   135 private:
   136 	RMdaPlayerUtilityPauseAndPlayThreeTimesSqnTest(const TDesC& aTestName, const TDesC& aSectName);
   137 	void DoKickoffTestL();
   138 	};
   139 
   140 /*
   141  *========================================================================================================
   142  * MM-MMF-ACLNT-I-0189-HP
   143  *========================================================================================================
   144  */
   145 
   146 class RMdaPlayerUtilityPauseStopAndPlaySqnTest : public RMdaPlayerUtilityTestBase
   147 	{
   148 public:
   149 	static RMdaPlayerUtilityPauseStopAndPlaySqnTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
   150 private:
   151 	RMdaPlayerUtilityPauseStopAndPlaySqnTest(const TDesC& aTestName, const TDesC& aSectName);
   152 	void DoKickoffTestL();
   153 	};
   154 
   155 /*
   156  *========================================================================================================
   157  * MM-MMF-ACLNT-I-0190-HP
   158  *========================================================================================================
   159  */
   160 
   161 class RMdaPlayerUtilityGetVolumeAndBalancePauseAndPlaySqnTest : public RMdaPlayerUtilityTestBase
   162 	{
   163 public:
   164 	static RMdaPlayerUtilityGetVolumeAndBalancePauseAndPlaySqnTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
   165 private:
   166 	RMdaPlayerUtilityGetVolumeAndBalancePauseAndPlaySqnTest(const TDesC& aTestName, const TDesC& aSectName);
   167 	void DoKickoffTestL();
   168 	};
   169 
   170 /*
   171  *========================================================================================================
   172  * MM-MMF-ACLNT-I-0191-HP
   173  *========================================================================================================
   174  */
   175 
   176 class RMdaPlayerUtilityPauseAndPlayFormatsTest : public RMdaPlayerUtilityTestBase
   177 	{
   178 public:
   179 	static RMdaPlayerUtilityPauseAndPlayFormatsTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
   180 private:
   181 	RMdaPlayerUtilityPauseAndPlayFormatsTest(const TDesC& aTestName, const TDesC& aSectName);
   182 	void DoKickoffTestL();
   183 	// From MMdaAudioPlayerCallback
   184 	void MapcPlayComplete(TInt aError);
   185 	};
   186 
   187 #endif// __PLAYTRUEPAUSE_H__
   188