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 __MMF_AUDIOPOLICYREQUEST_H__ sl@0: #define __MMF_AUDIOPOLICYREQUEST_H__ sl@0: sl@0: #include sl@0: #include "MmfPolicyClientServer.h" sl@0: sl@0: enum TPolicyResponse sl@0: { sl@0: EProceed, // resource is available for immediate use sl@0: EDenied, // request is denied sl@0: EStopThenProceed, // someone must be stopped to honor this request sl@0: EResume, sl@0: EMix sl@0: }; sl@0: class CMMFAudioPolicyRequest; // declared here sl@0: /****************************************************************************** sl@0: * Class Name: CMMFAudioPolicyRequest sl@0: * sl@0: * Description: This class carries request information from the client to the sl@0: * server, upon making a request to proceed with a user's command. sl@0: * sl@0: ******************************************************************************/ sl@0: sl@0: sl@0: NONSHARABLE_CLASS( CMMFAudioPolicyRequest ) : public CBase sl@0: /** sl@0: *@internalTechnology sl@0: */ sl@0: { sl@0: public: sl@0: CMMFAudioPolicyRequest(); sl@0: ~CMMFAudioPolicyRequest(); sl@0: sl@0: // Accessor methods: sl@0: sl@0: inline void SetPrioritySettings(const TMMFAudioPolicyPrioritySettings& aPrioritySettings); sl@0: sl@0: inline TInt Priority() const; sl@0: inline void SetPriority(TInt aPriority); sl@0: sl@0: inline TMMFAudioPolicyState State() const; sl@0: inline void SetState(TMMFAudioPolicyState aState); sl@0: sl@0: inline TMdaPriorityPreference Pref() const; sl@0: inline void SetPref(TMdaPriorityPreference aPref); sl@0: sl@0: inline TInt PolicySessionId() const; sl@0: sl@0: inline TUid NotificationEvent() const; sl@0: inline void SetNotificationEvent(TUid aNotificationEventUid); sl@0: inline void ResetNotificationEvent(TUid aNotificationEventUid); sl@0: inline void SetEventFlag(TBool aEventFlag); sl@0: inline TBool IsEventNotified() const; sl@0: sl@0: inline TBool SendEventPending() const; sl@0: inline void SetSendEventPending(TBool aValue); sl@0: sl@0: void SetRequestDataL(const TDesC8& aRequestData); sl@0: inline const TDesC8& RequestData() const; sl@0: sl@0: inline TBool Capabilities() const; sl@0: inline void SetCapabilities(TBool aCaps); sl@0: sl@0: private: sl@0: sl@0: TInt iPriority; sl@0: TMdaPriorityPreference iPref; sl@0: TMMFAudioPolicyState iState; sl@0: TInt iPolicySessionId; sl@0: TMMFAudioPolicyPrioritySettings iPrioritySettings; sl@0: TUid iNotificationEventUid; sl@0: TBool iEventNotified; sl@0: TBool iSendEventPending; sl@0: HBufC8* iRequestData; sl@0: TPtrC8 iReqDataPtr; sl@0: sl@0: TBool iCapabilities; sl@0: sl@0: friend class CMMFAudioPolicySession; // Allow this class to use SetSessionId() sl@0: inline void SetPolicySessionId(TInt aPolicySessionId); sl@0: }; sl@0: sl@0: #include "MmfAudioPolicyRequest.inl" sl@0: sl@0: #endif //__MMF_AUDIOPOLICYREQUEST_H__