os/mm/devsound/devsoundrefplugin/src/plugin/audio/MMFAudioCodecImplementationProxy.cpp
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 /*
     2 * Copyright (c) 1997-2002 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:
    15 *
    16 */
    17 
    18 #include <ecom/ecom.h>
    19 #include <ecom/implementationproxy.h> // For making it ECom plugin
    20 #include <mmf/plugin/mmfhwdeviceimplementationuids.hrh>
    21 #include "MMFpcm16ToPcm16HwDevice.h"
    22 #include "MMFpcm16ToPcmU8HwDevice.h"
    23 #include "MMFpcmU8ToPcm16HwDevice.h"
    24 #include "MmfMuLawToPcm16hwDevice.h"
    25 #include "MmfALawToPcm16HwDevice.h"
    26 #include "MmfPcm16toAlawhwDevice.h"
    27 #include "mmfpcm16toMulawhwdevice.h"
    28 #include "mmfpcm16SwapEndianhwdevice.h"
    29 #include "MMFpcm16ToPcmU8HwDevice.h"
    30 #include "mmfpcmU16TopcmS16HwDevice.h"
    31 #include "mmfpcmU16BeToPcmS16HwDevice.h"
    32 #include "mmfpcmS8ToPcmS16HwDevice.h"
    33 #include "mmfpcmS16topcmU16Codec.h"
    34 #include "mmfpcmS16PcmS8HwDevice.h"
    35 #include "mmfpcm16topcmU16BEHwDevice.h"
    36 #include "MmfImaAdpcmtopcm16hwdevice.h"
    37 #include "mmfpcmU16BeToPcmS16HwDevice.h"
    38 #include "mmfpcm16ToImaAdpcm.h"
    39 
    40 
    41 
    42 // _________________________________________________________________________
    43 // Exported proxy for instantiation method resolution
    44 // Define the interface UIDs
    45 //
    46 const TImplementationProxy ImplementationTable[] =
    47 	{
    48         IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDevicePCM16ToPCM16,    CMMFPcm16ToPcm16HwDevice::NewL),
    49 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDevicePCM16ToPCMU8,    CMMFPcm16ToPcmU8HwDevice::NewL),
    50 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDevicePCMU8ToPCM16,    CMMFPcmU8ToPcm16HwDevice::NewL),
    51 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDeviceMulawToPCM16,    CMMFMulawToPcm16CodecHwDevice::NewL),
    52 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDeviceAlawToPCM16,     CMMFAlawToPcm16CodecHwDevice::NewL),
    53 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDevicePCM16ToMuLaw,    CMMFPcm16ToMulawHwDevice::NewL),
    54 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDevicePCM16ToALaw,     CMMFPcm16ToAlawHwDevice::NewL),
    55 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDevicePCM16toPCM16B,   CMMFPcm16SwapEndianHwDevice::NewL ),		
    56 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDeviceS16ToPCMU8,      CMMFPcm16ToPcmU8HwDevice::NewL ),
    57 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDeviceS16ToPCMU16,     CMMFPcm16ToPcmU16HwDevice::NewL ),	
    58 		IMPLEMENTATION_PROXY_ENTRY(KMMFUidHwDevicePCM16toPCMU16B,  CMMFPcm16ToPcmU16BEHwDevice::NewL),
    59 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDevicePCM8ToPCM16,     CMMFPcm8ToPcm16HwDevice::NewL ),
    60 		IMPLEMENTATION_PROXY_ENTRY(KMMFUidHwDevicePCM16toPCMU16B,  CMMFPcm16ToPcmU16BEHwDevice::NewL ),
    61 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDeviceS16ToPCMU16,     CMMFPcm16ToPcmU16HwDevice::NewL ),
    62 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDeviceU16ToPCMS16,     CMMFPcmU16ToPcm16HwDevice::NewL ),
    63 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDeviceS16ToPCMS8,      CMMFPcmS16ToPcmS8HwDevice::NewL ),
    64 		IMPLEMENTATION_PROXY_ENTRY(KMMFUidHwDevicePCM16BtoPCM16,   CMMFPcm16SwapEndianHwDevice::NewL),
    65 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDeviceU16BEToPCMS16,   CMMFPcmU16BeToPcmS16HwDevice::NewL),
    66 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDevicePCM16ToIMAADPCM, CMMFPcm16ToImaAdpcmHwDevice::NewL),
    67 		IMPLEMENTATION_PROXY_ENTRY(KMmfUidHwDeviceIMAADPCMToPCM16, CMMFImaAdpcmToPcm16CodecHwDevice::NewL),
    68 		IMPLEMENTATION_PROXY_ENTRY(KMMFUidHwDevicePCMU16toPCMU16B, CMMFPcm16SwapEndianHwDevice::NewL),
    69 		IMPLEMENTATION_PROXY_ENTRY(KMMFUidHwDevicePCMU16BtoPCMU16, CMMFPcm16SwapEndianHwDevice::NewL),
    70     };
    71 
    72 /**
    73 Exported function, returns a pointer to implemenation table.
    74 
    75 @param  aTableCount
    76         Reference to table count.
    77 
    78 @return	Pointer to the implementation table.
    79 */
    80 EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
    81 	{
    82 	aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
    83 	return ImplementationTable;
    84     }