devsound/sounddevbt/inc/SwCodecWrapper/mmfbtswcodecwrapperinterface.h
changeset 0 40261b775718
equal deleted inserted replaced
-1:000000000000 0:40261b775718
       
     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