remotecontrol/avrcp/remconbeareravrcp/inc/playerbitmasks.h
changeset 51 20ac952a623c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/remotecontrol/avrcp/remconbeareravrcp/inc/playerbitmasks.h	Wed Oct 13 16:20:29 2010 +0300
@@ -0,0 +1,196 @@
+// Copyright (c) 2008-2010 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:
+// TPlayerFeatureBitmask.h
+//
+
+#ifndef PLAYERBITMASKS_H_
+#define PLAYERBITMASKS_H_
+
+/**
+@file
+@internalComponent
+@released
+*/
+#include <e32base.h>
+
+const TInt KFeatureBitmaskLength = 16;
+
+enum TByteOffsets
+	{
+	ESelectByteOffset = 0,
+	EUpByteOffset = 0,
+	EDownByteOffset = 0,
+	ELeftByteOffset = 0,
+	ERightByteOffset = 0,
+	ERightUpByteOffset = 0,
+	ERightDownByteOffset = 0,
+	ELeftUpByteOffset = 0,
+	ELeftDownByteOffset = 1,
+	ERootMenuByteOffset = 1,
+	ESetupMenuByteOffset = 1,
+	EContentsMenuByteOffset = 1,
+	EFavoriteMenuByteOffset = 1,
+	EExitByteOffset = 1,
+	E0ByteOffset = 1,
+	E1ByteOffset = 1,
+	E2ByteOffset = 2,
+	E3ByteOffset = 2,
+	E4ByteOffset = 2,
+	E5ByteOffset = 2,
+	E6ByteOffset = 2,
+	E7ByteOffset = 2,
+	E8ByteOffset = 2,
+	E9ByteOffset = 2,
+	EDotByteOffset = 3,
+	EEnterByteOffset = 3,
+	EClearByteOffset = 3,
+	EChannelUpByteOffset = 3,
+	EChannelDownByteOffset = 3,
+	EPreviousChannelByteOffset = 3,
+	ESoundSelectByteOffset = 3,
+	EInputSelectByteOffset = 3,
+	EDisplayInformationByteOffset = 4,
+	EHelpByteOffset = 4,
+	EPageUpByteOffset = 4,
+	EPageDownByteOffset = 4,
+	EPowerByteOffset = 4,
+	EVolumeUpByteOffset = 4,
+	EVolumeDownByteOffset = 4,
+	EMuteByteOffset = 4,
+	EPlayByteOffset = 5,
+	EStopByteOffset = 5,
+	EPauseByteOffset = 5,
+	ERecordByteOffset = 5,
+	ERewindByteOffset = 5,
+	EFastForwardByteOffset = 5,
+	EEjectByteOffset = 5,
+	EForwardByteOffset = 5,
+	EBackwardByteOffset = 6,
+	EAngleByteOffset = 6,
+	ESubpictureByteOffset = 6,
+	EF1ByteOffset = 6,
+	EF2ByteOffset = 6,
+	EF3ByteOffset = 6,
+	EF4ByteOffset = 6,
+	EF5ByteOffset = 6,
+	EVendorUniqueByteOffset = 7,
+	EGroupNavigationByteOffset = 7,
+	EAdvancedControlPlayerByteOffset = 7,
+	EBrowsingByteOffset = 7,
+	ESearchByteOffset = 7,
+	EAddToNowPlayingByteOffset = 7,
+	EDatabaseAwareByteOffset = 7,
+	EBrowsableOnlyWhenAddressedByteOffset = 7,
+	ESearchableOnlyWhenAddressedByteOffset = 8,
+	ENowPlayingByteOffset = 8,
+	EUidPersistencyByteOffset = 8,
+	};
+
+enum TBitOffset
+	{
+	ESelectBitOffset = 0,
+	EUpBitOffset = 1,
+	EDownBitOffset = 2,
+	ELeftBitOffset = 3,
+	ERightBitOffset = 4,
+	ERightUpBitOffset = 5,
+	ERightDownBitOffset = 6,
+	ELeftUpBitOffset = 7,
+	ELeftDownBitOffset = 0,
+	ERootMenuBitOffset = 1,
+	ESetupMenuBitOffset = 2,
+	EContentsMenuBitOffset = 3,
+	EFavoriteMenuBitOffset = 4,
+	EExitBitOffset = 5,
+	E0BitOffset = 6,
+	E1BitOffset = 7,
+	E2BitOffset = 0,
+	E3BitOffset = 1,
+	E4BitOffset = 2,
+	E5BitOffset = 3,
+	E6BitOffset = 4,
+	E7BitOffset = 5,
+	E8BitOffset = 6,
+	E9BitOffset = 7,
+	EDotBitOffset = 0,
+	EEnterBitOffset = 1,
+	EClearBitOffset = 2,
+	EChannelUpBitOffset = 3,
+	EChannelDownBitOffset = 4,
+	EPreviousChannelBitOffset = 5,
+	ESoundSelectBitOffset = 6,
+	EInputSelectBitOffset = 7,
+	EDisplayInformationBitOffset = 0,
+	EHelpBitOffset = 1,
+	EPageUpBitOffset = 2,
+	EPageDownBitOffset = 3,
+	EPowerBitOffset = 4,
+	EVolumeUpBitOffset = 5,
+	EVolumeDownBitOffset = 6,
+	EMuteBitOffset = 7,
+	EPlayBitOffset = 0,
+	EStopBitOffset = 1,
+	EPauseBitOffset = 2,
+	ERecordBitOffset = 3,
+	ERewindBitOffset = 4,
+	EFastForwardBitOffset = 5,
+	EEjectBitOffset = 6,
+	EForwardBitOffset = 7,
+	EBackwardBitOffset = 0,
+	EAngleBitOffset = 1,
+	ESubpictureBitOffset = 2,
+	EF1BitOffset = 3,
+	EF2BitOffset = 4,
+	EF3BitOffset = 5,
+	EF4BitOffset = 6,
+	EF5BitOffset = 7,
+	EVendorUniqueBitOffset = 0,
+	EGroupNavigationBitOffset = 1,
+	EAdvancedControlPlayerBitOffset = 2,
+	EBrowsingBitOffset = 3,
+	ESearchBitOffset = 4,
+	EAddToNowPlayingBitOffset = 5,
+	EDatabaseAwareBitOffset = 6,
+	EBrowsableOnlyWhenAddressedBitOffset = 7,
+	ESearchableOnlyWhenAddressedBitOffset = 0,
+	ENowPlayingBitOffset = 1,
+	EUidPersistencyBitOffset = 2,
+	};
+
+class TPlayerFeatureBitmask
+	{
+public:
+	TPlayerFeatureBitmask();
+	TPlayerFeatureBitmask(const TPlayerFeatureBitmask& aFeatureBitmask);
+	
+	inline const TDesC8& FeatureBitmask() const;
+
+	void SetCoreApiFeatures(const RArray<TUint>& aOperation);
+	void SetAbsoluteVolumeApiFeatures(const RArray<TUint>& aOperation);
+	void SetGroupNavigationApiFeatures(const RArray<TUint>& aOperation);
+	void SetNowPlayingApiFeatures(const RArray<TUint>& aOperation);
+	void SetMediaBrowseApiFeatures(const RArray<TUint>& aOperation);
+
+private:
+	void SetCoreApiFeatures();
+
+private:
+	TBuf8<KFeatureBitmaskLength> iFeatureBitmask;
+	};
+
+const TDesC8& TPlayerFeatureBitmask::FeatureBitmask() const
+	{
+	return iFeatureBitmask;
+	}
+#endif /*PLAYERBITMASKS_H_*/