1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/mm/devsound/sounddevbt/inc/SwCodecWrapper/mmfbtswcodecwrapperinterface.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,83 @@
1.4 +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of "Eclipse Public License v1.0"
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +//
1.18 +
1.19 +#ifndef __MMFBTSWCODECWRAPPERINTERFACE_H__
1.20 +#define __MMFBTSWCODECWRAPPERINTERFACE_H__
1.21 +
1.22 +#include <mmfbthwdevice2.h>
1.23 +
1.24 +class CMMFSwCodecDataPath; //forward reference
1.25 +
1.26 +class CRoutingSoundPlayDevice;
1.27 +class CRoutingSoundRecordDevice;
1.28 +
1.29 +/**
1.30 +@publishedPartner
1.31 +@prototype
1.32 +
1.33 +Custom interface class for play functionality created by the
1.34 +CMMFSwCodecWrapper::CustomInterface() method. It provides
1.35 +access to miscellaneous functionality such as volume settings.
1.36 +Ports of the sw codec wrapper may do this differently eg. via EAP.
1.37 +Note Users should not use RMdaDevSound::TCurrentSoundFormatBuf to send
1.38 +across the sample rate and channels because 1) it would mean
1.39 +MmfBtSwCodecWrapper.h would have to include mdasound.h 2)
1.40 +the buffer size and encoding members are not required and 3) 3rd party ports
1.41 +may not use RMdaDevSound.
1.42 +
1.43 +Note also that this interface is just a simple interface to get
1.44 +and set values. No checking is perfomed on the values sent (hence the
1.45 +Set methods do not return an error code).
1.46 +*/
1.47 +class MPlayCustomInterface
1.48 + {
1.49 +public:
1.50 + virtual void SetVolume(TUint aVolume) = 0;
1.51 + virtual TUint Volume() = 0;
1.52 + virtual TUint BytesPlayed() = 0;
1.53 + virtual void SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration) = 0;
1.54 + virtual TTimeIntervalMicroSeconds& VolumeRamp() = 0;
1.55 + virtual TTaskConfig Caps() = 0;
1.56 + };
1.57 +
1.58 +
1.59 +/**
1.60 +@publishedPartner
1.61 +@prototype
1.62 +
1.63 +Custom interface class for record functionality created by the
1.64 +CMMFSwCodecWrapper::CustomInterface() method. It provides
1.65 +access to miscelaneous functionality such as volume settings.
1.66 +Ports of the sw codec wrapper may do this differently eg. via EAP.
1.67 +Note: Users shoule not use RMdaDevSound::TCurrentSoundFormatBuf so send
1.68 +across the sample rate and channels because 1) it would mean
1.69 +MmfBtSwCodecWrapper.h would have to include mdasound.h 2)
1.70 +the buffer size and encoding members are not required and 3) 3rd party ports
1.71 +may not use RMdaDevSound.
1.72 +
1.73 +Note also that this interface is just a simple interface to get
1.74 +and set values. No checking is perfomed on the values sent (hence the
1.75 +Set methods do not return an error code).
1.76 +*/
1.77 +class MRecordCustomInterface
1.78 + {
1.79 +public:
1.80 + virtual void SetGain(TUint aGain) = 0;
1.81 + virtual TUint Gain() = 0;
1.82 + virtual TUint BytesRecorded() = 0;
1.83 + };
1.84 +
1.85 +#endif //__MMFBTSWCODECWRAPPERINTERFACE_H__
1.86 +