resourcemgmt/hwresourcesmgr/test/te_hwrm/hwrmtest.h
changeset 0 4e1aa6a622a0
child 70 653a8b91b95e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/resourcemgmt/hwresourcesmgr/test/te_hwrm/hwrmtest.h	Tue Feb 02 00:53:00 2010 +0200
@@ -0,0 +1,732 @@
+// Copyright (c) 2007-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 hwrmtest_h
+#define hwrmtest_h
+
+#include "hwrmtestbase.h"
+#include <hwrmvibra.h>
+#include <hwrmpower.h>
+#include <hwrmlight.h>
+#include <hwrmfmtx.h>
+#include <rmocklight.h>
+#include <rmockvibra.h>
+#include <rmockpower.h>
+#include <rmockfmtx.h>
+#include <hwrmfmtxaudiopolicydomainpskeys.h>
+
+class CHWRMTest : public CHWRMTestBase
+	{
+public:
+	// Create a suite of all the tests
+	static CTestSuite* CreateSuiteL(const TDesC& aName);
+		
+public:
+	//
+	// Test Steps
+	//
+	// Vibra testing
+	void TestVibraOnL();
+	void TestVibraOnPluginResponseErrorL();
+	void TestVibraOnWithIntensityL();
+	void TestVibraOnWithIntensityOutOfRangeL();
+	void TestVibraOnWithDurationOutOfRangeL();
+	void TestVibraOnDuringForcedOffPeriodL();
+	void TestVibraOnAfterForcedOffPeriodL();
+	void TestVibraGetStatusL();	
+	void TestVibraOnInfiniteL();
+	void TestVibraProfileL();
+	void TestVibraOnLoopL();
+
+	void TestVibraReserveSessionsL();
+	
+	//PREQ1944
+	void TestStartVibraOverlapPulseL();
+	void TestStartVibraOverlapPulsesL();
+	void TestPulseOverlapPulsesL();
+	void TestSequentialPulsesL();
+	void TestUnSupportedPulseIntensityL();
+	void TestUnSupportedPulseDurationL();
+	void TestPulseNotAllowedL();
+	void TestReserveStartPulseVibraL();
+	void TestReserveVibraL();
+	
+	// Vibra profile skipping tests (privileged client)
+	void TestVibraProfilePrivilegedClientL();
+	void TestVibraProfilePrivilegedClient2L();
+	
+	//Light testing
+	void TestSetupLightsL();
+	void TestLightSimpleL();
+	void TestLightBlinkKeyboardL();
+	void TestLightBlinkComplexL();
+	void TestLightOnDisplayAndKeyboardL();
+	void TestLightBlinkDisplayWithLtdDurationL();
+	void TestLightOffKeyboardWithLtdDurationL();
+	void TestLightOffDisplayWithOverrideTimerL();
+	void TestLightBlinkKeyboardWithOverrideTimerL();
+	void TestLightBlinkDisplayAndKeyboardL();
+	void TestLightBlinkKeyboardInfiniteCutOffTimerL();
+	void TestLightGetStatusDisplayL();
+	void TestLightSetSensorOnL();
+
+	void TestLightReserveSessionsL();
+	void TestLightReserveSessions2L();
+	void TestLightReserveDisplayL();
+		
+	// Custom target tests
+	void TestLightGetSupportedTargetsL();
+	void TestLightUnsupportedTargetL();
+	void TestLightUnsupportedDurationL();
+	void TestLightUnsupportedIntensityL();
+	void TestLightOnSimpleCustomTargetsL();
+
+	// System target tests
+	void TestModifyTargetL();
+	void TestSystemLightsL();
+	void TestDisplayLightsOnL();
+
+	// PREQ 2615
+	void TestLightColorL();
+	void TestLightColor_ExtendedTargetL();
+	void TestLightDefaultColorL();
+	void TestLightDefaultColor_ExtendedTargetL();
+	void TestLightColor_UnSupportedTargetL();
+	void TestLightColor_PluginErrorL();
+	void TestFrozenStateRestoreLightColor_ExtendedTargetL();
+	void TestBaseStateRestoreLightColor_ExtendedTargetL();
+	void TestLightColor_MultiClientL();
+	void TestLightColor_MultiClient_ExtendedTargetL();
+	void TestLightColor_WhenInUseL();
+	void TestLightDefaultColor_WhenInUseL();
+	void TestLightOnDurationRGBL();
+    void TestLightOnDurationWithIntenistyRGBL();
+	void TestLightBlinkDurationRGBL();
+    void TestLightBlinkDurationWithIntensityRGBL();
+	void TestLightOnDurationRGB_ExtendedL();
+	void TestLightBlinkDurationRGB_ExtendedL();
+    void TestLightEnhancedLightLeaveL();
+    void TestLightSetColorReserveL();
+	
+	// Power State tests
+	void TestPowerStatesL();
+	
+	// Extended Lights
+	void TestExtendedLightSessionsL();
+	
+	void TestInvalidSessionsL();
+	
+	// Power
+	void TestPowerConnectL();
+	void TestPowerGetBatteryInfoL();
+	void TestPowerGetBatteryInfoMultiClientL();
+	void TestPowerGetBatteryVoltageInfoL();
+	void TestPowerGetBatteryVoltageInfoMultiClientL();
+	void TestPowerGetBaseTimeIntervalL();
+	void TestPowerGetBatteryInfoWithPluginErrorL();
+	void TestPowerGetBatteryVoltageInfoWithPluginErrorL();
+#ifdef SYMBIAN_HWRM_EXTPOWERINFO
+	void TestPowerGetBatteryChargingStatusL();
+	void TestPowerGetBatteryChargingStatusMultiClient3L();
+	void TestPowerChargingStatusNotificationL();
+	void TestPowerChargingStatusNotificationMultiClient3L();
+	void TestPowerRemainingChargingTimeNotificationL();
+	void TestPowerRemainingChargingTimeWithPluginErrorL();
+	void TestPowerStopRemainingChargingTimeWithPluginErrorL();
+	void TestPowerRemainingChargingTimeNotificationErrorL();
+	void TestPowerRemainingChargingTimeWhenStartedL();
+	void TestPowerRemainingChargingTimeNotificationMulticlient3L();
+	void TestPowerChargingTimeNotificationWhenChargingCompleteL();
+	void TestPowerChargingTimeNotificationWhenDisconnectedL();
+	void TestPowerChargingTimeNotificationWhenChargingComplete3L();
+	void TestPowerChargingTimeNotificationWhenDisconnected3L();
+	void TestPowerChargingCurrentNotificationL();
+	void TestPowerChargingCurrentNotificationErrorL();
+	void TestPowerChargingCurrentWhenStartedL();
+	void TestPowerChargingCurrentNotificationMulticlient3L();
+	void TestPowerChargingCurrentNotificationWhenChargingCompleteL();
+	void TestPowerChargingCurrentNotificationWhenDisconnectedL();
+	void TestPowerChargingCurrentNotificationWhenChargingComplete3L();
+	void TestPowerChargingCurrentNotificationWhenDisconnected3L();
+	void TestPowerChargingCurrentWithPluginErrorL();
+	void TestPowerStopChargingCurrentWithPluginErrorL();
+	void TestPowerGetBatteryChargerType();
+	void TestPowerGetBatteryChargerTypeMulticlientL();
+	void TestPowerGetBatteryChargerTypeWithPluginErrorL();
+	void TestPowerCancelChargingTimeWithoutStart();
+	void TestPowerCancelChargingCurrentWithoutStart();
+	void TestPowerChargingCurrentNotificationMaxPeriodReachedL();
+	void TestPowerChargingCurrentNotificationSameIntervalL();
+	void TestPowerChargingCurrentNotificationDifferentIntervalL();
+	void TestPowerChargingCurrentandRemainingChargingTimeNotificationL();
+	void TestPowerChargingandVoltageNotificationL();
+	void TestPowerChargingCurrentNotificationSlowClientL();
+	void TestPowerChargingCurrentNotificationSlowClientsL();
+	void TestPowerChargingTimeNotificationWithoutCallbackL();
+	void TestPowerChargingCurrentNotificationWithoutCallbackL();
+    void TestPowerClientSetCallBackL();
+    void TestPowerChargingCurrentNotificationMaxPeriodReachedMCL();
+#endif //SYMBIAN_HWRM_EXTPOWERINFO
+
+	void TestPowerNotifyL();
+	void TestPowerNotify_InfiniteL();
+	void TestPowerNotify_AdjustReportingPeriodL();
+	void TestPowerNotify_BigIntervalL();
+	void TestPowerNotify_MultiClient_SameIntervalL();
+	void TestPowerNotify_MultiClient_DiffIntervalL();
+	void TestPowerNotify_RedundantL();
+	void TestPowerNotify_Start_PluginErrorL();
+	void TestPowerNotify_Stop_PluginErrorL();
+	void TestPowerNotify_IntervalEqualL();
+	void TestPowerNotify_IntervalGreaterL();
+	void TestPowerNotify_AdjustReportingPeriod_WithoutRequestL();
+	void TestPowerNotify_AdjustReportingPeriod_ElapsedTimeLessL();
+	void TestPowerNotify_AdjustReportingPeriod_ElapsedTimeMoreL();
+	void TestPowerNotify_AdjustReportingPeriod_NonZeroToZeroL();
+	void TestPowerNotify_AdjustReportingPeriod_ZeroToNonZeroL();
+	void TestPowerNotify_AdjustReportingPeriod_SameValueL();
+	void TestPowerNotify_AdjustReportingPeriod_NegativeValueL();
+	void TestPowerNotify_SlowClientL();
+	void TestPowerNotify_WithoutCallbackL();
+	void TestPowerNotify_MultiClient_DiffInterval_SpecialCaseL();
+	void TestPowerNotify_Stop_WithoutStartL();
+	void TestPowerNotify_Stop_RedundantL();
+    void TestPowerNotify_Start_Set_PluginErrorL();
+    void TestPowerNotify_All_AdjustReportingPeriod_NegativeValueL();
+
+	// FmTx Testing
+	void TestFmTxConnectL();
+	void TestFmTxStatusOffL();
+	void TestFmTxEnableInvalidFreqL();
+	void TestFmTxEnableL();
+	void TestFmTxEnableNewFreqL();
+	void TestFmTxEnableInvalidFreqWhenOnL();
+	void TestFmTxReserveL();
+	void TestFmTxEnableDuringReservationL();
+	void TestFmTxDisableL();
+	void TestFmTxDisableDuringReservationL();
+	void TestFmTxReserveDuringReservationL();
+	void TestFmTxGetFrequencyL();
+	void TestFmTxSetFrequencyL();
+	void TestFmTxSetFrequencyInvalidL();
+	void TestFmTxSetFrequencyDuringReservationL();
+	void TestFmTxGetFrequencyRangeL();
+	void TestFmTxGetJapanFrequencyRangeL();
+	void TestFmTxGetNextClearFrequencyL();
+	void TestFmTxGetNextClearFrequencyWhileDisabledL();
+	void TestFmTxGetNextClearFrequencyAsyncL();
+	void TestFmTxGetNextClearFrequencyAsyncWhileDisabledL();
+	void TestFmTxGetNextClearFrequencyAsyncCancelL();
+	void TestFmTxGetNextClearFrequencyArrayL();
+	void TestFmTxGetNextClearFrequencyArrayWhileDisabledL();
+	void TestFmTxGetNextClearFrequencyAsyncArrayL();
+	void TestFmTxGetNextClearFrequencyAsyncArrayWhileDisabledL();
+	void TestFmTxSetNextClearFrequencyL();
+	void TestFmTxSetNextClearFrequencyWhileDisabledL();
+	void TestFmTxSetNextClearFrequencyAsyncL();
+	void TestFmTxSetNextClearFrequencyAsyncWhileDisabledL();
+	void TestFmTxSetNextClearFrequencyAsyncCancelL();
+	void TestFmTxSetNextClearFrequencyAsyncCancelWhileDisabledL();
+	void TestFmTxAutoFrequencyL();
+	void TestFmTxSetRdsDataL();
+	void TestFmTxSetRdsDataWhileDisabledL();
+	void TestFmTxSetRadiotextL();
+	void TestFmTxSetRadiotextWhileDisabledL();
+	void TestFmTxSetRadiotextContentL();
+	void TestFmTxSetRadiotextTagL();
+	void TestFmTxSetRadiotextTagWhileDisabledL();
+	void TestFmTxSetRadiotextTagsL();
+	void TestFmTxSetRadiotextTagsWhileDisabledL();
+
+#ifdef INSECURE_AUDIO_POLICY_KEYS    
+	void TestFmTxEnableDuringPowersaveL(); 
+	void TestFmTxAudioRoutingOnAndOffL();
+	void TestFmTxPowerSaveOnAccessoryL();
+	void TestFmTxPowerSaveOnAccessoryWhileDisabledL();
+	void TestFmTxPowerSaveOnInactivityStateL();
+	void TestFmTxPowerSaveOnOffStateL();
+	void TestFmTxPowerSaveOffL();	
+#endif // INSECURE_AUDIO_POLICY_KEYS  	
+
+private:
+	//
+	// Test States
+	//
+	void VibraOpenL();
+	void VibraPulseOpenL();
+	void VibraPulseOpenSessionsL();
+	void PulseVibraL();	
+	void MultVibraPulsesL();
+	void PulsesOverlapPulsesL();
+	void SequentialPulsesL();
+	void UnSupportedPulseIntensity1L();
+	void UnSupportedPulseIntensity2L();
+	void UnSupportedPulseIntensity3L();
+	void UnSupportedPulseDuration1L();
+	void UnSupportedPulseDuration2L();
+	void UnSupportedPulseDuration3L();
+	void UnSupportedPulseDuration4L();
+	void DoPulseVibraL(CHWRMVibra& aVibra, TInt aDuration, TInt aIntensity);
+	void DoPulseVibraL(CHWRMVibra& aVibra, TInt aDuration);
+	void DoPulseVibraL(CHWRMVibra& aVibra);
+	void VibraOpenWhileDisabledL();
+	void VibraOnL();
+	void VibraOnNoNotificationExpectedL();
+	void VibraOffL();
+	void VibraFeedbackSettingsL();
+	void VibraOffWhenDisabledL();	
+	void VibraOnWithResponseErrL();
+	void VibraOnWithIntensityL();
+	void VibraOnWithIntensityOutOfRangeL();
+	void VibraOnWithIntensityOutOfRange2L();
+	void VibraOnWithDurationOutOfRangeL();
+	void VibraOnWithDurationOutOfRange2L();
+	void VibraOnWithDurationOutOfRange3L();
+	void VibraOnWithDurationOutOfRange4L();
+	void VibraOnWithDurationGreaterThanMaximumL();
+	void VibraOnDuringForcedOffPeriodL();
+	void VibraSetMinTimeOffL();
+	void VibraRestoreDefaultMinTimeOffL();
+	void VibraSetMaxTime10SecsOnL();
+	void VibraSetMaxTime5SecsOnL();
+	void VibraGetStatusOnL();
+	void VibraGetStatusOffL();
+	void VibraOn5SecsL();
+	void WaitOneSecondL();
+	void CheckForVibraStatusStoppedL();
+	void WaitOneTenthL();
+	void VibraWaitForCutOffL();
+	void VibraWaitForCoolOffL();
+	void VibraOnInfiniteL();
+	void VibraDisableProfileL();
+	void VibraPulseDisableProfileL();
+	void VibraPrivilegedDisableProfileL();
+	void VibraOnWhileDisabledL();
+	void PulseOnWhileDisabledL();
+	void VibraEnableProfileL();
+	void VibraPulseEnableProfileL();
+	void StartVibra5L();
+	void PulseVibraWithNoStatusUpdateL();
+	void PulseVibraWithNoStatusUpdate0L();
+	void VibraOnLoopL();
+	void VibraOpenSessionsL(); //multiple sessions
+	
+	void InitialiseLightsL();
+	void LightOpenL();
+    void LightOpenSessionsL();
+    
+    void WaitForTargetToGoOffL();
+    void WaitForTargetToGoOnL();
+    
+    void LightOnAllTargetsL();
+	void LightOffAllTargetsL();
+	void LightOnDisplayL();
+	void LightOnDisplay_LimitedDurationL();
+	void LightOnDisplay_NoStatusChangeL();
+	void LightOffDisplayL();
+	
+	void LightOnKeyboardL();
+	void LightOffKeyboardL();
+	void LightOnDisplayAndKeyboardL();
+	void LightOffDisplayAndKeyboardL();
+	void LightOnDisplayAndKeyboard_LimitedDurationL();
+	void LightOnDisplayAndKeyboard_NoStatusChangeL();
+	void LightBlinkKeyboardWithLimitedDurationL();
+	void LightBlinkDisplayWithLimitedDurationL();
+	void LightOffKeyboardWithLimitedDurationL();
+	void LightOffDisplayWithOverrideTimerL();
+	void LightBlinkKeyboardWithOverrideTimerL();
+	void LightBlinkDisplayAndKeyboardWithLimitedDuration_KeyboardNoChangeL();
+	void LightBlinkKeyboardInfiniteCutOffTimerL();
+	void LightGetStatusKeyboardL();
+	void LightGetStatusDisplayL();	
+	void LightSetSensorOnL();
+	void LightGetSensorOnL();
+	void LightSetSensorOffL();
+	void LightBlinkWithDefaultsL();
+	void ResetIntensityAndLightTimeOutL();
+	void LightBlinkCycleDurationDefaultMismatchL();
+	void VibraReserveL();
+	void VibraReserveDefaultParamsL();
+	void VibraTryStartL();
+	void Vibra2TryStartL();
+	void Vibra2ReserveL();
+	void Vibra3ReserveL();
+	void VibraReleaseL();
+	void Vibra2ReleaseL();
+	void LightReserveDefaultParamsL();
+	void LightReserveDisplayL();
+	void LightReleaseReservedDisplayL();
+	void LightReleaseUnreservedKeyboardL();
+	void Light2ReserveKeyboardL();
+	void Light3ReserveDisplayAndKeyboardL();
+	void LightTryBlinkDisplayAndKeyboardL();
+	void Light2OnDisplayAndKeyboardL();
+	void Light3TryBlinkDisplayAndKeyboardL();
+	void Light2ReleaseUnreservedDisplayAndReservedKeyboardL();
+	void LightTryBlinkDisplayL();
+	void Light3OnKeyboardL();
+	void Light3ReleaseSuspendedDisplayAndReservedKeyboardL();
+	void LightReleaseReservedDisplayAndUnreservedKeyboardL();
+	void LightReserveDisplayAndKeyboardL();
+	void LightGetSupportedTargetsL();
+	void LightReserveUnsupportedTargetL();
+	void LightOnUnsupportedTargetL();
+	void LightReleaseUnsupportedTargetL();
+	void LightOnSimpleCustom1L();
+	void LightOnSimpleCustom2L();
+	void LightOnSimpleCustom4L();
+	void LightOnUnsupportedDurationUpperBoundL();
+	void LightOnUnsupportedDurationLowerBoundL();
+	void LightOnUnsupportedIntensityLowerBoundL();
+	void LightOnUnsupportedIntensityUpperBoundL();
+	void VibraPrivilegedStartDisabled1L();
+	void VibraPrivilegedStartDisabled2L();
+	
+	void SystemTargetLightingInitialiseL();
+	
+	void SystemLightsInitialiseL();
+	void SystemLightsOnL();
+	void SystemLightsOffL();
+	void DisplayLightsOnL();
+	void KeyboardLightsOnDisplayOffL();
+
+	void ExpectSetColorCommand(TInt aTarget, TUint8 aRed, TUint8 aGreen, TUint8 aBlue, TBool aDefaultColorCmd, TInt aErrorCode, TUint delay=2);
+	void DisplayLightColorL();
+	void DisplayAndKeyboardLightColorL();
+	void DisplayLightColor_ExtendedL();
+	void DisplayAndKeyboardLightColor_ExtendedL();
+	void DisplayLightDefaultColorL();
+	void DisplayAndKeyboardLightDefaultColorL();
+	void DisplayLightDefaultColor_ExtendedL();
+	void DisplayAndKeyboardLightDefaultColor_ExtendedL();
+	void LightColorUnSupportedTargetL();
+	void LightColorPluginErrorL();
+	void ReserveDisplayWithfrozenstateOnL();
+	void ReleaseDisplay_ExtendedL();
+	void ReserveDisplayWithfrozenstateOn_RestoreColorL();
+	void ReserveDisplay_Client1L();
+    void ReserveDisplay_Client2L();
+	void ReserveDisplay_Client1_ExtL();
+	void DisplayLightColor_Client1L();
+    void DisplayLightOnColor_Client2L();
+	void DisplayLightColor_Client1_ExtL();
+	void ReserveKeyboard_Client2L();
+	void ReserveKeyboard_Client2_ExtL();
+	void KeyboardLightColor_Client2L();
+	void KeyboardLightColor_Client2_ExtL();
+	void ReserveDisplayKeyboard_Client3L();
+	void ReserveDisplayKeyboard_Client3_ExtL();
+	void DisplayKeyboardLightColor_Client3L();
+	void DisplayKeyboardLightColor_Client3_ExtL();
+	void ReleaseDisplayKeyboard_Client2L();
+	void ReleaseDisplayKeyboard_Client2_ExtL();
+	void ReleaseDisplayKeyboard_Client3L();
+	void ReleaseDisplayKeyboard_Client3_ExtL();
+	void ReleaseDisplayKeyboard_Client1L();
+	void ReleaseDisplayKeyboard_Client1_ExtL();
+	void DisplayKeyboardLightColor_Client1_ErrorL();
+	void DisplayKeyboardLightDefaultColor_Client1_ErrorL();	
+	void SetClientColorL();
+	void RestoreClientColorL();
+	void SetClientColor_ExtendedL();
+	void RestoreClientColor_ExtendedL();
+	void LightOnDurationRGBL();
+    void LightOnDurationWithIntensityRGBL();
+	void LightBlinkDurationRGBL();	
+    void LightBlinkDurationWithIntensityRGBL();	
+	void LightOnDurationRGB_ExtendedL();
+    void LightOnDurationRGB_ExtendedWithExpectL();
+	void LightBlinkDurationRGB_ExtendedL();
+    void LightEnhancedLeave1L();
+    void LightEnhancedLeave2L();
+    void LightEnhancedLeave3L();
+	
+	void CloseFlipL();
+	void OpenFlipL();
+		
+	void PowerStateOpenL();
+	void BatteryLevelL();
+	void BatteryStateL();
+	void ChargingStatusL();	
+
+	void DisableNotificationCheckingL();
+	void EnableNotificationCheckingL();
+
+	void OpenExtLightSessionL();
+	void OpenEnhancedLightSessionL();
+	void ExtendedLightOnL();
+	void ExtendedLight2BlinkL();
+	void ExtendedLightOffL();
+	void ExtendedLight2OffL();
+	void ExtendedLightOffAllTargetsL();
+	void EnhancedLightOffAllTargetsL();
+		
+	void InvalidSessionLightL();
+	void InvalidSessionExtendedLightL();
+	void InvalidSessionVibraL();
+	
+	void AddLightPreparationStatesL(TBool aMultipleSessions = EFalse);
+	
+	void PowerGetCRAttributesL();
+	void PowerOpenL();
+	void PowerOpen2SessionsL();
+	void PowerOpen3SessionsL();
+	void PowerGetBatteryInfoL();
+	void PowerGetBatteryInfoMultiClientL();
+	void PowerGetBatteryInfoWithPluginErrorL();
+	void PowerGetBatteryVoltageInfoL();
+	void PowerGetBatteryVoltageInfoMultiClientL();
+	void PowerGetBatteryVoltageInfoWithPluginErrorL();
+	void PowerGetBaseTimeIntervalL();
+#ifdef SYMBIAN_HWRM_EXTPOWERINFO
+	void PowerAndPowerStateOpenL();
+	void PowerAndPowerState3SessionsOpenL();
+	void PowerChargingStatusErrorL();
+	void PowerChargingStatusNotConnectedL();
+	void PowerChargingStatusChargingL();
+	void PowerChargingStatusNotChargingL();
+	void PowerChargingStatusAlmostCompleteL();
+	void PowerChargingStatusCompleteL();	
+	void PowerChargingStatusContinuedL();	
+	void PowerChargingStatusError3L();
+	void PowerChargingStatusNotConnected3L();
+	void PowerChargingStatusCharging3L();
+	void PowerChargingStatusNotCharging3L();
+	void PowerChargingStatusAlmostComplete3L();
+	void PowerChargingStatusComplete3L();	
+	void PowerChargingStatusContinued3L();	
+	void CheckPowerChargingStatusL();
+	void CheckPowerChargingStatusMultiClient3L();
+	void RegisterChargingStatusCallbackL();
+	void RegisterChargingStatusCallbackMultiClient3L();
+	void ResetChargingStatusCBFlagL();
+	void RegisterChargingTimeCallbackL();
+	void RegisterChargingTimeCallbackMultiClient3L();
+	void RegisterChargingCurrentCallbackL();
+	void RegisterChargingCurrentCallbackMultiClient3L();
+	void StartRemainingChargingTimeL();
+	void StartRemainingChargingTime1L();
+	void StartRemainingChargingTime2L();
+	void CancelRemainingChargingTimeL();
+	void CancelRemainingChargingTime1L();
+	void CancelRemainingChargingTime2L();
+	void StartRemainingChargingTimeWithPluginErrorL();
+	void StopRemainingChargingTimeWithPluginErrorL();
+	void StartRemainingChargingTimeErrorL();
+	void StartRemainingChargingTimeWhenStartedL();
+	void ChargingTimeNotificationWithErrorCompleteL();
+	void ChargingTimeNotificationWithErrorDisconnectedL();
+	void ChargingTimeNotificationWithErrorComplete3L();
+	void ChargingTimeNotificationWithErrorDisconnected3L();
+	void StartChargingCurrentL();
+	void StartChargingCurrent1L();
+	void StartChargingCurrent2L();
+	void StartChargingCurrent4L();
+	void CancelChargingCurrentL();
+	void CancelChargingCurrent1L();
+	void CancelChargingCurrent2L();
+	void StartChargingCurrentErrorL();
+	void StartChargingCurrentWhenStartedL();
+	void ChargingCurrentNotificationWithChargingCompleteL();
+	void ChargingCurrentNotificationWithErrorDisconnectedL();
+	void ChargingCurrentNotificationWithErrorDisconnected3L();
+	void StartChargingCurrentWithPluginErrorL();
+	void StopChargingCurrentWithPluginErrorL();
+	void GetBatteryChargerTypeNoCharger();
+	void GetBatteryChargerTypeACMain();
+	void GetBatteryChargerTypeUSB();
+	void GetBatteryChargerTypeNoChargerMulticlientL();
+	void GetBatteryChargerTypeACMainMulticlientL();
+	void GetBatteryChargerTypeUSBMulticlientL();
+	void GetBatteryChargerTypeWithPluginErrorL();
+	void ChargingCurrentMaxPeriodReachedL();
+	void StartChargingCurrentSameIntervalL();
+	void StartChargingCurrentDifferentIntervalL();
+	void StopChargingCurrentAllL();
+	void SetChargingCurrentMeasurementTime200L();
+	void StartRemainingChargingTimeNoCallbackL();
+	void StartChargingCurrentNoCallbackL();
+	void TestBatteryChargerTypeMultiClientL(TInt aType);
+    void TestPowerClientChargingCurrentSetCallBackL();
+    void TestPowerClientRemainingChargingTimeSetCallBackL();
+    void TestSetCallBackLeavingL();
+    void ChargingCurrentMaxPeriodReachedMCL();
+#endif //SYMBIAN_HWRM_EXTPOWERINFO
+
+	void RegisterPowerCallbackL();
+    void RegisterNullPowerCallbackL();
+	void PowerNotifyL();
+	void PowerNotify_CancelL();
+	void PowerNotify_Cancel_RedundantL();
+	void SetReportingPeriod30L();
+	void SetReportingPeriod5L();
+	void SetReportingPeriod10L();
+	void SetReportingPeriodZeroL();
+	void SetReportingPeriod_Power_NegativeL();
+	void SetReportingPeriod10L_TimeoutL();
+	void PowerNotify_Continue_NoTimeoutL();
+	void PowerNotify_Continue_TimeoutL();
+	void ResetReportingPeriodL();
+	void PowerNotify_Interval20L();
+	void PowerNotify_Interval50L();
+	void PowerNotify_Interval60L();
+    void PowerNotify_Interval1L();
+	void RegisterPowerCallbackMC3L();
+	void PowerNotifyMC3_SameIntervalL();
+	void PowerNotify_CancelMC3L();
+	void PowerNotifyMC3_DiffIntervalL();
+	void PowerNotify_RedundantL();
+	void PowerNotify_Start_PluginErrorL();
+    void PowerNotify_Start_Set_PluginErrorL();
+    void PowerNotify_ClosePowerInstanceL();
+	void PowerNotify_Cancel_PluginErrorL();
+	void SetPowerMeasurementTime200L();
+	void PowerNotify_NoCallbackL();
+	void RegisterPowerCallbackMC2L();
+	void PowerNotifyMC2_DiffInterval_SpecialCaseL();
+	void PowerNotify_CancelMC2L();
+
+	// FmTx Test States
+	void FmTxOpenL();
+	void FmTxOpenWhileInactiveL();
+	void FmTxOpenWhileActiveL();
+	void FmTxOpenWhileOnL();
+	void FmTxOpenWhilePowerSaveAccessoryL();
+	void FmTxEnableL();
+	void FmTxStatusEnabledL();
+	void FmTxStatusOffL();
+	void FmTxDisableL();
+	void FmTxReserveL();
+	void FmTx2ReserveL();
+	void FmTxOpen2SessionsL();
+	void FmTx2EnableL();
+	void FmTxEnableWhileActiveOrInactiveL();
+	void FmTxEnableInvalidFreqL();
+	void FmTxSetRdsDataL();
+	void FmTxSetRadiotextL();
+
+	void FmTxSetRadiotextContent1L();
+
+	void FmTxSetRadiotextContent2L();
+	void FmTxSetRadiotextContent2WhileDisabledL();
+	void FmTxSetRadiotextContent3L();	
+	void FmTxSetRadiotextTag1L();
+	void FmTxSetRadiotextTag2L();
+	void FmTxSetRadiotextTag3L();
+	void FmTxSetRadiotextTags1L();
+	void FmTxSetRadiotextTags2L();
+	void FmTxGetFrequencyL();
+	void FmTxSetFrequencyL();
+	void FmTxSetFrequencyRoundUpL();
+	void FmTxSetFrequencyRoundDownL();
+	void FmTxCheckSetFrequencyL();
+	void FmTxGetFrequencyRangeL();
+	void FmTxCheckGetFrequencyRangeL();
+	void FmTxGetFrequencyStepSizeL();
+	void FmTxSetFrequencyRangeEuropeL();
+	void FmTxSetFrequencyRangeJapanL();
+	void FmTxCheckGetJapanFrequencyRangeL();
+	void FmTxGetNextClearFrequencyL();
+	void FmTxGetNextClearFrequencyWhileDisabledL();
+	void FmTxGetNextClearFrequencyArrayL();
+	void FmTxGetNextClearFrequencyArrayWhileDisabledL();
+	void FmTxGetNextClearFrequencyArrayErrArgumentMinL();
+	void FmTxGetNextClearFrequencyArrayErrArgumentMaxL();
+	void FmTxGetNextClearFrequencyAsyncL();
+	void FmTxGetNextClearFrequencyAsyncCancelL();
+	void FmTxGetNextClearFrequencyAsyncArrayL();
+	void FmTxGetNextClearFrequencyAsyncArrayErrArgumentMinL();
+	void FmTxGetNextClearFrequencyAsyncArrayErrArgumentMaxL();
+	void FmTxSetNextClearFrequencyL();
+	void FmTxSetNextClearFrequencyAsyncL();
+	void FmTxSetNextClearFrequencyAsyncCancelL();
+	void FmTxEnableNewFreqL();
+	void FmTxEnableValidFreqL();
+	void FmTx2StatusEnabledL();
+	void FmTxDisableFromOnL();
+	void FmTxDisableFromOnQueuePluginMsgL();
+	void FmTxGetCurrentStatusL();
+	void FmTxCompareCurrentAndTempStatusL();
+	void FmTxReleaseL();
+	void FmTx2EnableExpectKErrInUseAndNotificationL();
+	void FmTx2EnableNoNotificationL();
+	void FmTxDisableDuringReservation();
+	void FmTx2EnableDuringReservationL();
+	void FmTx2StatusOffL();
+	void FmTx2DisableFromOnL();
+	void FmTxSetFrequencyInvalidL();
+	void FmTx2SetFrequencyDuringReservationL();
+	void FmTxCheckPowerSaveStateL();
+	void FmTxIsAutoFrequencyEnabled();
+	void FmTxEnableAutoFrequencyL();
+	void FmTxDisableAutoFrequencyL();
+	void FmTxSetRdsPtyL();
+	void FmTxSetRdsPtyKErrArgumentMinL();
+	void FmTxSetRdsPtyKErrArgumentMaxL();
+	void FmTxSetRdsPtynL();
+	void FmTxSetRdsMsFalseL();
+	void FmTxSetRdsMsTrueL();
+	void FmTxSetRdsLangIdL();
+	void FmTxSetRdsLangIdKErrArgumentMinL();
+	void FmTxSetRdsLangIdKErrArgumentMaxL();
+	void FmTxSetRdsPtyWhileDisabledL();
+	void FmTxSetRdsPtynWhileDisabledL();
+	void FmTxSetRdsMsWhileDisabledL();
+	void FmTxClearRdsDataL();
+	void FmTxSetRdsLangIdWhileDisabledL();
+	void FmTxSetRadiotextTag2WhileDisabledL();
+	void FmTxSetRadiotextTags2WhileDisabledL();
+	void FmTxGetNextClearFrequencyAsyncBeforeCancelL();
+	void FmTxSetInactivityTimeOutTestModeL();
+#ifdef INSECURE_AUDIO_POLICY_KEYS    
+	void FmTxWatcherPluginConnectL();
+	void FmTxWatcherPluginDisconnectL();
+	void FmTxEnableDuringPowersaveL();
+	void FmTxEnableDuringPowersave2L();
+	void FmTxAudioRoutingOnL();
+	void FmTxCheckExpectedAudioRoutingStateL();
+	void FmTxAudioRoutingOffL();
+	void FmTxPowerSaveOnAccessoryL();
+	void FmTxExpectPowerSaveOnInactivityL();
+	void FmTxExpectPowerSaveOffL();
+	void FmTxPowerSaveOffL();	
+	void FmTxStatusPowersaveL();
+	void SetWatcherPluginConnectedStatusL(TBool aStatus );
+	void SetAudioRoutedFlagL(TBool aFlag);
+#endif // INSECURE_AUDIO_POLICY_KEYS  		
+	
+	// Test case utilities
+	void IncrementFrequency(TInt &aFrequency);
+private:
+	// variables used for limited duration tests
+	TInt iLimitedDuration;	
+	CHWRMLight::TLightTarget iTimedTarget;
+	RArray<TInt> iTimedTargets;
+
+	TInt iTempFrequency;
+	TFmTxFrequencyRange iTempFrequencyRange;
+	TFmTxState iTempFmTxState;
+	TFmTxState iTempFmTxStateAlter;
+	TInt iTempNextClearFreq;
+    CHWRMPower* iPower1;
+    CHWRMPower* iPower2;
+#ifdef SYMBIAN_HWRM_EXTPOWERINFO
+	EPSHWRMChargingStatus iChargingStatus;
+	TInt iChargingStatusCBregistered;
+#endif //SYMBIAN_HWRM_EXTPOWERINFO
+	};
+
+#endif // hwrmtest_h