|
1 /* |
|
2 * Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: Consts and message definitions |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 #ifndef ACCCLIENTSERVERMESSAGES_H |
|
20 #define ACCCLIENTSERVERMESSAGES_H |
|
21 |
|
22 // INCLUDES |
|
23 #include <e32base.h> |
|
24 #include <AsyCmdTypes.h> |
|
25 |
|
26 // CONSTANTS |
|
27 // Server version. A version must be specified when |
|
28 // creating a session with the server |
|
29 const TUint KAccServMajorVersionNumber = 1; |
|
30 const TUint KAccServMinorVersionNumber = 0; |
|
31 const TUint KAccServBuildVersionNumber = 0; |
|
32 |
|
33 // The number of message slots available. |
|
34 // This determines the maximum number of outstanding requests. |
|
35 const TUint KDefaultMessageSlots = 8; |
|
36 |
|
37 // Message parameter psoitions |
|
38 const TUint8 KAccServParamPosFirst = 0; |
|
39 const TUint8 KAccServParamPosSecond = 1; |
|
40 const TUint8 KAccServParamPosThird = 2; |
|
41 const TUint8 KAccServHandlePos = 3; |
|
42 |
|
43 // The third uid which ASYProxy has |
|
44 const TInt32 KAsyProxyTInt32 = 0x10205038; |
|
45 |
|
46 //iFlags bits definitions for sub-sessions |
|
47 const TInt KAccSrvNotifyNewAccessoryConnectedBit = 1; //RAccessorySingleConnection::NotifyNewAccessoryConnected |
|
48 const TInt KAccSrvNotifyAccessoryDisconnectedBit = 2; //RAccessorySingleConnection::NotifyAccessoryDisconnected |
|
49 const TInt KAccSrvNotifyAccessoryValueChangedTBoolBit = 4; //RAccessorySingleConnection::NotifyAccessoryValueChanged TBool |
|
50 const TInt KAccSrvNotifyAccessoryValueChangedTIntBit = 8; //RAccessorySingleConnection::NotifyAccessoryValueChanged TInt |
|
51 const TInt KAccSrvNotifyAccessoryValueChangedObjectBit = 10;//RAccessorySingleConnection::NotifyAccessoryValueChanged Object |
|
52 |
|
53 const TInt KAccSrvGetAccessoryModeBit = 1;//RAccessoryMode::GetAccessoryMode |
|
54 const TInt KAccSrvNotifyAccessoryModeChangedBit = 2;//RAccessoryMode::NotifyAccessoryModeChanged |
|
55 |
|
56 const TInt KAccSrvGetAccessoryConnectionStatusBit = 1;//RAccessoryConnection::GetAccessoryConnectionStatus |
|
57 const TInt KAccSrvNotifyAccConnStatusChangedBit = 2;//RAccessoryConnection::NotifyAccessoryConnectionStatusChanged |
|
58 |
|
59 const TInt KAccSrvAccessoryAudioLinkOpenBit = 1;//RAccessoryAudioControl::AccessoryAudioLinkOpen |
|
60 const TInt KAccSrvAccessoryAudioLinkCloseBit = 2;//RAccessoryAudioControl::AccessoryAudioLinkClose |
|
61 const TInt KAccSrvNotifyAccessoryAudioLinkOpenedBit = 4;//RAccessoryAudioControl::NotifyAccessoryAudioLinkOpened |
|
62 const TInt KAccSrvNotifyAccessoryAudioLinkClosedBit = 8;//RAccessoryAudioControl::NotifyAccessoryAudioLinkClosed |
|
63 |
|
64 const TInt KAccSrvNotifyBluetoothAudioLinkOpenReqBit = 1;//RAccessoryBTControl::NotifyBluetoothAudioLinkOpenReq |
|
65 const TInt KAccSrvNotifyBluetoothAudioLinkCloseReqBit = 2;//RAccessoryBTControl::NotifyBluetoothAudioLinkCloseReq |
|
66 const TInt KAccSrvConnectBTAccessoryBit = 4;//RAccessoryBTControl::ConnectAccessory |
|
67 const TInt KAccSrvDisconnectBTAccessoryBit = 8;//RAccessoryBTControl::DisconnectAccessory |
|
68 |
|
69 const TInt KAccSrvConnectAccessoryBit = 1;//RAccessoryControl::ConnectAccessory |
|
70 const TInt KAccSrvDisconnectAccessoryBit = 2;//RAccessoryControl::DisconnectAccessory |
|
71 |
|
72 //AccessoryServers internal codes |
|
73 const TInt KAccSrvGenerateGID = -2;//A new GID has been constructed by ConfigFileParser and |
|
74 //AccessoryServer needs to generate unique ID for that |
|
75 |
|
76 //Buffer size for accessory objects. |
|
77 const TInt KAccSrvObjectBaseStreamBufMaxSize = 256; |
|
78 const TInt KAccSrvObjectBaseStreamBufGranularity = 50; |
|
79 |
|
80 // MACROS |
|
81 |
|
82 // Server name |
|
83 _LIT( KAccServerName,"!AccServer" ); |
|
84 |
|
85 // ASYProxy dll name |
|
86 _LIT( KAsyProxyName, "AsyProxy.dll" ); |
|
87 |
|
88 //Accessory Server panic category |
|
89 _LIT( KAccServerPanicCategory, "Accessory Server panic client" ); |
|
90 |
|
91 // DATA TYPES |
|
92 |
|
93 enum TAccSrvMsgs |
|
94 { |
|
95 // Changes to TAccSrvMsgs enumeration affects also to Accessory Server's |
|
96 // policy definitions, see accessoryServerRanges |
|
97 |
|
98 /** |
|
99 * Accessory API |
|
100 */ |
|
101 // RAccessoryMode |
|
102 EAccSrvCreateSubSessionAccessoryMode, |
|
103 EAccSrvCloseSubSessionAccessoryMode, |
|
104 EAccSrvGetAccessoryMode, |
|
105 EAccSrvGetAccessoryModeAsync, |
|
106 EAccSrvNotifyAccessoryModeChanged, |
|
107 EAccSrvCancelNotifyAccessoryModeChanged, |
|
108 EAccSrvCancelGetAccessoryMode, |
|
109 |
|
110 // RAccessoryConnection |
|
111 EAccSrvGetAccessoryConnectionStatusAsync, |
|
112 EAccSrvCancelGetAccessoryConnectionStatus, |
|
113 |
|
114 // RAccessorySingleConnection |
|
115 EAccSrvCreateSubSessionAccessorySingleConnection, |
|
116 EAccSrvCloseSubSessionAccessorySingleConnection, |
|
117 EAccSrvNotifyNewAccessoryConnected, |
|
118 EAccSrvNotifyAccessoryDisconnected, |
|
119 EAccSrvNotifyAccessoryValueChangedTBool, |
|
120 EAccSrvNotifyAccessoryValueChangedTInt, |
|
121 EAccSrvNotifyAccessoryValueChangedObject, |
|
122 EAccSrvCancelNotifyNewAccessoryConnected, |
|
123 EAccSrvCancelNotifyAccessoryDisconnected, |
|
124 EAccSrvCancelNotifyAccessoryValueChanged, |
|
125 |
|
126 EAccSrvGetValueTBool, |
|
127 EAccSrvGetValueTDes8, |
|
128 EAccSrvGetValueObjectBase, |
|
129 EAccSrvGetObjectValue, |
|
130 |
|
131 /** |
|
132 * Accessory & Accessory Monitoring API |
|
133 * These calls do not require capabilities |
|
134 */ |
|
135 // RAccessoryConnection & RAccessoryConnectionBase |
|
136 EAccSrvCreateSubSessionAccessoryConnection, |
|
137 EAccSrvCloseSubSessionAccessoryConnection, |
|
138 EAccSrvGetAccessoryConnectionStatus, |
|
139 EAccSrvNotifyAccessoryConnectionStatusChanged, |
|
140 EAccSrvCancelNotifyAccessoryConnectionStatusChanged, |
|
141 EAccSrvGetSubblockNameArray, |
|
142 EAccSrvGetValueTInt, |
|
143 |
|
144 /** |
|
145 * Accessory Control API |
|
146 */ |
|
147 //RAccessoryControl |
|
148 EAccSrvCreateSubSessionAccessoryControl, |
|
149 EAccSrvCloseSubSessionAccessoryControl, |
|
150 EAccSrvConnectAccessory2, |
|
151 EAccSrvDisconnectAccessory, |
|
152 EAccSrvAccessoryValueChangedTBoolNotify, |
|
153 EAccSrvAccessoryValueChangedTIntNotify, |
|
154 EAccSrvAccessoryValueChangedObjectNotify, |
|
155 EAccSrvSetValueTBool, |
|
156 EAccSrvSetValueTInt, |
|
157 EAccSrvSetValueObject, |
|
158 EAccSrvCancelConnectAccessory, |
|
159 EAccSrvCancelDisconnectAccessory, |
|
160 |
|
161 // RAccessorySettings |
|
162 EAccSrvCreateSubSessionAccessorySettings, |
|
163 EAccSrvCloseSubSessionAccessorySettings, |
|
164 EAccSrvGetSupportedHWDevices, |
|
165 EAccSrvGetHWDeviceSettings, |
|
166 EAccSrvSetHWDeviceSettings, |
|
167 EAccSrvGetAccessoryModeSetting, |
|
168 EAccSrvSetAccessoryModeSetting, |
|
169 EAccSrvGetAccessoryModeSettings, |
|
170 EAccSrvSetAccessoryModeSettings, |
|
171 |
|
172 /** |
|
173 * Accessory BT Control API |
|
174 */ |
|
175 EAccSrvCreateSubSessionAccessoryBTControl, |
|
176 EAccSrvCloseSubSessionAccessoryBTControl, |
|
177 EAccSrvBluetoothConnectAccessory, |
|
178 EAccSrvBluetoothDisconnectAccessory, |
|
179 EAccSrvBluetoothAudioLinkOpenResp, |
|
180 EAccSrvBluetoothAudioLinkCloseResp, |
|
181 EAccSrvBluetoothAudioLinkOpenedNotify, |
|
182 EAccSrvBluetoothAudioLinkClosedNotify, |
|
183 EAccSrvNotifyBluetoothAudioLinkOpenReq, |
|
184 EAccSrvNotifyBluetoothAudioLinkCloseReq, |
|
185 EAccSrvBTAccessoryValueChangedTBoolNotify, |
|
186 EAccSrvBTAccessoryValueChangedTIntNotify, |
|
187 EAccSrvCancelNotifyBluetoothAudioLinkOpenReq, |
|
188 EAccSrvCancelNotifyBluetoothAudioLinkCloseReq, |
|
189 |
|
190 /** |
|
191 * Accessory Audio Control API |
|
192 */ |
|
193 EAccSrvCreateSubSessionAccessoryAudioControl, |
|
194 EAccSrvCloseSubSessionAccessoryAudioControl, |
|
195 EAccSrvAccessoryAudioLinkOpen, |
|
196 EAccSrvAccessoryAudioLinkClose, |
|
197 EAccSrvAudioRoutingStatusNotify, |
|
198 EAccSrvNotifyAccessoryAudioLinkOpened, |
|
199 EAccSrvNotifyAccessoryAudioLinkClosed, |
|
200 EAccSrvCancelAccessoryAudioLinkOpen, |
|
201 EAccSrvCancelAccessoryAudioLinkClose, |
|
202 EAccSrvCancelNotifyAccessoryAudioLinkOpened, |
|
203 EAccSrvCancelNotifyAccessoryAudioLinkClosed, |
|
204 |
|
205 /** |
|
206 * Accessory Asy Comms API |
|
207 */ |
|
208 EAccSrvCreateSubSessionAccessoryAsyComms, |
|
209 EAccSrvCloseSubSessionAccessoryAsyComms, |
|
210 EAccSrvNotifyProcessCommand, |
|
211 EAccSrvCancelNotifyProcessCommand, |
|
212 EAccSrvProcessResponseTBool, |
|
213 EAccSrvProcessResponseTInt, |
|
214 EAccSrvProcessResponseTDes, |
|
215 EAccSrvGetObjectBuffer, |
|
216 EAccSrvProcessResponseObject, |
|
217 |
|
218 // Initialisation value for error tracking |
|
219 // Must be last one; used in security checks |
|
220 EAccSrvUnknown |
|
221 }; |
|
222 |
|
223 // Panic codes for some Server panics cases |
|
224 enum TAccServerError |
|
225 { |
|
226 EAccServerErrorCreateServer = 1, |
|
227 EAccServerErrorCreateTrapCleanup = 2, |
|
228 EAccServerErrorBadDescriptor = 3, |
|
229 EAccServerErrorNotSupported = 4 |
|
230 }; |
|
231 |
|
232 // For CAccPolAccessoryPolicy::IsValidConnection to tell connection type |
|
233 enum TAccSrvConnection |
|
234 { |
|
235 EAccSrvDetect, |
|
236 EAccSrvConnect, |
|
237 EAccSrvDeny |
|
238 }; |
|
239 |
|
240 // FUNCTION PROTOTYPES |
|
241 |
|
242 // FORWARD DECLARATIONS |
|
243 |
|
244 // CLASS DECLARATION |
|
245 |
|
246 /** |
|
247 * Command parameters transferred between ASY Proxy and Accessory Server |
|
248 */ |
|
249 class TProxyCommand |
|
250 { |
|
251 |
|
252 public: // data |
|
253 |
|
254 //Transaction id |
|
255 TInt iTrId; |
|
256 |
|
257 // Timeout transaction id |
|
258 TInt iTimeOutTrId; |
|
259 |
|
260 // Process command id |
|
261 TProcessCmdId iCmdId; |
|
262 |
|
263 // ASY command parameters |
|
264 TASYCmdParams iAsyCmdParams; |
|
265 |
|
266 }; |
|
267 |
|
268 typedef TPckgBuf<TProxyCommand> TProxyCommandPckgBuf; |
|
269 |
|
270 #endif // ACCCLIENTSERVERMESSAGES_H |
|
271 |
|
272 // End of File |