sl@0: // Copyright (c) 2007-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: #include sl@0: #include sl@0: #include sl@0: #include "g711encoderconfigtestdevice.h" sl@0: #include "devsoundciutestdevices.hrh" sl@0: sl@0: sl@0: /* sl@0: CMMFG711EncoderConfig implementation sl@0: */ sl@0: CMMFG711EncoderConfig* CMMFG711EncoderConfig::NewL() sl@0: { sl@0: CMMFG711EncoderConfig* self = new(ELeave) CMMFG711EncoderConfig(); sl@0: return self; sl@0: } sl@0: sl@0: CMMFG711EncoderConfig::~CMMFG711EncoderConfig() sl@0: { sl@0: } sl@0: sl@0: //Actual implementation of method SetEncoderMode sl@0: TInt CMMFG711EncoderConfig::SetEncoderMode(TEncodeMode aEncodeMode) sl@0: { sl@0: RFs fs; sl@0: RFile file; sl@0: TInt err = KErrNone; sl@0: sl@0: if ( KErrNone != (err = fs.Connect()) ) sl@0: { sl@0: return err; sl@0: } sl@0: sl@0: // this file name will be use on the testStep to compare the stored value. sl@0: _LIT(KFileName, "c:\\temp\\g711EncoderConfig.txt"); sl@0: fs.MkDirAll(KFileName); sl@0: sl@0: if ( KErrNone != (err = file.Replace(fs, KFileName, EFileWrite)) ) sl@0: { sl@0: return err; sl@0: } sl@0: sl@0: TBuf8<4> data; sl@0: data.Format(_L8("%d"), aEncodeMode); sl@0: sl@0: file.Write(data); sl@0: file.Close(); sl@0: fs.Close(); sl@0: sl@0: return err; sl@0: } sl@0: sl@0: //Actual implementation of method SetVadMode sl@0: TInt CMMFG711EncoderConfig::SetVadMode(TBool aVadModeOn) sl@0: { sl@0: iVadModeOn = aVadModeOn; sl@0: return KErrNone; sl@0: } sl@0: sl@0: //Actual implementation of method GetVadMode sl@0: TInt CMMFG711EncoderConfig::GetVadMode(TBool& aVadModeOn) sl@0: { sl@0: aVadModeOn = iVadModeOn; sl@0: return KErrNone; sl@0: } sl@0: sl@0: sl@0: /* sl@0: CG711EncoderConfigTestDevice implementation sl@0: */ sl@0: CMMFHwDevice* CG711EncoderConfigTestDevice::NewL() sl@0: { sl@0: CG711EncoderConfigTestDevice* self=new(ELeave) CG711EncoderConfigTestDevice(); sl@0: CleanupStack::PushL(self); sl@0: self->ConstructL(); sl@0: CleanupStack::Pop(self); sl@0: return self; sl@0: } sl@0: sl@0: CG711EncoderConfigTestDevice::~CG711EncoderConfigTestDevice() sl@0: { sl@0: delete iG711EncoderConfig; sl@0: } sl@0: sl@0: CG711EncoderConfigTestDevice::CG711EncoderConfigTestDevice() sl@0: { sl@0: } sl@0: sl@0: void CG711EncoderConfigTestDevice::ConstructL() sl@0: { sl@0: } sl@0: sl@0: TInt CG711EncoderConfigTestDevice::Start(TDeviceFunc /*aFuncCmd*/, TDeviceFlow /*aFlowCmd*/) sl@0: { sl@0: return 0; sl@0: } sl@0: sl@0: TInt CG711EncoderConfigTestDevice::Stop() sl@0: { sl@0: return 0; sl@0: } sl@0: sl@0: TInt CG711EncoderConfigTestDevice::Pause() sl@0: { sl@0: return 0; sl@0: } sl@0: sl@0: TInt CG711EncoderConfigTestDevice::Init(THwDeviceInitParams& /*aDevInfo*/) sl@0: { sl@0: return 0; sl@0: } sl@0: sl@0: TAny* CG711EncoderConfigTestDevice::CustomInterface(TUid aInterfaceId) sl@0: { sl@0: // Just return something non-NULL to keep the sl@0: // DevSound initialisation process happy sl@0: TAny* ret = static_cast(this); sl@0: sl@0: // Now for the CIs we want to test... sl@0: if (aInterfaceId == KUidG711EncoderIntfc) sl@0: { sl@0: if (!iG711EncoderConfig) sl@0: { sl@0: TRAPD(err, iG711EncoderConfig = CMMFG711EncoderConfig::NewL()); sl@0: if (err == KErrNone && iG711EncoderConfig) sl@0: { sl@0: MG711EncoderIntfc* ptr = this; sl@0: ret = static_cast(ptr); sl@0: } sl@0: else sl@0: { sl@0: ret = NULL; sl@0: } sl@0: } sl@0: } sl@0: sl@0: return ret; sl@0: } sl@0: sl@0: TInt CG711EncoderConfigTestDevice::ThisHwBufferFilled(CMMFBuffer& /*aFillBufferPtr*/) sl@0: { sl@0: return 0; sl@0: } sl@0: sl@0: TInt CG711EncoderConfigTestDevice::ThisHwBufferEmptied(CMMFBuffer& /*aEmptyBufferPtr*/) sl@0: { sl@0: return 0; sl@0: } sl@0: sl@0: TInt CG711EncoderConfigTestDevice::SetConfig(TTaskConfig& /*aConfig*/) sl@0: { sl@0: return 0; sl@0: } sl@0: sl@0: TInt CG711EncoderConfigTestDevice::StopAndDeleteCodec() sl@0: { sl@0: return 0; sl@0: } sl@0: sl@0: TInt CG711EncoderConfigTestDevice::DeleteCodec() sl@0: { sl@0: return 0; sl@0: } sl@0: sl@0: CMMFSwCodec& CG711EncoderConfigTestDevice::Codec() sl@0: { sl@0: return *iCodec; sl@0: } sl@0: sl@0: TInt CG711EncoderConfigTestDevice::SetEncoderMode(TEncodeMode aEncodeMode) sl@0: { sl@0: TInt result = KErrBadHandle; sl@0: sl@0: if (iG711EncoderConfig) sl@0: { sl@0: result = iG711EncoderConfig->SetEncoderMode(aEncodeMode); sl@0: } sl@0: sl@0: return result; sl@0: } sl@0: sl@0: TInt CG711EncoderConfigTestDevice::SetVadMode(TBool aVadModeOn) sl@0: { sl@0: TInt result = KErrBadHandle; sl@0: sl@0: if (iG711EncoderConfig) sl@0: { sl@0: result = iG711EncoderConfig->SetVadMode(aVadModeOn); sl@0: } sl@0: sl@0: return result; sl@0: } sl@0: sl@0: TInt CG711EncoderConfigTestDevice::GetVadMode(TBool& aVadModeOn) sl@0: { sl@0: TInt result = KErrBadHandle; sl@0: sl@0: if (iG711EncoderConfig) sl@0: { sl@0: result = iG711EncoderConfig->GetVadMode(aVadModeOn); sl@0: } sl@0: sl@0: return result; sl@0: }