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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef PLAYTRUEPAUSE_H_
17 #define PLAYTRUEPAUSE_H_
19 #include <testframework.h>
20 #include <mmf/server/sounddevice.h>
21 #include "mdaaudiosampleplayer.h"
22 #include "TSI_MMFACLNT.h"
23 #include "truepauseconstants.h"
26 static void Panic(const TDesC &aCategory, TInt aReason)
28 User::Panic(aCategory, aReason);
32 *========================================================================================================
33 * Base class for TruePause Tone utility test steps in this suite.
34 *========================================================================================================
37 class RMdaPlayerUtilityTestBase: public RAsyncTestStep, public MMdaAudioPlayerCallback
40 // from RAsyncTestStep
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);
51 // Executes events of MdaToneUtility using a Finite State Machine
52 virtual void Fsm(TMdaAudioUtilityEvent aMdaAudioUtilityEvent, TInt aError);
54 // From MMdaAudioPlayerCallback
55 void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& /*aDuration*/);
56 void MapcPlayComplete(TInt aError);
59 static void Panic(const TDesC &aCategory, TInt aReason);
61 TMdaAudioUtilityState iAudioUtilityState;
62 CMdaAudioPlayerUtility* iPlayerUtility;
65 TBuf<KNameBufSize> iSectName; // Section name for retrieving filename
72 TInt iPauseResumeTimes;
76 TBool iPositionSupported;
81 *========================================================================================================
82 * MM-MMF-ACLNT-I-0185-HP
83 *========================================================================================================
86 class RMdaPlayerUtiliyPauseStopAndPlayWavTest : public RMdaPlayerUtilityTestBase
89 static RMdaPlayerUtiliyPauseStopAndPlayWavTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
91 RMdaPlayerUtiliyPauseStopAndPlayWavTest(const TDesC& aTestName, const TDesC& aSectName);
92 void DoKickoffTestL();
96 *========================================================================================================
97 * MM-MMF-ACLNT-I-0186-HP
98 *========================================================================================================
101 class RMdaPlayerUtilityQueryPauseAndPlayWavTest : public RMdaPlayerUtilityTestBase
104 static RMdaPlayerUtilityQueryPauseAndPlayWavTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
106 RMdaPlayerUtilityQueryPauseAndPlayWavTest(const TDesC& aTestName, const TDesC& aSectName);
107 void DoKickoffTestL();
111 *========================================================================================================
112 * MM-MMF-ACLNT-I-0187-HP
113 *========================================================================================================
116 class RMdaPlayerUtilityPauseAndPlaySqnTest : public RMdaPlayerUtilityTestBase
119 static RMdaPlayerUtilityPauseAndPlaySqnTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
121 RMdaPlayerUtilityPauseAndPlaySqnTest(const TDesC& aTestName, const TDesC& aSectName);
122 void DoKickoffTestL();
126 *========================================================================================================
127 * MM-MMF-ACLNT-I-0188-HP
128 *========================================================================================================
131 class RMdaPlayerUtilityPauseAndPlayThreeTimesSqnTest : public RMdaPlayerUtilityTestBase
134 static RMdaPlayerUtilityPauseAndPlayThreeTimesSqnTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
136 RMdaPlayerUtilityPauseAndPlayThreeTimesSqnTest(const TDesC& aTestName, const TDesC& aSectName);
137 void DoKickoffTestL();
141 *========================================================================================================
142 * MM-MMF-ACLNT-I-0189-HP
143 *========================================================================================================
146 class RMdaPlayerUtilityPauseStopAndPlaySqnTest : public RMdaPlayerUtilityTestBase
149 static RMdaPlayerUtilityPauseStopAndPlaySqnTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
151 RMdaPlayerUtilityPauseStopAndPlaySqnTest(const TDesC& aTestName, const TDesC& aSectName);
152 void DoKickoffTestL();
156 *========================================================================================================
157 * MM-MMF-ACLNT-I-0190-HP
158 *========================================================================================================
161 class RMdaPlayerUtilityGetVolumeAndBalancePauseAndPlaySqnTest : public RMdaPlayerUtilityTestBase
164 static RMdaPlayerUtilityGetVolumeAndBalancePauseAndPlaySqnTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
166 RMdaPlayerUtilityGetVolumeAndBalancePauseAndPlaySqnTest(const TDesC& aTestName, const TDesC& aSectName);
167 void DoKickoffTestL();
171 *========================================================================================================
172 * MM-MMF-ACLNT-I-0191-HP
173 *========================================================================================================
176 class RMdaPlayerUtilityPauseAndPlayFormatsTest : public RMdaPlayerUtilityTestBase
179 static RMdaPlayerUtilityPauseAndPlayFormatsTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
181 RMdaPlayerUtilityPauseAndPlayFormatsTest(const TDesC& aTestName, const TDesC& aSectName);
182 void DoKickoffTestL();
183 // From MMdaAudioPlayerCallback
184 void MapcPlayComplete(TInt aError);
187 #endif// __PLAYTRUEPAUSE_H__