diff -r 16e4b9007960 -r f5508c13dfe0 bluetoothappprofiles/avrcp/absolutevolumeapi/public/absolutevolumeapitarget.h --- a/bluetoothappprofiles/avrcp/absolutevolumeapi/public/absolutevolumeapitarget.h Wed Oct 13 13:15:31 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,96 +0,0 @@ -// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of "Eclipse Public License v1.0" -// which accompanies this distribution, and is available -// at the URL "http://www.eclipse.org/legal/epl-v10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// - - - -/** - @file - @publishedAll - @released -*/ - -#ifndef REMCONABSOLUTEVOLUMEAPITARGET_H -#define REMCONABSOLUTEVOLUMEAPITARGET_H - -#include -#include - -_LIT(KAbsoluteVolumeTargetPanicName, "AbsoluteVolumeTarget"); -enum TAbsoluteVolumeTargetPanics - { - ETargetInvalidMaxVolume = 0, - ETargetVolumeBeyondMaxVolume = 1, - }; - -class MRemConAbsoluteVolumeTargetObserver; - -/** -Client-instantiable type supporting sending absolute volume API responses for -Set Absolute Volume and Register Absolute Volume Change Notification. This API -should be used in preference to the extapi. -*/ -NONSHARABLE_CLASS(CRemConAbsoluteVolumeTarget) : public CRemConInterfaceBase, - public MRemConInterfaceIf2 - { -public: - IMPORT_C static CRemConAbsoluteVolumeTarget* NewL( - CRemConInterfaceSelector& aInterfaceSelector, - MRemConAbsoluteVolumeTargetObserver& aObserver, - TUint32 aVolume, - TUint32 aMaxVolume); - - IMPORT_C ~CRemConAbsoluteVolumeTarget(); - -public: - IMPORT_C void SetAbsoluteVolumeResponse(TUint32 aVolume, - TInt aErr); - - IMPORT_C void AbsoluteVolumeChanged(TUint32 aVolume); - -private: - CRemConAbsoluteVolumeTarget(CRemConInterfaceSelector& aInterfaceSelector, - MRemConAbsoluteVolumeTargetObserver& aObserver, - TUint32 aVolume, - TUint32 aMaxVolume); - - void ConstructL(); - -private: // From CRemConInterfaceBase - TAny* GetInterfaceIf(TUid aUid); - -private: // From MRemConInterfaceIf2 - void MrcibNewMessage(TUint aOperationId, - const TDesC8& aData, - TRemConMessageSubType aMsgSubType); - -private: // Utility Funtions - void SendError(TInt aError, TUint aOperationId); - void SendNotificationResponse(TRemConMessageSubType aMsgSubType); - void ProcessGetStatus(); - void ProcessGetStatusAndBeginObserving(); - void ProcessSetAbsoluteVolume(const TDesC8& aData); - -private: // Unowned - MRemConAbsoluteVolumeTargetObserver& iObserver; - -private: // Owned - // ETrue indicates a request for absolute volume change notification has - // been received. - TBool iAbsoluteVolumeNotificationRequest; - RBuf8 iOutBuf; - TUint32 iClientVolume; - TUint32 iClientMaxVolume; - }; -#endif // ABSOLUTEVOLUMEAPITARGET_H