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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef TONETRUEPAUSE_H
17 #define TONETRUEPAUSE_H
19 #include <testframework.h>
20 #include "TSI_MMFACLNT.h"
21 #include "truepauseconstants.h"
24 *========================================================================================================
25 * Base class for TruePause Tone utility test steps in this suite.
26 *========================================================================================================
29 class RMdaToneUtilityTestBase: public RAsyncTestStep, public MMdaAudioToneObserver
32 // from RAsyncTestStep
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);
43 // Executes events of MdaToneUtility using a Finite State Machine
44 virtual void Fsm(TMdaAudioUtilityEvent aMdaAudioUtilityEvent, TInt aError);
46 // From MMdaAudioToneObserver
47 virtual void MatoPrepareComplete(TInt aError);
48 virtual void MatoPlayComplete(TInt aError);
51 TMdaAudioUtilityState iToneUtilityState;
52 CMdaAudioToneUtility* iToneUtility;
66 //To track elapsed time
70 // Handle for the audio file for playing and recording
73 // Handle to a file server session
75 TBuf<KNameBufSize> iSectName; // Section name for retrieving filename
79 *========================================================================================================
80 * MM-MMF-ACLNT-I-0168-HP
81 *========================================================================================================
83 class RMdaToneUtilityResumeTest : public RMdaToneUtilityTestBase
86 static RMdaToneUtilityResumeTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
88 RMdaToneUtilityResumeTest(const TDesC& aTestName, const TDesC& aSectName);
89 void DoKickoffTestL();
90 void DoTimerCallback();
94 *========================================================================================================
95 * MM-MMF-ACLNT-I-0169-HP
96 *========================================================================================================
98 class RMdaToneUtilityResumeThreeTest : public RMdaToneUtilityTestBase
101 static RMdaToneUtilityResumeThreeTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
103 RMdaToneUtilityResumeThreeTest(const TDesC& aTestName, const TDesC& aSectName);
104 void DoKickoffTestL();
105 void DoTimerCallback();
109 *========================================================================================================
110 * MM-MMF-ACLNT-I-0170-HP
111 *========================================================================================================
113 class RMdaToneUtilityPlayPauseStopPlayTest : public RMdaToneUtilityTestBase
116 static RMdaToneUtilityPlayPauseStopPlayTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
118 RMdaToneUtilityPlayPauseStopPlayTest(const TDesC& aTestName, const TDesC& aSectName);
119 void DoKickoffTestL();
120 void DoTimerCallback();
124 *========================================================================================================
125 * MM-MMF-ACLNT-I-0171-HP
126 *========================================================================================================
128 class RMdaToneUtilityConfigResumeTest : public RMdaToneUtilityTestBase
131 static RMdaToneUtilityConfigResumeTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
133 RMdaToneUtilityConfigResumeTest(const TDesC& aTestName, const TDesC& aSectName);
134 void DoKickoffTestL();
135 void DoTimerCallback();
139 *========================================================================================================
140 * MM-MMF-ACLNT-I-0172-HP
141 *========================================================================================================
143 class RMdaToneUtilityPrepareInPauseTest : public RMdaToneUtilityTestBase
146 static RMdaToneUtilityPrepareInPauseTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
148 RMdaToneUtilityPrepareInPauseTest(const TDesC& aTestName, const TDesC& aSectName);
149 void DoKickoffTestL();
150 void DoTimerCallback();
151 // From MMdaAudioToneObserver
152 void MatoPrepareComplete(TInt aError);
156 *========================================================================================================
157 * MM-MMF-ACLNT-I-0173-HP
158 *========================================================================================================
160 class RMdaToneUtilityPauseBeforePlayTest : public RMdaToneUtilityTestBase
163 static RMdaToneUtilityPauseBeforePlayTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
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);
175 *========================================================================================================
176 * MM-MMF-ACLNT-I-0174-HP
177 *========================================================================================================
179 class RMdaToneUtilityNegPauseResumeTest : public RMdaToneUtilityTestBase
182 static RMdaToneUtilityNegPauseResumeTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
184 RMdaToneUtilityNegPauseResumeTest(const TDesC& aTestName, const TDesC& aSectName);
185 void DoKickoffTestL();
186 void DoTimerCallback();
187 // From MMdaAudioToneObserver
188 void MatoPlayComplete(TInt aError);
192 *========================================================================================================
193 * MM-MMF-ACLNT-I-0183-HP
194 *========================================================================================================
196 class RMdaToneUtilityPauseNonA3fTest : public RMdaToneUtilityTestBase
199 static RMdaToneUtilityPauseNonA3fTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
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);
210 #endif// __TONETRUEPAUSE_H__