os/mm/devsound/sounddevbt/src/Plugin/HwDevice/Audio/MmfBtAudioCodecImplementationProxy.cpp
First public contribution.
1 // Copyright (c) 1997-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 <ecom/ecom.h>
17 #include <ecom/implementationproxy.h> // For making it ECom plugin
18 #include <mmf/plugin/mmfbthwdeviceimplementationuids.hrh>
19 #include "MmfBtPcm16ToPcm16HwDevice.h"
20 #include "MmfBtPcm16ToPcmU8HwDevice.h"
21 #include "MmfBtPcmU8ToPcm16HwDevice.h"
22 #include "MmfBtMuLawToPcm16HwDevice.h"
23 #include "MmfBtALawToPcm16HwDevice.h"
24 #include "MmfBtPcm16ToAlawHwDevice.h"
25 #include "MmfBtPcm16ToMulawHwDevice.h"
26 #include "MmfBtPcm16SwapEndianHwDevice.h"
27 #include "MmfBtPcm16ToPcmU8HwDevice.h"
28 #include "MmfBtPcmU16ToPcmS16HwDevice.h"
29 #include "MmfBtPcmU16BeToPcmS16HwDevice.h"
30 #include "MmfBtPcmS8ToPcmS16HwDevice.h"
31 #include "MmfBtPcmS16ToPcmU16Codec.h"
32 #include "MmfBtPcmS16ToPcmS8HwDevice.h"
33 #include "MmfBtPcm16ToPcmU16BEHwDevice.h"
34 #include "MmfBtImaAdpcmToPcm16HwDevice.h"
35 #include "MmfBtPcmU16BeToPcmS16HwDevice.h"
36 #include "MmfBtPcm16ToImaAdpcm.h"
40 // _________________________________________________________________________
41 // Exported proxy for instantiation method resolution
42 // Define the interface UIDs
44 const TImplementationProxy ImplementationTable[] =
46 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDevicePCM16ToPCM16, CMMFPcm16ToPcm16HwDevice::NewL),
47 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDevicePCM16ToPCMU8, CMMFPcm16ToPcmU8HwDevice::NewL),
48 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDevicePCMU8ToPCM16, CMMFPcmU8ToPcm16HwDevice::NewL),
49 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDeviceMulawToPCM16, CMMFMulawToPcm16CodecHwDevice::NewL),
50 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDeviceAlawToPCM16, CMMFAlawToPcm16CodecHwDevice::NewL),
51 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDevicePCM16ToMuLaw, CMMFPcm16ToMulawHwDevice::NewL),
52 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDevicePCM16ToALaw, CMMFPcm16ToAlawHwDevice::NewL),
53 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDevicePCM16toPCM16B, CMMFPcm16SwapEndianHwDevice::NewL ),
54 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDeviceS16ToPCMU8, CMMFPcm16ToPcmU8HwDevice::NewL ),
55 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDeviceS16ToPCMU16, CMMFPcm16ToPcmU16HwDevice::NewL ),
56 IMPLEMENTATION_PROXY_ENTRY(KMMFUidBtHwDevicePCM16toPCMU16B, CMMFPcm16ToPcmU16BEHwDevice::NewL),
57 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDevicePCM8ToPCM16, CMMFPcm8ToPcm16HwDevice::NewL ),
58 IMPLEMENTATION_PROXY_ENTRY(KMMFUidBtHwDevicePCM16toPCMU16B, CMMFPcm16ToPcmU16BEHwDevice::NewL ),
59 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDeviceS16ToPCMU16, CMMFPcm16ToPcmU16HwDevice::NewL ),
60 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDeviceU16ToPCMS16, CMMFPcmU16ToPcm16HwDevice::NewL ),
61 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDeviceS16ToPCMS8, CMMFPcmS16ToPcmS8HwDevice::NewL ),
62 IMPLEMENTATION_PROXY_ENTRY(KMMFUidBtHwDevicePCM16BtoPCM16, CMMFPcm16SwapEndianHwDevice::NewL),
63 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDeviceU16BEToPCMS16, CMMFPcmU16BeToPcmS16HwDevice::NewL),
64 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDevicePCM16ToIMAADPCM, CMMFPcm16ToImaAdpcmHwDevice::NewL),
65 IMPLEMENTATION_PROXY_ENTRY(KMmfUidBtHwDeviceIMAADPCMToPCM16, CMMFImaAdpcmToPcm16CodecHwDevice::NewL),
66 IMPLEMENTATION_PROXY_ENTRY(KMMFUidBtHwDevicePCMU16toPCMU16B, CMMFPcm16SwapEndianHwDevice::NewL),
67 IMPLEMENTATION_PROXY_ENTRY(KMMFUidBtHwDevicePCMU16BtoPCMU16, CMMFPcm16SwapEndianHwDevice::NewL),
71 Exported function, returns a pointer to implemenation table.
74 Reference to table count.
76 @return Pointer to the implementation table.
78 EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
80 aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
81 return ImplementationTable;