sl@0: // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef __DEVSOUNDSERVERTESTSTEP_H__ sl@0: #define __DEVSOUNDSERVERTESTSTEP_H__ sl@0: sl@0: sl@0: #include sl@0: #include sl@0: sl@0: sl@0: class CSDevSoundTestStep1 : public CSimulProcTestStep, public MDevSoundObserver sl@0: { sl@0: public: sl@0: static CSDevSoundTestStep1* NewL(); sl@0: void ConstructL(); sl@0: virtual void StartProcessing(TRequestStatus& aStatus); sl@0: virtual TVerdict EndProcessingAndReturnResult(TDes8& aMessage); sl@0: virtual ~CSDevSoundTestStep1(); sl@0: sl@0: sl@0: protected: sl@0: void InitializeComplete (TInt aError); sl@0: void ToneFinished (TInt aError); sl@0: void BufferToBeFilled (CMMFBuffer* aBuffer); sl@0: void PlayError (TInt aError); sl@0: void BufferToBeEmptied (CMMFBuffer* aBuffer); sl@0: void RecordError (TInt aError); sl@0: void ConvertError (TInt aError); sl@0: void DeviceMessage (TUid aMessageType, const TDesC8& aMsg); sl@0: sl@0: TVerdict TestInitialize(TMMFState aMode); sl@0: TVerdict TestPlayTone(TInt aFreq, TTimeIntervalMicroSeconds aDur); sl@0: TVerdict DoPlaySimpleTone(); sl@0: sl@0: protected: sl@0: enum TCallback sl@0: { sl@0: EInitComplete, sl@0: EToneFinished, sl@0: EBuffToFill, sl@0: EPlayError, sl@0: EBuffToEmpty, sl@0: ERecError, sl@0: EConvertMsg, sl@0: EDeviceMsg sl@0: }; sl@0: sl@0: sl@0: protected: sl@0: //CMMFDevSound* iMMFDevSound; sl@0: sl@0: TRequestStatus* iStatus; sl@0: TVerdict iVerdict; sl@0: sl@0: TFixedArray iCallbackArray; sl@0: void ResetCallbacks(); sl@0: TInt GetCallbackTotal(); sl@0: sl@0: CMMFBuffer* iBuffer; sl@0: sl@0: CMMFDevSound* iMMFDevSound; sl@0: TInt iExpectedValue; sl@0: TInt iCallbackError; sl@0: RChunk iChunk; sl@0: }; sl@0: sl@0: sl@0: #endif sl@0: