sl@0: // Copyright (c) 2001-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 __MMFAUDIOPOLICYPROXY_H__ sl@0: #define __MMFAUDIOPOLICYPROXY_H__ sl@0: sl@0: #include sl@0: #include sl@0: #include "MmfAudioPolicySession.h" sl@0: sl@0: #ifdef SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER sl@0: #include "mdasoundadapter.h" sl@0: #else sl@0: #include sl@0: #endif sl@0: sl@0: #include sl@0: #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS sl@0: #include sl@0: #endif sl@0: class RMMFAudioPolicyProxy; // declared here. sl@0: sl@0: class CMMFAudioPolicyRequest; sl@0: class TMMFDevSoundInfo; sl@0: sl@0: NONSHARABLE_CLASS( RMMFAudioPolicyProxy ): public RMmfSessionBase sl@0: /** sl@0: *@internalTechnology sl@0: */ sl@0: { sl@0: public: sl@0: IMPORT_C TInt Open(RServer2& aPolicyServerHandle); sl@0: IMPORT_C TInt CreateServer(RServer2& aPolicyServerHandle); sl@0: IMPORT_C TInt SetDevSoundInfo(TMMFDevSoundInfo& aDevSoundInfo); sl@0: IMPORT_C void MakeRequest(TMMFAudioPolicyPrioritySettings& aPrioritySettings); sl@0: IMPORT_C TInt UpdateState(TMMFAudioPolicyPrioritySettings& aPrioritySettings); sl@0: IMPORT_C void ReceiveEvents(TMMFAudioPolicyEventPckg& aEventPckg, TRequestStatus& aStatus); sl@0: IMPORT_C TInt CancelReceiveEvents(); sl@0: IMPORT_C TInt GetPlayFormatsSupported(RMdaDevSound::TSoundFormatsSupportedBuf& aPlayFormatsSupported); sl@0: IMPORT_C TInt GetRecordFormatsSupported(RMdaDevSound::TSoundFormatsSupportedBuf& aRecordFormatsSupported); sl@0: IMPORT_C TInt GetPlayFormat(RMdaDevSound::TCurrentSoundFormatBuf& aPlayFormat); sl@0: IMPORT_C TInt GetRecordFormat(RMdaDevSound::TCurrentSoundFormatBuf& aRecordFormat); sl@0: IMPORT_C TInt LaunchRequests(); sl@0: IMPORT_C TInt RequestResourceNotification(TUid aNotificationEventUid, const TDesC8& aNotificationData = KNullDesC8); sl@0: IMPORT_C TInt CancelRequestResourceNotification(TUid aNotificationEventUid); sl@0: IMPORT_C TInt StopNotification(); sl@0: IMPORT_C TInt IsRegisteredResourceNotification(TUid aEventType); sl@0: private: sl@0: TMMFAudioPolicyPrioritySettingsPckg iPsPckg; sl@0: }; sl@0: sl@0: #endif