sl@0: /* sl@0: * Copyright (c) 2002-2006 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: CustomInterface Utility Proxy implementation sl@0: * sl@0: */ sl@0: sl@0: sl@0: sl@0: // INCLUDE FILES sl@0: #include "CustomInterfaceUtility.h" sl@0: #include sl@0: #include "CustomCommandUtility.h" sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CMdaAudioConvertUtility& aUtility) sl@0: { sl@0: CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility); sl@0: CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); sl@0: sl@0: return util; sl@0: } sl@0: sl@0: EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CMdaAudioPlayerUtility& aUtility) sl@0: { sl@0: CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility); sl@0: CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); sl@0: sl@0: return util; sl@0: } sl@0: sl@0: EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CMdaAudioRecorderUtility& aUtility, sl@0: TBool aRecordStream) sl@0: { sl@0: CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility,aRecordStream); sl@0: CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); sl@0: sl@0: return util; sl@0: } sl@0: sl@0: EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CCustomCommandUtility* aCustomCommandUtility) sl@0: { sl@0: //CCustomInterfaceUtility* self = new(ELeave) CCustomInterfaceUtility(); sl@0: //CleanupStack::PushL(self); sl@0: //self->ConstructL(aCustomCommandUtility); sl@0: //CleanupStack::Pop(self); sl@0: CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(aCustomCommandUtility); sl@0: return util; sl@0: } sl@0: EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CMMFDevSound& /*aDevSound*/) sl@0: { sl@0: User::Leave(KErrNotSupported); sl@0: CCustomInterfaceUtility* self = NULL; sl@0: return self; sl@0: /***** sl@0: CCustomInterfaceUtility* self = new(ELeave) CCustomInterfaceUtility(); sl@0: CleanupStack::PushL(self); sl@0: self->ConstructL(aDevSound); sl@0: CleanupStack::Pop(self); sl@0: return self; sl@0: *****/ sl@0: } sl@0: sl@0: EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CMidiClientUtility& aUtility) sl@0: { sl@0: CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility); sl@0: CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); sl@0: sl@0: return util; sl@0: } sl@0: sl@0: EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(MCustomCommand& aUtility) sl@0: { sl@0: CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(aUtility); sl@0: sl@0: return util; sl@0: } sl@0: sl@0: EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CDrmPlayerUtility& aUtility) sl@0: { sl@0: CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility); sl@0: CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); sl@0: sl@0: return util; sl@0: } sl@0: sl@0: EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CVideoPlayerUtility& aUtility) sl@0: { sl@0: CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility); sl@0: CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); sl@0: sl@0: return util; sl@0: } sl@0: sl@0: EXPORT_C CCustomInterfaceUtility* CCustomInterfaceUtility::NewL(CVideoRecorderUtility& aUtility) sl@0: { sl@0: CCustomCommandUtility* customCommandUtility = CCustomCommandUtility::NewL(aUtility); sl@0: CProxyCustomInterfaceUtility* util = CProxyCustomInterfaceUtility::NewL(customCommandUtility); sl@0: sl@0: return util; sl@0: } sl@0: sl@0: EXPORT_C CCustomInterfaceUtility::CCustomInterfaceUtility() sl@0: { sl@0: } sl@0: sl@0: void CCustomInterfaceUtility::ConstructL(CCustomCommandUtility* aCustomCommandUtility) sl@0: { sl@0: iProxyFactory = CProxyCustomInterfaceUtility::NewL(aCustomCommandUtility); sl@0: } sl@0: sl@0: void CCustomInterfaceUtility::ConstructL(CMMFDevSound& aDevSound) sl@0: { sl@0: iDevSound = &aDevSound; sl@0: } sl@0: EXPORT_C CCustomInterfaceUtility::~CCustomInterfaceUtility() sl@0: { sl@0: delete iProxyFactory; sl@0: } sl@0: sl@0: TAny* CCustomInterfaceUtility::CustomInterface(TUid aInterfaceId) sl@0: { sl@0: TAny* result; sl@0: sl@0: if (iDevSound) sl@0: { sl@0: result = iDevSound->CustomInterface(aInterfaceId); sl@0: // delete this; //protect from memory leaks in clients sl@0: } sl@0: else sl@0: { sl@0: result = iProxyFactory->CustomInterface(aInterfaceId); sl@0: } sl@0: return result; sl@0: } sl@0: sl@0: void CCustomInterfaceUtility::RemoveCustomInterface(TMMFMessageDestinationPckg aMessageHandler) sl@0: { sl@0: sl@0: iProxyFactory->RemoveCustomInterface(aMessageHandler); sl@0: sl@0: } sl@0: sl@0: sl@0: // End of File