sl@0: // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef __MMFDEVSOUNDSESSIONTND_H__ sl@0: #define __MMFDEVSOUNDSESSIONTND_H__ sl@0: sl@0: #include "MmfDevSoundSession.h" sl@0: #include "MmfDevSoundInfo.h" sl@0: sl@0: /* sl@0: * sl@0: * Class Name: CMMFDevSoundSessionXtnd sl@0: * sl@0: * This class provides an extended interface for CMMFDevSound - intended sl@0: * to provide additional calls that are applicable to a particular implementation sl@0: * This version is built on RMdaDevSound sl@0: */ sl@0: class CMMFDevSoundSessionXtnd; // declared here. sl@0: sl@0: NONSHARABLE_CLASS( CMMFDevSoundSessionXtnd ) : public CMMFDevSoundSession sl@0: { sl@0: public: sl@0: sl@0: // Interface for Audio Policy sl@0: // Sets id for this DevSound instance sl@0: void SetDevSoundId(TInt aDevSoundId); sl@0: // Returns info about this DevSound instance sl@0: TMMFDevSoundInfo DevSoundInfo(); sl@0: // Called by Audio Policy Server when play reqeust is granted sl@0: void StartPlayDataL(); sl@0: // Called by Audio Policy Server when record reqeust is granted sl@0: void StartRecordDataL(); sl@0: // Called by Audio Policy Server when play tone reqeust is granted sl@0: void StartPlayToneL(); sl@0: // Called by Audio Policy Server when play dual tone request is granted sl@0: void StartPlayDualToneL(); sl@0: // Called by Audio Policy Server when play DTMF reqeust is granted sl@0: void StartPlayDTMFStringL(); sl@0: // Called by Audio Policy Server when play tone sequence reqeust is granted sl@0: void StartPlayToneSequenceL(); sl@0: // Called by Audio Policy Server when DevSound instance looses device sl@0: void SendEvent(const TMMFEvent& aEvent); sl@0: // Updates the total bytes played from audio device sl@0: void UpdateBytesPlayed(); sl@0: sl@0: // CMMFHwDevice implementation: sl@0: TInt FillThisBuffer(CMMFBuffer& aHwBuffer); sl@0: TInt EmptyThisBuffer(CMMFBuffer& aHwBuffer); sl@0: TInt DeviceMessage(TDesC8& aMsg); sl@0: void DeviceStopped(); sl@0: // CMMFHwDevice implementation ends sl@0: }; sl@0: sl@0: #endif // __MMFDEVSOUNDSESSIONTND_H__