--- /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_*/