mmlibs/mmfw/tsrc/mmfintegrationtest/ACLNT/tonetruepause.h
changeset 0 40261b775718
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/ACLNT/tonetruepause.h	Tue Feb 02 01:56:55 2010 +0200
@@ -0,0 +1,210 @@
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef TONETRUEPAUSE_H
+#define TONETRUEPAUSE_H
+
+#include <testframework.h>
+#include "TSI_MMFACLNT.h"
+#include "truepauseconstants.h"
+
+/*
+ *========================================================================================================
+ * Base class for TruePause Tone utility test steps in this suite.
+ *========================================================================================================
+ */
+
+class RMdaToneUtilityTestBase: public RAsyncTestStep, public MMdaAudioToneObserver
+	{
+public:
+	// from RAsyncTestStep
+	void KickoffTestL();
+	void CloseTest();
+protected:
+	RMdaToneUtilityTestBase(const TDesC& aTestName, const TDesC& aSectName);
+	~RMdaToneUtilityTestBase();
+	virtual void DoKickoffTestL() = 0;
+	virtual void DoTimerCallback() = 0;
+	static TInt TimerCallback(TAny*);
+	void StartTimer(TTimeIntervalMicroSeconds32 aWaitTime);
+
+	// Executes events of MdaToneUtility using a Finite State Machine
+	virtual void Fsm(TMdaAudioUtilityEvent aMdaAudioUtilityEvent, TInt aError);
+	
+	// From MMdaAudioToneObserver
+	virtual void MatoPrepareComplete(TInt aError);
+	virtual void MatoPlayComplete(TInt aError);
+	
+protected:
+	TMdaAudioUtilityState iToneUtilityState;
+	CMdaAudioToneUtility* iToneUtility;
+	CPeriodic* iTimer;
+	TBool iWait;
+	TBool iStop;
+	TBool iConfig;
+	TBool iPrepare;
+	TBool iNegative;	
+	TInt iCount;
+	TInt iVolume;
+	TInt iBalance;
+	TInt iDuration;
+	TInt iPause;
+	TInt iExpected;
+	
+	//To track elapsed time
+	TTime iEndTime;
+	TTime iStartTime;
+	
+	// Handle for the audio file for playing and recording
+	RFile iFile;
+	TFileName iFilename;
+	// Handle to a file server session
+	RFs iFs;
+	TBuf<KNameBufSize> iSectName;		// Section name for retrieving filename
+	};
+
+/*
+ *========================================================================================================
+ * MM-MMF-ACLNT-I-0168-HP
+ *========================================================================================================
+ */
+class RMdaToneUtilityResumeTest : public RMdaToneUtilityTestBase
+	{
+public:
+	static RMdaToneUtilityResumeTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
+private:
+	RMdaToneUtilityResumeTest(const TDesC& aTestName, const TDesC& aSectName);
+	void DoKickoffTestL();
+	void DoTimerCallback();
+	};
+
+/*
+ *========================================================================================================
+ * MM-MMF-ACLNT-I-0169-HP
+ *========================================================================================================
+ */
+class RMdaToneUtilityResumeThreeTest : public RMdaToneUtilityTestBase
+	{
+public:
+	static RMdaToneUtilityResumeThreeTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
+private:
+	RMdaToneUtilityResumeThreeTest(const TDesC& aTestName, const TDesC& aSectName);
+	void DoKickoffTestL();
+	void DoTimerCallback();
+	};
+
+/*
+ *========================================================================================================
+ * MM-MMF-ACLNT-I-0170-HP
+ *========================================================================================================
+ */
+class RMdaToneUtilityPlayPauseStopPlayTest : public RMdaToneUtilityTestBase
+	{
+public:
+	static RMdaToneUtilityPlayPauseStopPlayTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
+private:
+	RMdaToneUtilityPlayPauseStopPlayTest(const TDesC& aTestName, const TDesC& aSectName);
+	void DoKickoffTestL();
+	void DoTimerCallback();
+	};
+
+/*
+ *========================================================================================================
+ * MM-MMF-ACLNT-I-0171-HP
+ *========================================================================================================
+ */
+class RMdaToneUtilityConfigResumeTest : public RMdaToneUtilityTestBase
+	{
+public:
+	static RMdaToneUtilityConfigResumeTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
+private:
+	RMdaToneUtilityConfigResumeTest(const TDesC& aTestName, const TDesC& aSectName);
+	void DoKickoffTestL();
+	void DoTimerCallback();
+	};
+
+/*
+ *========================================================================================================
+ * MM-MMF-ACLNT-I-0172-HP
+ *========================================================================================================
+ */
+class RMdaToneUtilityPrepareInPauseTest : public RMdaToneUtilityTestBase
+	{
+public:
+	static RMdaToneUtilityPrepareInPauseTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
+private:
+	RMdaToneUtilityPrepareInPauseTest(const TDesC& aTestName, const TDesC& aSectName);
+	void DoKickoffTestL();
+	void DoTimerCallback();
+	// From MMdaAudioToneObserver
+	void MatoPrepareComplete(TInt aError);
+	};
+
+/*
+ *========================================================================================================
+ * MM-MMF-ACLNT-I-0173-HP
+ *========================================================================================================
+ */
+class RMdaToneUtilityPauseBeforePlayTest : public RMdaToneUtilityTestBase
+	{
+public:
+	static RMdaToneUtilityPauseBeforePlayTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
+private:
+	RMdaToneUtilityPauseBeforePlayTest(const TDesC& aTestName, const TDesC& aSectName);
+	void DoKickoffTestL();
+	void DoTimerCallback();
+	// From MMdaAudioToneObserver
+	void MatoPrepareComplete(TInt aError);
+	// Executes events of MdaToneUtility using a Finite State Machine
+	void Fsm(TMdaAudioUtilityEvent aMdaAudioUtilityEvent, TInt aError);
+	};
+
+/*
+ *========================================================================================================
+ * MM-MMF-ACLNT-I-0174-HP
+ *========================================================================================================
+ */
+class RMdaToneUtilityNegPauseResumeTest : public RMdaToneUtilityTestBase
+	{
+public:
+	static RMdaToneUtilityNegPauseResumeTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
+private:
+	RMdaToneUtilityNegPauseResumeTest(const TDesC& aTestName, const TDesC& aSectName);
+	void DoKickoffTestL();
+	void DoTimerCallback();
+	// From MMdaAudioToneObserver
+	void MatoPlayComplete(TInt aError);
+	};
+
+/*
+ *========================================================================================================
+ * MM-MMF-ACLNT-I-0183-HP
+ *========================================================================================================
+ */
+class RMdaToneUtilityPauseNonA3fTest : public RMdaToneUtilityTestBase
+	{
+public:
+	static RMdaToneUtilityPauseNonA3fTest* NewL(const TDesC& aTestName, const TDesC& aSectName);
+private:
+	RMdaToneUtilityPauseNonA3fTest(const TDesC& aTestName, const TDesC& aSectName);
+	void DoKickoffTestL();
+	void DoTimerCallback();
+	// From MMdaAudioToneObserver
+	void MatoPrepareComplete(TInt aError);
+	// Executes events of MdaToneUtility using a Finite State Machine
+	void Fsm(TMdaAudioUtilityEvent aMdaAudioUtilityEvent, TInt aError);
+	};
+	
+#endif// __TONETRUEPAUSE_H__