os/mm/devsound/devsoundrefplugin/src/server/MmfAudioPolicyRequest.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 // Copyright (c) 2001-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 __MMF_AUDIOPOLICYREQUEST_H__
    17 #define __MMF_AUDIOPOLICYREQUEST_H__
    18 
    19 #include <e32base.h>
    20 #include "MmfPolicyClientServer.h" 
    21 
    22 enum TPolicyResponse
    23 {
    24 	EProceed,			// resource is available for immediate use
    25 	EDenied,			// request is denied
    26 	EStopThenProceed,	// someone must be stopped to honor this request
    27 	EResume,			
    28 	EMix
    29 };
    30 class CMMFAudioPolicyRequest; // declared here
    31 /******************************************************************************
    32 * Class Name:	CMMFAudioPolicyRequest
    33 * 
    34 * Description:	This class carries request information from the client to the
    35 *				server, upon making a request to proceed with a user's command.
    36 *
    37 ******************************************************************************/
    38 
    39 
    40 NONSHARABLE_CLASS( CMMFAudioPolicyRequest ) : public CBase
    41 /**
    42 *@internalTechnology
    43 */
    44 	{
    45 public:
    46 	CMMFAudioPolicyRequest();
    47 	~CMMFAudioPolicyRequest();
    48 
    49 	// Accessor methods:
    50 
    51 	inline void SetPrioritySettings(const TMMFAudioPolicyPrioritySettings& aPrioritySettings);
    52 
    53 	inline TInt Priority() const;
    54 	inline void SetPriority(TInt aPriority);
    55 
    56 	inline TMMFAudioPolicyState State() const;
    57 	inline void SetState(TMMFAudioPolicyState aState);
    58 
    59 	inline TMdaPriorityPreference Pref() const;
    60 	inline void SetPref(TMdaPriorityPreference aPref);
    61 
    62 	inline TInt PolicySessionId() const;
    63 
    64 	inline TUid NotificationEvent() const;
    65 	inline void SetNotificationEvent(TUid aNotificationEventUid);
    66 	inline void ResetNotificationEvent(TUid aNotificationEventUid);
    67 	inline void SetEventFlag(TBool aEventFlag);
    68 	inline TBool IsEventNotified() const;
    69 	
    70 	inline TBool SendEventPending() const;
    71 	inline void SetSendEventPending(TBool aValue);
    72 	
    73 	void SetRequestDataL(const TDesC8& aRequestData);
    74 	inline const TDesC8& RequestData() const;
    75 
    76 	inline TBool Capabilities() const;
    77 	inline void SetCapabilities(TBool aCaps);
    78 
    79 private:
    80 
    81 	TInt							iPriority;
    82 	TMdaPriorityPreference			iPref;
    83 	TMMFAudioPolicyState			iState;
    84 	TInt							iPolicySessionId;
    85 	TMMFAudioPolicyPrioritySettings	iPrioritySettings;
    86 	TUid							iNotificationEventUid;
    87 	TBool							iEventNotified;
    88 	TBool							iSendEventPending;
    89 	HBufC8*							iRequestData;
    90 	TPtrC8							iReqDataPtr;
    91 	
    92 	TBool							iCapabilities;
    93 
    94 	friend class CMMFAudioPolicySession;  // Allow this class to use SetSessionId()
    95 	inline void SetPolicySessionId(TInt aPolicySessionId);
    96 	};
    97 
    98 #include "MmfAudioPolicyRequest.inl"
    99 
   100 #endif //__MMF_AUDIOPOLICYREQUEST_H__