os/mm/mmlibs/mmfw/tsrc/mmfintegrationtest/SDevSound/SDSCapTestServer/src/CapTestStepBase.cpp
Update contrib.
1 // Copyright (c) 2004-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 #include "CapTestStep.h"
18 CDevSoundTestStepBase* CDevSoundTestStepBase::NewL()
20 CDevSoundTestStepBase* self = new (ELeave) CDevSoundTestStepBase;
21 CleanupStack::PushL(self);
29 void CDevSoundTestStepBase::ConstructL()
33 CDevSoundTestStepBase::CDevSoundTestStepBase()
38 CDevSoundTestStepBase::~CDevSoundTestStepBase()
43 void CDevSoundTestStepBase::StartProcessing(TRequestStatus& /*aStatus*/)
47 TVerdict CDevSoundTestStepBase::EndProcessingAndReturnResult(TDes8& aMessage)
49 aMessage.Copy(_L("Done"));
54 /******************************************************************************
58 *****************************************************************************/
60 TVerdict CDevSoundTestStepBase::ConstructDevSound()
62 TRAPD(err, iMMFDevSound = CMMFDevSound::NewL());
73 TVerdict CDevSoundTestStepBase::DoTestStepPreambleL()
75 return( ConstructDevSound() );
86 TVerdict CDevSoundTestStepBase::TestInitialize(TMMFState aMode)
88 iCallbackError = KErrNone;
89 iExpectedValue = KErrNone;
94 TRAPD(err, iMMFDevSound->InitializeL(*this, aMode));
102 CActiveScheduler::Start();
103 if (iCallbackError != iExpectedValue)
107 if (iCallbackArray[EInitComplete] != 1)
121 void CDevSoundTestStepBase::TestSetVolume(TInt aVol)
123 iMMFDevSound->SetVolume(aVol);
132 void CDevSoundTestStepBase::TestSetPriority(TInt aPriority)
134 TMMFPrioritySettings prioritySettings;
136 prioritySettings.iPref = EMdaPriorityPreferenceNone;
137 prioritySettings.iPriority = aPriority;
139 iMMFDevSound->SetPrioritySettings( prioritySettings );
148 void CDevSoundTestStepBase::TestSetGain(TInt aGain)
150 iMMFDevSound->SetGain(aGain);
161 TVerdict CDevSoundTestStepBase::TestPlayTone(TInt aFreq, TTimeIntervalMicroSeconds aDur)
163 iCallbackError = KErrNone;
167 TRAPD(err, iMMFDevSound->PlayToneL(aFreq, aDur));
170 iCallbackError = err;
175 // Start the active scheduler and catch the callback
176 CActiveScheduler::Start();
177 if (iCallbackError != iExpectedValue)
181 if (iCallbackArray[EToneFinished] != 1)
185 TInt tot = GetCallbackTotal();
199 void CDevSoundTestStepBase::ResetCallbacks()
201 //Initialize callback array
202 iCallbackArray.Reset();
211 TInt CDevSoundTestStepBase::GetCallbackTotal()
214 for (TInt i = EInitComplete; i < EDeviceMsg; i++)
216 total += iCallbackArray[i];
221 /******************************************************************************
223 * DevSound mixin methods
225 *****************************************************************************/
233 void CDevSoundTestStepBase::InitializeComplete (TInt aError)
235 iCallbackArray[EInitComplete] ++;
236 iCallbackError = aError;
237 CActiveScheduler::Stop();
246 void CDevSoundTestStepBase::ToneFinished (TInt aError)
248 iCallbackArray[EToneFinished] ++;
249 iCallbackError = aError;
258 void CDevSoundTestStepBase::BufferToBeFilled (CMMFBuffer* aBuffer)
263 iCallbackError = KErrNone;
267 iCallbackError = KErrNotFound;
269 iCallbackArray[EBuffToFill] ++;
270 CActiveScheduler::Stop();
279 void CDevSoundTestStepBase::PlayError (TInt aError)
281 iCallbackError = aError;
282 iCallbackArray[EPlayError] ++;
283 CActiveScheduler::Stop();
292 void CDevSoundTestStepBase::BufferToBeEmptied (CMMFBuffer* /*aBuffer*/)
294 iCallbackArray[EBuffToEmpty] ++;
303 void CDevSoundTestStepBase::RecordError (TInt aError)
305 iCallbackError = aError;
306 iCallbackArray[ERecError] ++;
314 void CDevSoundTestStepBase::ConvertError (TInt /*aError*/)
322 void CDevSoundTestStepBase::DeviceMessage (TUid, const TDesC8& /*aMsg*/)