|
1 /* |
|
2 * Copyright (c) 2002-2004 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: Defines all constants and data structures used by the Radio |
|
15 * Server and its clients. |
|
16 * |
|
17 */ |
|
18 |
|
19 |
|
20 |
|
21 #ifndef RADIOSERVERDATA_H |
|
22 #define RADIOSERVERDATA_H |
|
23 |
|
24 // INCLUDES |
|
25 #include <e32std.h> |
|
26 #include <e32base.h> |
|
27 |
|
28 // CONSTANTS & DATA TYPES |
|
29 |
|
30 /** |
|
31 * Radio Server error definitions. |
|
32 * In addition to the standard system error code, the following error codes may |
|
33 * be returned. |
|
34 */ |
|
35 typedef TInt TRadioServerError; |
|
36 const TRadioServerError KRadioServErrHardwareFaulty = -12050; |
|
37 const TRadioServerError KRadioServErrTuning = -12051; |
|
38 const TRadioServerError KRadioServErrFrequencyOutOfBandRange = -12052; |
|
39 const TRadioServerError KRadioServErrFrequencyNotValid = -12053; |
|
40 const TRadioServerError KRadioServErrNotPermittedInCurrentState = -12054; |
|
41 const TRadioServerError KRadioServErrDuplicateRequest = -12055; |
|
42 const TRadioServerError KRadioServErrAntennaNotConnected = -12056; |
|
43 const TRadioServerError KRadioServErrFmTransmitterActive = -12057; |
|
44 const TRadioServerError KRadioServErrOfflineMode = -12058; |
|
45 |
|
46 /** |
|
47 * RadioServer panic codes |
|
48 */ |
|
49 enum TRadioServerPanic |
|
50 { |
|
51 ERadioPanicIllegalFunction, // Illegal function called via client-server interface |
|
52 ERadioPanicBadHandle, |
|
53 ERadioPanicBadDescriptor, |
|
54 ERadioPanicPostConditionViolation |
|
55 }; |
|
56 |
|
57 // RadioServer Publish & Subscribe property category |
|
58 const TUid KRadioServerPropertyCategory = {0x10207A7E}; |
|
59 // RadioServer monitor state key, defined as TBool |
|
60 // ETrue to indicate that Radio is playing; client should now start to monitor radio activities. |
|
61 // EFalse to indicate that Radio is stopped and there are no primary clients connected. |
|
62 const TInt KRadioServPsMonitorState = 1; |
|
63 |
|
64 /** |
|
65 * Tuner type. |
|
66 */ |
|
67 enum TRsTuner |
|
68 { |
|
69 ERsTunerFm = 0x01, // FM tuner |
|
70 ERsTunerAm = 0x04 // AM tuner |
|
71 }; |
|
72 |
|
73 /** |
|
74 * Frequency range. The actual range comes from the adaptation. The following range |
|
75 * specified in the comment is just a approximate guideline. |
|
76 */ |
|
77 enum TRsFrequencyRange |
|
78 { |
|
79 ERsRangeFmEuroAmerica = 0x01, // European and American FM frequency range (87.5 - 108 MHz) |
|
80 ERsRangeFmJapan = 0x02, // Japanese FM frequency range (76 - 90 MHz) |
|
81 ERsRangeAm = 0x04 // AM (535 - 1605 kHz) |
|
82 }; |
|
83 |
|
84 // RadioServer balace |
|
85 const TInt KRadioServerBalanceMin = 0; |
|
86 const TInt KRadioServerBalanceMax = 100; |
|
87 |
|
88 /** |
|
89 * Tuner capabilities class defines the capabilities of the tuner on the |
|
90 * device, as retrieved using the function GetTunerCapabilities. |
|
91 * |
|
92 * @since Series 60 4.0 |
|
93 */ |
|
94 class TRsTunerCapabilities |
|
95 { |
|
96 public: |
|
97 // Tuner Function bit flags - may be extended in future |
|
98 enum TRsTunerFunctions |
|
99 { |
|
100 // The tuner can be used when the device is in offline mode |
|
101 ETunerFunctionAvailableInOfflineMode = 0x01, |
|
102 // RDS supported |
|
103 ETunerFunctionRds = 0x02, |
|
104 // Device supports dual tuner |
|
105 ETunerFunctionDualTuner = 0x04 |
|
106 }; |
|
107 |
|
108 public: |
|
109 // Bitfield (as defined by TRsTunerBand) with the bits of the supported tuner bands |
|
110 TUint32 iFrequencyRange; |
|
111 // Bitfield (as defined by TRsTunerFunctions) with the bits of the supported functions set |
|
112 TUint32 iCapabilities; |
|
113 // Reserved for future |
|
114 TUint32 iAdditionalFunctions1; |
|
115 // Reserved for future |
|
116 TUint32 iAdditionalFunctions2; |
|
117 }; |
|
118 |
|
119 /** |
|
120 * Player state |
|
121 */ |
|
122 enum TRsPlayerState |
|
123 { |
|
124 ERsPlayerIdle, |
|
125 ERsPlayerPlaying |
|
126 }; |
|
127 |
|
128 /** |
|
129 * RDS Programme Type. |
|
130 * |
|
131 * The interpretation of values of this type depends on the origin of the RDS |
|
132 * broadcast: in North America, a slightly different standard, RBDS, is used. |
|
133 * These PTY codes are defined by static values KRsRbdsPtyXxxxx, for example |
|
134 * KRsRbdsPtySoftRock. |
|
135 * |
|
136 * Elsewhere, including Europe, the RDS standard is used. In these areas, the |
|
137 * PTY codes are defined by static values KRsRdsPtyXxxxx, for example |
|
138 * KRsRdsPtyChildrensProgrammes. |
|
139 * |
|
140 * In all other important aspects, the European RDS and North American RBDS |
|
141 * standards are identical. |
|
142 */ |
|
143 typedef TInt TRsRdsProgrammeType; |
|
144 |
|
145 const static TRsRdsProgrammeType KRsRdsPtyNone = 0; |
|
146 const static TRsRdsProgrammeType KRsRdsPtyNews = 1; |
|
147 const static TRsRdsProgrammeType KRsRdsPtyCurrentAffairs = 2; |
|
148 const static TRsRdsProgrammeType KRsRdsPtyInformation = 3; |
|
149 const static TRsRdsProgrammeType KRsRdsPtySport = 4; |
|
150 const static TRsRdsProgrammeType KRsRdsPtyEducation = 5; |
|
151 const static TRsRdsProgrammeType KRsRdsPtyDrama = 6; |
|
152 const static TRsRdsProgrammeType KRsRdsPtyCulture = 7; |
|
153 const static TRsRdsProgrammeType KRsRdsPtyScience = 8; |
|
154 const static TRsRdsProgrammeType KRsRdsPtyVariedSpeech = 9; |
|
155 const static TRsRdsProgrammeType KRsRdsPtyPopMusic = 10; |
|
156 const static TRsRdsProgrammeType KRsRdsPtyRockMusic = 11; |
|
157 const static TRsRdsProgrammeType KRsRdsPtyEasyListening = 12; |
|
158 const static TRsRdsProgrammeType KRsRdsPtyLightClassical = 13; |
|
159 const static TRsRdsProgrammeType KRsRdsPtySeriousClassical = 14; |
|
160 const static TRsRdsProgrammeType KRsRdsPtyOtherMusic = 15; |
|
161 const static TRsRdsProgrammeType KRsRdsPtyWeather = 16; |
|
162 const static TRsRdsProgrammeType KRsRdsPtyFinance = 17; |
|
163 const static TRsRdsProgrammeType KRsRdsPtyChildrensProgrammes = 18; |
|
164 const static TRsRdsProgrammeType KRsRdsPtySocialAffairs = 19; |
|
165 const static TRsRdsProgrammeType KRsRdsPtyReligion = 20; |
|
166 const static TRsRdsProgrammeType KRsRdsPtyPhoneIn = 21; |
|
167 const static TRsRdsProgrammeType KRsRdsPtyTravel = 22; |
|
168 const static TRsRdsProgrammeType KRsRdsPtyLeisure = 23; |
|
169 const static TRsRdsProgrammeType KRsRdsPtyJazzMusic = 24; |
|
170 const static TRsRdsProgrammeType KRsRdsPtyCountryMusic = 25; |
|
171 const static TRsRdsProgrammeType KRsRdsPtyNationalMusic = 26; |
|
172 const static TRsRdsProgrammeType KRsRdsPtyOldiesMusic = 27; |
|
173 const static TRsRdsProgrammeType KRsRdsPtyFolkMusic = 28; |
|
174 const static TRsRdsProgrammeType KRsRdsPtyDocumentary = 29; |
|
175 const static TRsRdsProgrammeType KRsRdsPtyAlarmTest = 30; |
|
176 const static TRsRdsProgrammeType KRsRdsPtyAlarm = 31; |
|
177 |
|
178 const static TRsRdsProgrammeType KRsRbdsPtyNone = 0; |
|
179 const static TRsRdsProgrammeType KRsRbdsPtyNews = 1; |
|
180 const static TRsRdsProgrammeType KRsRbdsPtyInformation = 2; |
|
181 const static TRsRdsProgrammeType KRsRbdsPtySports = 3; |
|
182 const static TRsRdsProgrammeType KRsRbdsPtyTalk = 4; |
|
183 const static TRsRdsProgrammeType KRsRbdsPtyRock = 5; |
|
184 const static TRsRdsProgrammeType KRsRbdsPtyClassicRock = 6; |
|
185 const static TRsRdsProgrammeType KRsRbdsPtyAdultHits = 7; |
|
186 const static TRsRdsProgrammeType KRsRbdsPtySoftRock = 8; |
|
187 const static TRsRdsProgrammeType KRsRbdsPtyTop40 = 9; |
|
188 const static TRsRdsProgrammeType KRsRbdsPtyCountry = 10; |
|
189 const static TRsRdsProgrammeType KRsRbdsPtyOldies = 11; |
|
190 const static TRsRdsProgrammeType KRsRbdsPtySoft = 12; |
|
191 const static TRsRdsProgrammeType KRsRbdsPtyNostalgia = 13; |
|
192 const static TRsRdsProgrammeType KRsRbdsPtyJazz = 14; |
|
193 const static TRsRdsProgrammeType KRsRbdsPtyClassical = 15; |
|
194 const static TRsRdsProgrammeType KRsRbdsPtyRhythmAndBlues = 16; |
|
195 const static TRsRdsProgrammeType KRsRbdsPtySoftRhythmAndBlues = 17; |
|
196 const static TRsRdsProgrammeType KRsRbdsPtyLanguage = 18; |
|
197 const static TRsRdsProgrammeType KRsRbdsPtyReligiousMusic = 19; |
|
198 const static TRsRdsProgrammeType KRsRbdsPtyReligiousTalk = 20; |
|
199 const static TRsRdsProgrammeType KRsRbdsPtyPersonality = 21; |
|
200 const static TRsRdsProgrammeType KRsRbdsPtyPublic = 22; |
|
201 const static TRsRdsProgrammeType KRsRbdsPtyCollege = 23; |
|
202 const static TRsRdsProgrammeType KRsRbdsPtyUnassigned1 = 24; |
|
203 const static TRsRdsProgrammeType KRsRbdsPtyUnassigned2 = 25; |
|
204 const static TRsRdsProgrammeType KRsRbdsPtyUnassigned3 = 26; |
|
205 const static TRsRdsProgrammeType KRsRbdsPtyUnassigned4 = 27; |
|
206 const static TRsRdsProgrammeType KRsRbdsPtyUnassigned5 = 28; |
|
207 const static TRsRdsProgrammeType KRsRbdsPtyWeather = 29; |
|
208 const static TRsRdsProgrammeType KRsRbdsPtyEmergencyTest = 30; |
|
209 const static TRsRdsProgrammeType KRsRbdsPtyEmergency = 31; |
|
210 |
|
211 |
|
212 /** |
|
213 * Table 1: Class codes for RTplus content types |
|
214 * Defined in Radiotext plus (RTplus) Specification Version 2.1 |
|
215 * RDS Forum 2006-07-21 - R06/040_1 |
|
216 */ |
|
217 enum TRsRdsRTplusClass |
|
218 { |
|
219 // Category: Item (0 - 11) |
|
220 ERsRTplusItemDummy = 0, |
|
221 ERsRTplusItemTitle, |
|
222 ERsRTplusItemAlbum, |
|
223 ERsRTplusItemTrackNumber, |
|
224 ERsRTplusItemArtist, |
|
225 ERsRTplusItemComposition, |
|
226 ERsRTplusItemMovement, |
|
227 ERsRTplusItemConductor, |
|
228 ERsRTplusItemComposer, |
|
229 ERsRTplusItemBand, |
|
230 ERsRTplusItemComment, |
|
231 ERsRTplusItemGenre, |
|
232 // Category: Info (12 - 30) |
|
233 ERsRTplusInfoNews, |
|
234 ERsRTplusInfoNewsLocal, |
|
235 ERsRTplusInfoStockMarket, |
|
236 ERsRTplusInfoSport, |
|
237 ERsRTplusInfoLottery, |
|
238 ERsRTplusInfoHoroscope, |
|
239 ERsRTplusInfoDailyDiversion, |
|
240 ERsRTplusInfoHealth, |
|
241 ERsRTplusInfoEvent, |
|
242 ERsRTplusInfoSzene, |
|
243 ERsRTplusInfoCinema, |
|
244 ERsRTplusInfoTV, |
|
245 ERsRTplusInfoDateTime, |
|
246 ERsRTplusInfoWeather, |
|
247 ERsRTplusInfoTraffic, |
|
248 ERsRTplusInfoAlarm, |
|
249 ERsRTplusInfoAdvisertisement, |
|
250 ERsRTplusInfoURL, |
|
251 ERsRTplusInfoOther, |
|
252 // Category: Programme (31 - 40) |
|
253 ERsRTplusStationNameShort, |
|
254 ERsRTplusStationNameLong, |
|
255 ERsRTplusProgramNow, |
|
256 ERsRTplusProgramNext, |
|
257 ERsRTplusProgramPart, |
|
258 ERsRTplusProgramHost, |
|
259 ERsRTplusProgramEditorialStaff, |
|
260 ERsRTplusStationFrequency, |
|
261 ERsRTplusProgramHomepage, |
|
262 ERsRTplusProgramSubChannel, |
|
263 // Category: Interactivity (41 - 53) |
|
264 ERsRTplusPhoneHotline, |
|
265 ERsRTplusPhoneStudio, |
|
266 ERsRTplusPhoneOther, |
|
267 ERsRTplusSmsStudio, |
|
268 ERsRTplusSmsOther, |
|
269 ERsRTplusEmailHotline, |
|
270 ERsRTplusEmailStudio, |
|
271 ERsRTplusEmailOther, |
|
272 ERsRTplusMmsOther, |
|
273 ERsRTplusChat, |
|
274 ERsRTplusChatCenter, |
|
275 ERsRTplusVoteQuestion, |
|
276 ERsRTplusVoteCenter, |
|
277 // Category: Reserved for future (54 - 55) |
|
278 ERsRTplusRfuClass54, |
|
279 ERsRTplusRfuClass55, |
|
280 // Category: Private classes (56 - 58) |
|
281 ERsRTplusPrivateClass56, |
|
282 ERsRTplusPrivateClass57, |
|
283 ERsRTplusPrivateClass58, |
|
284 // Category: Descriptor (59 - 63) |
|
285 ERsRTplusPlace, |
|
286 ERsRTplusAppointment, |
|
287 ERsRTplusIdentifier, |
|
288 ERsRTplusPurchase, |
|
289 ERsRTplusGetData |
|
290 }; |
|
291 |
|
292 /** |
|
293 * The RDS Capabilities class defines the capabilities of the RDS control on the |
|
294 * device, as retrieved using the function GetCapabilities. |
|
295 * |
|
296 * @since Series 60 3.2 |
|
297 */ |
|
298 class TRsRdsCapabilities |
|
299 { |
|
300 public: |
|
301 /// RDS Function Bit Flags |
|
302 enum TRsRdsFeatures |
|
303 { |
|
304 ERsRdsProgrammeIdentification = 0x001, |
|
305 ERsRdsProgrammeType = 0x002, |
|
306 ERsRdsProgrammeService = 0x004, |
|
307 ERsRdsRadioText = 0x008, |
|
308 ERsRdsRadioTextPlus = 0x010, |
|
309 ERsRdsClockTime = 0x020, |
|
310 ERsRdsTrafficProgramme = 0x040, |
|
311 ERsRdsTrafficAnnouncement = 0x080, |
|
312 ERsRdsAlternateFrequency = 0x100 |
|
313 }; |
|
314 public: |
|
315 // Bitfield as defined by TRsRdsFeatures with the bits of the supported functions set |
|
316 TUint32 iRdsFunctions; |
|
317 // Reserved for future |
|
318 TUint32 iAdditionalFunctions1; |
|
319 // Reserved for future |
|
320 TUint32 iAdditionalFunctions2; |
|
321 }; |
|
322 |
|
323 /** |
|
324 * This class provides RDS features that can be enabled or disabled. Used in |
|
325 * function SubscribeRdsData. |
|
326 * |
|
327 * @since Series 60 3.2 |
|
328 */ |
|
329 class TRsRdsData |
|
330 { |
|
331 public: |
|
332 // RDS Function Bit Flags |
|
333 enum TRsRdsFeatures |
|
334 { |
|
335 ERsRdsProgrammeIdentification = 0x001, |
|
336 ERsRdsProgrammeType = 0x002, |
|
337 ERsRdsProgrammeService = 0x004, |
|
338 ERsRdsRadioText = 0x008, |
|
339 ERsRdsRadioTextPlus = 0x010, |
|
340 ERsRdsClockTime = 0x020, |
|
341 ERsRdsTrafficProgramme = 0x040, |
|
342 ERsRdsTrafficAnnouncement = 0x080, |
|
343 ERsRdsAlternateFrequency = 0x100 |
|
344 }; |
|
345 |
|
346 // A value indicating a set containig all RDS data encapsulated by class TRdsData. |
|
347 static const TUint32 KRsAllRdsData = ( ERsRdsProgrammeIdentification | ERsRdsProgrammeType | ERsRdsProgrammeService |
|
348 | ERsRdsRadioText|ERsRdsRadioTextPlus | ERsRdsClockTime |
|
349 | ERsRdsTrafficProgramme |ERsRdsTrafficAnnouncement | ERsRdsAlternateFrequency); |
|
350 |
|
351 public: |
|
352 // Bitfield as defined by TRsRdsFeatures with the bits of the supported functions set |
|
353 TUint32 iRdsFunctions; |
|
354 // Reserved for future |
|
355 TUint32 iAdditionalFunctions1; |
|
356 // Reserved for future |
|
357 TUint32 iAdditionalFunctions2; |
|
358 }; |
|
359 |
|
360 // Programme Service name, 8 characters |
|
361 typedef TBuf16<8> TRsRdsPSName; |
|
362 // Radio Text, 64 characters |
|
363 typedef TBuf16<64> TRsRdsRadioText; |
|
364 |
|
365 typedef CArrayFixFlat<TInt> TFreqList; |
|
366 typedef CArrayFixFlat<TRsRdsPSName> TPsNameList; |
|
367 //typedef CArrayFixFlat<TRsRdsRTplusTag> TRtPlusTagsList; |
|
368 |
|
369 /** |
|
370 * RadioServer settings data. |
|
371 */ |
|
372 class TRsSettingsData |
|
373 { |
|
374 public: |
|
375 TInt iError; |
|
376 TInt iData1; |
|
377 TInt iData2; |
|
378 TInt iData3; |
|
379 }; |
|
380 /** |
|
381 * RadioServer Radio Text+ object data. |
|
382 */ |
|
383 class TRsRdsRTPlusObjectData |
|
384 { |
|
385 public: |
|
386 TRsRdsRadioText aRtObj1; |
|
387 TUint32 iContentType1; |
|
388 TRsRdsRadioText aRtObj2; |
|
389 TUint32 iContentType2; |
|
390 }; |
|
391 |
|
392 /** |
|
393 * RadioServer character conversion table data. |
|
394 * Conversion from 8-bit RDS character set to 16-bit UNICODE |
|
395 */ |
|
396 static const TUint16 TRsRdsCharConvData[ ] = { |
|
397 // Convert all non displayble control characters (< 0x20) to UNICODE spaces 0x0020, |
|
398 // to avoid incorrect output in display. |
|
399 0x0020, // 0x00 NUL -> <space> |
|
400 0x0020, // 0x01 SOH -> <space> |
|
401 0x0020, // 0x02 STX -> <space> |
|
402 0x0020, // 0x03 ETX -> <space> |
|
403 0x0020, // 0x04 EOT -> <space> |
|
404 0x0020, // 0x05 ENQ -> <space> |
|
405 0x0020, // 0x06 ACK -> <space> |
|
406 0x0020, // 0x07 BEL -> <space> |
|
407 0x0020, // 0x08 BS -> <space> |
|
408 0x0020, // 0x09 TAB -> <space> |
|
409 0x0020, // 0x0A LF -> <space> |
|
410 0x0020, // 0x0B VT -> <space> |
|
411 0x0020, // 0x0C FF -> <space> |
|
412 0x0020, // 0x0D CR -> <space> |
|
413 0x0020, // 0x0E SO -> <space> |
|
414 0x0020, // 0x0F SI -> <space> |
|
415 0x0020, // 0x10 DLE -> <space> |
|
416 0x0020, // 0x11 DC1 -> <space> |
|
417 0x0020, // 0x12 DC2-> <space> |
|
418 0x0020, // 0x13 DC3 -> <space> |
|
419 0x0020, // 0x14 DC4 -> <space> |
|
420 0x0020, // 0x15 NAK -> <space> |
|
421 0x0020, // 0x16 SYN -> <space> |
|
422 0x0020, // 0x17 ETB -> <space> |
|
423 0x0020, // 0x18 CAN -> <space> |
|
424 0x0020, // 0x19 EM -> <space> |
|
425 0x0020, // 0x1A SUB -> <space> |
|
426 0x0020, // 0x1B ESC -> <space> |
|
427 0x0020, // 0x1C FS -> <space> |
|
428 0x0020, // 0x1D GS -> <space> |
|
429 0x0020, // 0x1E RS -> <space> |
|
430 0x0020, // 0x1F US -> <space> |
|
431 // end of non displayable control characters |
|
432 0x0020, // 0x20 RDS 8bit <space> to UNICODE <space>, first displayable character |
|
433 0x0021, // 0x21 ! |
|
434 0x0022, // 0x22 " |
|
435 0x0023, // 0x23 # |
|
436 0x00A4, // 0x24 'sun' |
|
437 0x0025, // 0x25 % |
|
438 0x0026, // 0x26 & |
|
439 0x0027, // 0x27 ' |
|
440 0x0028, // 0x28 ( |
|
441 0x0029, // 0x29 ) |
|
442 0x002A, // 0x2A * |
|
443 0x002B, // 0x2B + |
|
444 0x002C, // 0x2C , |
|
445 0x002D, // 0x2D - |
|
446 0x002E, // 0x2E . |
|
447 0x002F, // 0x2F / |
|
448 0x0030, // 0x30 0 |
|
449 0x0031, // 0x31 1 |
|
450 0x0032, // 0x32 2 |
|
451 0x0033, // 0x33 3 |
|
452 0x0034, // 0x34 4 |
|
453 0x0035, // 0x35 5 |
|
454 0x0036, // 0x36 6 |
|
455 0x0037, // 0x37 7 |
|
456 0x0038, // 0x38 8 |
|
457 0x0039, // 0x39 9 |
|
458 0x003A, // 0x3A : |
|
459 0x003B, // 0x3B ; |
|
460 0x003C, // 0x3C < |
|
461 0x003D, // 0x3D = |
|
462 0x003E, // 0x3E > |
|
463 0x003F, // 0x3F ? |
|
464 0x0040, // 0x40 @ |
|
465 0x0041, // 0x41 A |
|
466 0x0042, // 0x42 B |
|
467 0x0043, // 0x43 C |
|
468 0x0044, // 0x44 D |
|
469 0x0045, // 0x45 E |
|
470 0x0046, // 0x46 F |
|
471 0x0047, // 0x47 G |
|
472 0x0048, // 0x48 H |
|
473 0x0049, // 0x49 I |
|
474 0x004A, // 0x4A J |
|
475 0x004B, // 0x4B K |
|
476 0x004C, // 0x4C L |
|
477 0x004D, // 0x4D M |
|
478 0x004E, // 0x4E N |
|
479 0x004F, // 0x4F O |
|
480 0x0050, // 0x50 P |
|
481 0x0051, // 0x51 Q |
|
482 0x0052, // 0x52 R |
|
483 0x0053, // 0x53 S |
|
484 0x0054, // 0x54 T |
|
485 0x0055, // 0x55 U |
|
486 0x0056, // 0x56 V |
|
487 0x0057, // 0x57 W |
|
488 0x0058, // 0x58 X |
|
489 0x0059, // 0x59 Y |
|
490 0x005A, // 0x5A Z |
|
491 0x005B, // 0x5B [ |
|
492 0x005C, // 0x5C '\' |
|
493 0x005D, // 0x5D ] |
|
494 0x0336, // 0x5E horizontal line centered |
|
495 0x005F, // 0x5F _ |
|
496 0x01C1, // 0x60 double pipes centered |
|
497 0x0061, // 0x61 a |
|
498 0x0062, // 0x62 b |
|
499 0x0063, // 0x63 c |
|
500 0x0064, // 0x64 d |
|
501 0x0065, // 0x65 e |
|
502 0x0066, // 0x66 f |
|
503 0x0067, // 0x67 g |
|
504 0x0068, // 0x68 h |
|
505 0x0069, // 0x69 i |
|
506 0x006A, // 0x6A j |
|
507 0x006B, // 0x6B k |
|
508 0x006C, // 0x6C l |
|
509 0x006D, // 0x6D m |
|
510 0x006E, // 0x6E n |
|
511 0x006F, // 0x6F o |
|
512 0x0070, // 0x70 p |
|
513 0x0071, // 0x71 q |
|
514 0x0072, // 0x72 r |
|
515 0x0073, // 0x73 s |
|
516 0x0074, // 0x74 t |
|
517 0x0075, // 0x75 u |
|
518 0x0076, // 0x76 v |
|
519 0x0077, // 0x77 w |
|
520 0x0078, // 0x78 x |
|
521 0x0079, // 0x79 y |
|
522 0x007A, // 0x7A z |
|
523 0x007B, // 0x7B { |
|
524 0x007C, // 0x7C pipe |
|
525 0x007D, // 0x7D } |
|
526 0x00AF, // 0x7E horizontal line up |
|
527 0x0020, // 0x7F DEL (control character), set it to <space> |
|
528 0x00E1, // 0x80 á |
|
529 0x00E0, // 0x81 à |
|
530 0x00E9, // 0x82 é |
|
531 0x00E8, // 0x83 è |
|
532 0x00ED, // 0x84 í |
|
533 0x00EC, // 0x85 ì |
|
534 0x00F3, // 0x86 ó |
|
535 0x00F2, // 0x87 ò |
|
536 0x00FA, // 0x88 ú |
|
537 0x00F9, // 0x89 ù |
|
538 0x00D1, // 0x8A Ñ |
|
539 0x00C7, // 0x8B Ç |
|
540 0x015E, // 0x8C S with curve under |
|
541 0x00DF, // 0x8D double S |
|
542 0x00A1, // 0x8E ! upside down |
|
543 0x0132, // 0x8F 'IJ' |
|
544 0x00E2, // 0x90 â |
|
545 0x00E4, // 0x91 ä |
|
546 0x00E9, // 0x92 ê |
|
547 0x00EB, // 0x93 ë |
|
548 0x00EE, // 0x94 î |
|
549 0x00EF, // 0x95 ï |
|
550 0x00F4, // 0x96 ô |
|
551 0x00F6, // 0x97 ö |
|
552 0x00FB, // 0x98 û |
|
553 0x00FC, // 0x99 ü |
|
554 0x00F1, // 0x9A ñ |
|
555 0x00E7, // 0x9B ç |
|
556 0x015F, // 0x9C s with curve under |
|
557 0x011F, // 0x9D g with curve above |
|
558 0x0131, // 0x9E i without dot |
|
559 0x0133, // 0x9F 'ij' |
|
560 0x00AA, // 0xA0 superscript a underlined |
|
561 0x03B1, // 0xA1 alfa-sign |
|
562 0x00A9, // 0xA2 copyright |
|
563 0x2030, // 0xA3 per mille sign |
|
564 0x01E6, // 0xA4 G with curve above |
|
565 0x011B, // 0xA5 e with curve above |
|
566 0x0148, // 0xA6 n with curve above |
|
567 0x0151, // 0xA7 o with tilted double quotes |
|
568 0x03C0, // 0xA8 pi sign |
|
569 0x20A0, // 0xA9 'CE' sign |
|
570 0x00A3, // 0xAA £ |
|
571 0x0024, // 0xAB $ |
|
572 0x2190, // 0xAC left arrow |
|
573 0x2191, // 0xAD up arrow |
|
574 0x2192, // 0xAE right arrow |
|
575 0x2193, // 0xAF down arrow |
|
576 0x00BA, // 0xB0 superscript o underlined |
|
577 0x00B9, // 0xB1 superscript 1 |
|
578 0x00B2, // 0xB2 superscript 2 |
|
579 0x00B3, // 0xB3 superscript 3 |
|
580 0x00B1, // 0xB4 plus/minus |
|
581 0x0130, // 0xB5 I with dot |
|
582 0x0144, // 0xB6 n with right stroke |
|
583 0x0171, // 0xB7 u with tilted double quotes |
|
584 0x00B5, // 0xB8 mju |
|
585 0x00BF, // 0xB9 question mark upside down |
|
586 0x00F7, // 0xBA division sign |
|
587 0x00B0, // 0xBB degrees sign |
|
588 0x00BC, // 0xBC 1/4 sign |
|
589 0x00BD, // 0xBD 1/2 sign |
|
590 0x00BE, // 0xBE 3/4 sign |
|
591 0x00A7, // 0xBF § |
|
592 0x00C1, // 0xC0 Á |
|
593 0x00C0, // 0xC1 À |
|
594 0x00C9, // 0xC2 É |
|
595 0x00C8, // 0xC3 È |
|
596 0x00CD, // 0xC4 Í |
|
597 0x00CC, // 0xC5 Ì |
|
598 0x00D3, // 0xC6 Ó |
|
599 0x00D2, // 0xC7 Ò |
|
600 0x00DA, // 0xC8 Ú |
|
601 0x00D9, // 0xC9 Ù |
|
602 0x0158, // 0xCA R with curve above |
|
603 0x010C, // 0xCB C with curve above |
|
604 0x0160, // 0xCC S with curve above |
|
605 0x017D, // 0xCD Z with curve above |
|
606 0x0110, // 0xCE D with stroke |
|
607 0x013F, // 0xCF L with dot |
|
608 0x00C2, // 0xD0 Â |
|
609 0x00C4, // 0xD1 Ä |
|
610 0x00CA, // 0xD2 Ê |
|
611 0x00CB, // 0xD3 Ë |
|
612 0x00CE, // 0xD4 Î |
|
613 0x00CF, // 0xD5 Ï |
|
614 0x00D4, // 0xD6 Ô |
|
615 0x00D6, // 0xD7 Ö |
|
616 0x00DB, // 0xD8 Û |
|
617 0x00DC, // 0xD9 Ü |
|
618 0x0159, // 0xDA r with curve above |
|
619 0x010D, // 0xDB c with curve above |
|
620 0x0161, // 0xDC s with curve above |
|
621 0x017E, // 0xDD z with curve above |
|
622 0x0111, // 0xDE d with stroke |
|
623 0x0140, // 0xDF l with dot |
|
624 0x00C3, // 0xE0 Ã |
|
625 0x00C5, // 0xE1 Å |
|
626 0x00C6, // 0xE2 AE |
|
627 0x0152, // 0xE3 OE |
|
628 0x0177, // 0xE4 y with curve above |
|
629 0x00DD, // 0xE5 Ý |
|
630 0x00D5, // 0xE6 Õ |
|
631 0x00D8, // 0xE7 O with stroke |
|
632 0x00DE, // 0xE8 'P'-look-a-like |
|
633 0x014A, // 0xE9 'NJ' |
|
634 0x0154, // 0xEA R with stroke |
|
635 0x0106, // 0xEB C with stroke |
|
636 0x015A, // 0xEC S with stroke |
|
637 0x0179, // 0xED Z with stroke |
|
638 0x0166, // 0xEE T with stroke |
|
639 0x00F0, // 0xEF 'O'-look-a-like |
|
640 0x00E3, // 0xF0 ã |
|
641 0x00E5, // 0xF1 å |
|
642 0x00E6, // 0xF2 ae |
|
643 0x0153, // 0xF3 oe |
|
644 0x0175, // 0xF4 w with stroke |
|
645 0x00FD, // 0xF5 ý |
|
646 0x00F5, // 0xF6 õ |
|
647 0x00F8, // 0xF7 o with stroke |
|
648 0x00FE, // 0xF8 'p'-look-a-like |
|
649 0x014B, // 0xF9 'nj' |
|
650 0x0155, // 0xFA r with stroke |
|
651 0x0107, // 0xFB c with stroke |
|
652 0x015B, // 0xFC s with stroke |
|
653 0x017A, // 0xFD z with stroke |
|
654 0x0167, // 0xFE t with stroke |
|
655 0x0020 // 0xFF Should not happen, but just in case set to <space> |
|
656 // to avoid out of table access. |
|
657 }; |
|
658 |
|
659 #endif // RADIOSERVERDATA_H |
|
660 |
|
661 // End of File |