os/mm/devsound/sounddevbt/src/Plugin/HwDevice/Audio/MmfBtAudioCodecImplementationProxy.cpp
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
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".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    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"
    37 
    38 
    39 
    40 // _________________________________________________________________________
    41 // Exported proxy for instantiation method resolution
    42 // Define the interface UIDs
    43 //
    44 const TImplementationProxy ImplementationTable[] =
    45 	{
    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),
    68     };
    69 
    70 /**
    71 Exported function, returns a pointer to implemenation table.
    72 
    73 @param  aTableCount
    74         Reference to table count.
    75 
    76 @return	Pointer to the implementation table.
    77 */
    78 EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
    79 	{
    80 	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
    81 	return ImplementationTable;
    82     }