os/mm/devsound/sounddevbt/inc/SwCodecWrapper/mmfbtswcodecwrapperinterface.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 // Copyright (c) 2005-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 #ifndef __MMFBTSWCODECWRAPPERINTERFACE_H__
    17 #define __MMFBTSWCODECWRAPPERINTERFACE_H__
    18 
    19 #include <mmfbthwdevice2.h>
    20 
    21 class CMMFSwCodecDataPath; //forward reference
    22 
    23 class CRoutingSoundPlayDevice;
    24 class CRoutingSoundRecordDevice;
    25 
    26 /**
    27 @publishedPartner
    28 @prototype
    29 
    30 Custom interface class for play functionality created by the
    31 CMMFSwCodecWrapper::CustomInterface() method. It provides
    32 access to miscellaneous functionality such as volume settings.
    33 Ports of the sw codec wrapper may do this differently eg. via EAP.
    34 Note Users should not use RMdaDevSound::TCurrentSoundFormatBuf to send
    35 across the sample rate and channels because 1) it would mean
    36 MmfBtSwCodecWrapper.h would have to include mdasound.h 2)
    37 the buffer size and encoding members are not required and 3) 3rd party ports
    38 may not use RMdaDevSound.
    39 
    40 Note also that this interface is just a simple interface to get
    41 and set values. No checking is perfomed on the values sent (hence the
    42 Set methods do not return an error code).
    43 */
    44 class MPlayCustomInterface
    45 	{
    46 public:
    47 	virtual void SetVolume(TUint aVolume) = 0;
    48 	virtual TUint Volume() = 0;
    49 	virtual TUint BytesPlayed() = 0;
    50 	virtual void SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration) = 0;
    51 	virtual TTimeIntervalMicroSeconds& VolumeRamp() = 0;
    52 	virtual TTaskConfig Caps() = 0;
    53 	};
    54 
    55 
    56 /**
    57 @publishedPartner
    58 @prototype
    59 
    60 Custom interface class for record functionality created by the
    61 CMMFSwCodecWrapper::CustomInterface() method. It provides
    62 access to miscelaneous functionality such as volume settings.
    63 Ports of the sw codec wrapper may do this differently eg. via EAP.
    64 Note: Users shoule not use RMdaDevSound::TCurrentSoundFormatBuf so send
    65 across the sample rate and channels because 1) it would mean
    66 MmfBtSwCodecWrapper.h would have to include mdasound.h 2)
    67 the buffer size and encoding members are not required and 3) 3rd party ports
    68 may not use RMdaDevSound.
    69 
    70 Note also that this interface is just a simple interface to get
    71 and set values. No checking is perfomed on the values sent (hence the
    72 Set methods do not return an error code).
    73 */
    74 class MRecordCustomInterface
    75 	{
    76 public:
    77 	virtual void SetGain(TUint aGain) = 0;
    78 	virtual TUint Gain() = 0;
    79 	virtual TUint BytesRecorded() = 0; 
    80 	};
    81 
    82 #endif //__MMFBTSWCODECWRAPPERINTERFACE_H__
    83