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 <ecom/implementationproxy.h>
sl@0: #include <ecom/ecom.h>
sl@0: #include <f32file.h>
sl@0: #include "audiovibracontroltestdevice.h"
sl@0: #include "devsoundciutestdevices.hrh"
sl@0: 
sl@0: 
sl@0: /*
sl@0: CMMFAudioVibraControl implementation
sl@0: */
sl@0: CMMFAudioVibraControl* CMMFAudioVibraControl::NewL()
sl@0: 	{
sl@0: 	CMMFAudioVibraControl* self = new(ELeave) CMMFAudioVibraControl();
sl@0: 	return self;
sl@0: 	}
sl@0: 
sl@0: CMMFAudioVibraControl::~CMMFAudioVibraControl()
sl@0: 	{
sl@0: 	}
sl@0: 
sl@0: //Actual implementation of method StartVibra
sl@0: TInt CMMFAudioVibraControl::StartVibra()
sl@0: 	{
sl@0: 	return KErrNone;
sl@0: 	}
sl@0: 
sl@0: //Actual implementation of method StopVibra
sl@0: TInt CMMFAudioVibraControl::StopVibra()
sl@0: 	{
sl@0: 	return KErrNone;
sl@0: 	}
sl@0: 
sl@0: 
sl@0: /*
sl@0: CAudioVibraControlTestDevice implementation
sl@0: */
sl@0: CMMFHwDevice* CAudioVibraControlTestDevice::NewL()
sl@0: 	{
sl@0: 	CAudioVibraControlTestDevice* self=new(ELeave) CAudioVibraControlTestDevice();
sl@0: 	CleanupStack::PushL(self);
sl@0: 	self->ConstructL();
sl@0: 	CleanupStack::Pop(self);
sl@0: 	return self;
sl@0: 	}
sl@0: 
sl@0: CAudioVibraControlTestDevice::~CAudioVibraControlTestDevice()
sl@0: 	{
sl@0: 	delete iAudioVibraControl;
sl@0: 	}
sl@0: 
sl@0: CAudioVibraControlTestDevice::CAudioVibraControlTestDevice()
sl@0: 	{
sl@0: 	}
sl@0: 
sl@0: void CAudioVibraControlTestDevice::ConstructL()
sl@0: 	{
sl@0: 	}
sl@0: 
sl@0: TInt CAudioVibraControlTestDevice::Start(TDeviceFunc /*aFuncCmd*/, TDeviceFlow /*aFlowCmd*/) 
sl@0: 	{
sl@0: 	return 0;
sl@0: 	}
sl@0: 
sl@0: TInt CAudioVibraControlTestDevice::Stop()
sl@0: 	{
sl@0: 	return 0;
sl@0: 	}
sl@0: 
sl@0: TInt CAudioVibraControlTestDevice::Pause()
sl@0: 	{
sl@0: 	return 0;
sl@0: 	}
sl@0: 
sl@0: TInt CAudioVibraControlTestDevice::Init(THwDeviceInitParams& /*aDevInfo*/)
sl@0: 	{
sl@0: 	return 0;
sl@0: 	}
sl@0: 
sl@0: TAny* CAudioVibraControlTestDevice::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<TAny*>(this);
sl@0: 
sl@0: 	// Now for the CIs we want to test...
sl@0: 	if (aInterfaceId == KUidAudioVibraControl)
sl@0: 		{
sl@0: 		if (!iAudioVibraControl)
sl@0: 			{
sl@0: 			TRAPD(err, iAudioVibraControl = CMMFAudioVibraControl::NewL());
sl@0: 			if (err == KErrNone && iAudioVibraControl)
sl@0: 				{
sl@0: 				MAudioVibraControl* ptr = this;
sl@0: 				ret = static_cast<TAny*>(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 CAudioVibraControlTestDevice::ThisHwBufferFilled(CMMFBuffer& /*aFillBufferPtr*/)
sl@0: 	{
sl@0: 	return 0;
sl@0: 	}
sl@0: 
sl@0: TInt CAudioVibraControlTestDevice::ThisHwBufferEmptied(CMMFBuffer& /*aEmptyBufferPtr*/)
sl@0: 	{
sl@0: 	return 0;
sl@0: 	}
sl@0: 
sl@0: TInt CAudioVibraControlTestDevice::SetConfig(TTaskConfig& /*aConfig*/)
sl@0: 	{
sl@0: 	return 0;
sl@0: 	}
sl@0: 
sl@0: TInt CAudioVibraControlTestDevice::StopAndDeleteCodec()
sl@0: 	{
sl@0: 	return 0;
sl@0: 	}
sl@0: 
sl@0: TInt CAudioVibraControlTestDevice::DeleteCodec()
sl@0: 	{
sl@0: 	return 0;
sl@0: 	}
sl@0: 
sl@0: CMMFSwCodec& CAudioVibraControlTestDevice::Codec()
sl@0: 	{
sl@0: 	return *iCodec;
sl@0: 	}
sl@0: 
sl@0: TInt CAudioVibraControlTestDevice::StartVibra()
sl@0: 	{
sl@0: 	TInt result = KErrBadHandle;
sl@0: 
sl@0: 	if (iAudioVibraControl)
sl@0: 		{
sl@0: 		result = iAudioVibraControl->StartVibra();
sl@0: 		}
sl@0: 
sl@0: 	return result;
sl@0: 	}
sl@0: 
sl@0: TInt CAudioVibraControlTestDevice::StopVibra()
sl@0: 	{
sl@0: 	TInt result = KErrBadHandle;
sl@0: 
sl@0: 	if (iAudioVibraControl)
sl@0: 		{
sl@0: 		result = iAudioVibraControl->StopVibra();
sl@0: 		}
sl@0: 
sl@0: 	return result;
sl@0: 	}