|
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 |