bluetoothappprofiles/avrcp/avrcpipc/public/avrcpspec.h
changeset 70 f5508c13dfe0
parent 67 16e4b9007960
child 71 083fd884d7dd
equal deleted inserted replaced
67:16e4b9007960 70:f5508c13dfe0
     1 // Copyright (c) 2008-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 /**
       
    17  @file
       
    18  @publishedAll
       
    19  @released
       
    20 */
       
    21 
       
    22 #ifndef AVRCPSPEC_H
       
    23 #define AVRCPSPEC_H
       
    24 
       
    25 #include <e32base.h>
       
    26 
       
    27 // The IANA assigned MIB Enum for UTF8, defined at:
       
    28 //    http://www.iana.org/assignments/character-sets
       
    29 // and specified in the AVRCP 1.3 specification in
       
    30 // section 13, "References" as reference number 11.
       
    31 
       
    32 const TInt KUtf8MibEnum = 106;
       
    33 
       
    34 // The maximum absolute volume defined by the AVRCP 1.4 spcification
       
    35 // in section 6.13.1
       
    36 const TUint8 KAvrcpMaxAbsoluteVolume = 0x7F;
       
    37 
       
    38 // These PDU ids are defined by the AVRCP 1.3 specification
       
    39 // in sections 5.1, 5.2, 5.3 and 5.4.
       
    40 
       
    41 enum TMetadataTransferPDU
       
    42 	{
       
    43 	EGetCapabilities							= 0x10,
       
    44 	EListPlayerApplicationSettingAttributes		= 0x11,
       
    45 	EListPlayerApplicationSettingValues			= 0x12,
       
    46 	EGetCurrentPlayerApplicationSettingValue	= 0x13,
       
    47 	ESetPlayerApplicationSettingValue			= 0x14,
       
    48 	EGetPlayerApplicationSettingAttributeText	= 0x15,
       
    49 	EGetPlayerApplicationSettingValueText		= 0x16,
       
    50 	EInformDisplayableCharacterSet				= 0x17, // not implemented; always use UTF8
       
    51 	EInformBatteryStatusOfCT					= 0x18,
       
    52 	EGetElementAttributes						= 0x20,
       
    53 	EGetPlayStatus								= 0x30,
       
    54 	ERegisterNotification						= 0x31,
       
    55 	ERequestContinuingResponse					= 0x40,
       
    56 	EAbortContinuingResponse					= 0x41,
       
    57 	ESetAbsoluteVolume							= 0x50,
       
    58 	ESetAddressedPlayer							= 0x60,
       
    59 	EPlayItem									= 0x74,
       
    60 	EAddToNowPlaying							= 0x90,
       
    61 	
       
    62 	// Internal values
       
    63 	EGetPlayStatusUpdate						= 0xff,
       
    64 	};
       
    65 
       
    66 enum TMediaBrowsePDU
       
    67 	{
       
    68 	EMbSetBrowsedPlayer                           = 0x70,
       
    69 	EMbGetFolderItems                             = 0x71,
       
    70 	EMbChangePath                                 = 0x72,
       
    71 	EMbGetItemAttributes                          = 0x73,
       
    72 	EMbSearch                                     = 0x80,
       
    73 	};
       
    74 
       
    75 // These RegisterNotification (PDU 0x31) event ids are defined
       
    76 // in the AVRCP 1.3 specification in section 5.4.
       
    77 
       
    78 enum TRegisterNotificationEvent
       
    79 	{
       
    80 	ERegisterNotificationPlaybackStatusChanged	 		 = 0x1,
       
    81 	ERegisterNotificationTrackChanged					 = 0x2,
       
    82 	ERegisterNotificationTrackReachedEnd				 = 0x3,
       
    83 	ERegisterNotificationTrackReachedStart				 = 0x4,
       
    84 	ERegisterNotificationPlaybackPosChanged				 = 0x5,
       
    85 	ERegisterNotificationBatteryStatusChanged			 = 0x6,
       
    86 	ERegisterNotificationSystemStatusChanged_NotSupported= 0x7, // not supported
       
    87 	ERegisterNotificationPlayerApplicationSettingChanged = 0x8,
       
    88 	ERegisterNotificationNowPlayingContentChanged		 = 0x9,
       
    89 	ERegisterNotificationAvailablePlayersChanged		 = 0xa,
       
    90 	ERegisterNotificationAddressedPlayerChanged			 = 0xb,
       
    91 	ERegisterNotificationUidsChanged					 = 0xc,
       
    92 	ERegisterNotificationVolumeChanged					 = 0xd,
       
    93 	ERegisterNotificationReservedLast				 	 = 0xf,
       
    94 	};
       
    95 
       
    96 // These are the allowed values for GetCapabilities (PDU 0x10)
       
    97 // and are specified in the AVRCP 1.3 specification, section 5.1.1
       
    98 
       
    99 enum TGetCapabilityValues
       
   100 	{
       
   101 	ECapabilityIdCompanyID			= 2,
       
   102 	ECapabilityIdEventsSupported	= 3,
       
   103 	};
       
   104 
       
   105 // Pass Through command values for Group Navigation, as
       
   106 // defined in the AVRCP 1.3 specification, in section 4.7.9
       
   107 
       
   108 enum TGroupNavigationPassthroughOperationIds
       
   109 	{
       
   110 	ENextGroup				= 0x0,
       
   111 	EPreviousGroup			= 0x1,
       
   112 	};
       
   113 
       
   114 // Error numbers allocated to the AVRCP component, for use in
       
   115 // IPC communication between the client APIs and the AVRCP bearer
       
   116 
       
   117 const TInt KErrAvrcpBaseError                     = -6751;  // Base error number
       
   118 const TInt KErrAvrcpInvalidCType                  = KErrAvrcpBaseError - 1; // -6752
       
   119 const TInt KErrAvrcpInvalidOperationId            = KErrAvrcpBaseError - 2; // -6753
       
   120 const TInt KErrAvrcpMetadataInvalidCommand        = KErrAvrcpBaseError - 3; // -6754
       
   121 const TInt KErrAvrcpMetadataInvalidParameter      = KErrAvrcpBaseError - 4; // -6755
       
   122 const TInt KErrAvrcpMetadataParameterNotFound     = KErrAvrcpBaseError - 5; // -6756
       
   123 const TInt KErrAvrcpMetadataInternalError         = KErrAvrcpBaseError - 6; // -6757
       
   124 const TInt KErrAvrcpHandledInternallyRespondNow   = KErrAvrcpBaseError - 7; // -6758
       
   125 const TInt KErrAvrcpHandledInternallyInformRemCon = KErrAvrcpBaseError - 8; // -6759
       
   126 const TInt KErrAvrcpInternalCommand 				= KErrAvrcpBaseError - 9; // -6760
       
   127 const TInt KErrAvrcpFurtherProcessingRequired		= KErrAvrcpBaseError - 10; // -6791
       
   128 
       
   129 const TInt KErrAvrcpAirBase							= -6780;
       
   130 const TInt KErrAvrcpAirInvalidCommand 				= KErrAvrcpAirBase - 0;
       
   131 const TInt KErrAvrcpAirInvalidParameter 			= KErrAvrcpAirBase - 1;
       
   132 const TInt KErrAvrcpAirParameterNotFound 			= KErrAvrcpAirBase - 2;
       
   133 const TInt KErrAvrcpAirInternalError 				= KErrAvrcpAirBase - 3;
       
   134 const TInt KErrAvrcpAirSuccess 						= KErrAvrcpAirBase - 4;
       
   135 const TInt KErrAvrcpAirUidChanged 					= KErrAvrcpAirBase - 5;
       
   136 const TInt KErrAvrcpAirReserved 					= KErrAvrcpAirBase - 6;
       
   137 const TInt KErrAvrcpAirInvalidDirection 			= KErrAvrcpAirBase - 7;
       
   138 const TInt KErrAvrcpAirNotADirectory 				= KErrAvrcpAirBase - 8;
       
   139 const TInt KErrAvrcpAirDoesNotExist 				= KErrAvrcpAirBase - 9;
       
   140 const TInt KErrAvrcpAirInvalidScope 				= KErrAvrcpAirBase - 0xa;
       
   141 const TInt KErrAvrcpAirRangeOutOfBounds 			= KErrAvrcpAirBase - 0xb;
       
   142 const TInt KErrAvrcpAirUidIsADirectory 				= KErrAvrcpAirBase - 0xc;
       
   143 const TInt KErrAvrcpAirMediaInUse 					= KErrAvrcpAirBase - 0xd;
       
   144 const TInt KErrAvrcpAirNowPlayingListFull 			= KErrAvrcpAirBase - 0xe;
       
   145 const TInt KErrAvrcpAirSearchNotSupported 			= KErrAvrcpAirBase - 0xf;
       
   146 const TInt KErrAvrcpAirSearchInProgress 			= KErrAvrcpAirBase - 0x10;
       
   147 const TInt KErrAvrcpAirInvalidPlayerId 				= KErrAvrcpAirBase - 0x11;
       
   148 const TInt KErrAvrcpAirPlayerNotBrowesable 			= KErrAvrcpAirBase - 0x12;
       
   149 const TInt KErrAvrcpAirPlayerNotAddressed 			= KErrAvrcpAirBase - 0x13;
       
   150 const TInt KErrAvrcpAirNoValidSearchResults 		= KErrAvrcpAirBase - 0x14;
       
   151 const TInt KErrAvrcpAirNoAvailablePlayers 			= KErrAvrcpAirBase - 0x15;
       
   152 const TInt KErrAvrcpAirAddressedPlayerChanged 		= KErrAvrcpAirBase - 0x16;
       
   153 const TInt KErrAvrcpInvalidScope                    = KErrAvrcpAirBase - 0x17;
       
   154 
       
   155 #endif // AVRCPSPEC_H