S60UIExampledocument.inc
上传用户:laixiong
上传日期:2007-03-11
资源大小:2994k
文件大小:1147k
源码类别:

Symbian

开发平台:

C/C++

  1. #line 1 "C:\gbtukmanpf01\NOK124\Courses\S60\05300-S60_C++_Introduction\Working\LabCode\Lab_05304-s2.cb1\starter\src\S60UIExampledocument.cpp" /* stack depth 0 */
  2. #line 1 "(C-C++ Preprocessor Panel)" /* stack depth 1 */
  3. #line 1 "(command-line defines)" /* stack depth 2 */
  4. #pragma symbian
  5. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\variant\Symbian_OS_v9.1.hrh" /* stack depth 3 */
  6. #line 12 "(command-line defines)" /* stack depth 2 */
  7. #pragma warn_largeargs on
  8. #line 1 "(C-C++ Preprocessor Panel)" /* stack depth 1 */
  9. #line 1 "C:\gbtukmanpf01\NOK124\Courses\S60\05300-S60_C++_Introduction\Working\LabCode\Lab_05304-s2.cb1\starter\src\S60UIExampledocument.cpp" /* stack depth 0 */
  10. #line 1 "C:\gbtukmanpf01\NOK124\Courses\S60\05300-S60_C++_Introduction\Working\LabCode\Lab_05304-s2.cb1\starter\inc\S60UIExampleAppUi.h" /* stack depth 1 */
  11. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknViewAppUi.h" /* stack depth 2 */
  12. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknappui.h" /* stack depth 3 */
  13. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikappui.h" /* stack depth 4 */
  14. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\coeaui.h" /* stack depth 5 */
  15. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32std.h" /* stack depth 6 */
  16. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32cmn.h" /* stack depth 7 */
  17. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32const.h" /* stack depth 8 */
  18. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32err.h" /* stack depth 9 */
  19. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32def.h" /* stack depth 10 */
  20. #line 166
  21. #pragma warning off (10480) 
  22. #pragma warning off (10350) 
  23. #line 481
  24. typedef void TAny;
  25. #line 493
  26. typedef signed char TInt8;
  27. #line 505
  28. typedef unsigned char TUint8;
  29. #line 517
  30. typedef short int TInt16;
  31. #line 529
  32. typedef unsigned short int TUint16;
  33. #line 541
  34. typedef long int TInt32;
  35. #line 553
  36. typedef unsigned long int TUint32;
  37. #line 586
  38. typedef signed int TInt;
  39. #line 604
  40. typedef unsigned int TUint;
  41. #line 623
  42. typedef float TReal32;
  43. #line 644
  44. typedef double TReal64;
  45. #line 668
  46. typedef double TReal;
  47. #line 689
  48. typedef unsigned char TText8;
  49. #line 711
  50. typedef unsigned short int TText16;
  51. #line 730
  52. typedef int TBool;
  53. #line 741
  54. typedef TUint32 TLinAddr;
  55. typedef struct TRomExceptionSearchTable
  56. {
  57. TInt32 iNumEntries;
  58. TLinAddr iEntries[1];
  59. } TRomExceptionSearchTable;
  60. typedef struct TExceptionDescriptor
  61. {
  62. TLinAddr iExIdxBase;
  63. TLinAddr iExIdxLimit;
  64. TLinAddr iROSegmentBase;
  65. TLinAddr iROSegmentLimit;
  66. } TExceptionDescriptor;
  67. #line 820
  68. #pragma longlong on
  69. #line 820
  70. typedef long long Int64;
  71. typedef unsigned long long Uint64;
  72. #line 835
  73. typedef Int64 TInt64;
  74. #line 846
  75. typedef Uint64 TUint64;
  76. #line 1078
  77. typedef TText16 TText;
  78. #line 1220
  79. typedef TInt8 *VA_LIST[1];
  80. #line 2706
  81. static const char* const KSuppressPlatSecDiagnosticMagicValue = (const char*)1;
  82. #line 2769
  83. static const char* const KSuppressPlatSecDiagnostic = KSuppressPlatSecDiagnosticMagicValue;
  84. #line 13 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32err.h" /* stack depth 9 */
  85. #line 24
  86. const TInt KErrNone=0;
  87. #line 35
  88. const TInt KErrNotFound=(-1);
  89. #line 46
  90. const TInt KErrGeneral=(-2);
  91. #line 57
  92. const TInt KErrCancel=(-3);
  93. #line 68
  94. const TInt KErrNoMemory=(-4);
  95. #line 82
  96. const TInt KErrNotSupported=(-5);
  97. #line 93
  98. const TInt KErrArgument=(-6);
  99. #line 108
  100. const TInt KErrTotalLossOfPrecision=(-7);
  101. #line 122
  102. const TInt KErrBadHandle=(-8);
  103. #line 140
  104. const TInt KErrOverflow=(-9);
  105. #line 158
  106. const TInt KErrUnderflow=(-10);
  107. #line 172
  108. const TInt KErrAlreadyExists=(-11);
  109. #line 184
  110. const TInt KErrPathNotFound=(-12);
  111. #line 195
  112. const TInt KErrDied=(-13);
  113. #line 206
  114. const TInt KErrInUse=(-14);
  115. #line 218
  116. const TInt KErrServerTerminated=(-15);
  117. #line 230
  118. const TInt KErrServerBusy=(-16);
  119. #line 245
  120. const TInt KErrCompletion=(-17);
  121. #line 260
  122. const TInt KErrNotReady=(-18);
  123. #line 271
  124. const TInt KErrUnknown=(-19);
  125. #line 283
  126. const TInt KErrCorrupt=(-20);
  127. #line 295
  128. const TInt KErrAccessDenied=(-21);
  129. #line 307
  130. const TInt KErrLocked=(-22);
  131. #line 319
  132. const TInt KErrWrite=(-23);
  133. #line 331
  134. const TInt KErrDisMounted=(-24);
  135. #line 348
  136. const TInt KErrEof=(-25);
  137. #line 360
  138. const TInt KErrDiskFull=(-26);
  139. #line 371
  140. const TInt KErrBadDriver=(-27);
  141. #line 383
  142. const TInt KErrBadName=(-28);
  143. #line 394
  144. const TInt KErrCommsLineFail=(-29);
  145. #line 406
  146. const TInt KErrCommsFrame=(-30);
  147. #line 418
  148. const TInt KErrCommsOverrun=(-31);
  149. #line 429
  150. const TInt KErrCommsParity=(-32);
  151. #line 440
  152. const TInt KErrTimedOut=(-33);
  153. #line 451
  154. const TInt KErrCouldNotConnect=(-34);
  155. #line 462
  156. const TInt KErrCouldNotDisconnect=(-35);
  157. #line 474
  158. const TInt KErrDisconnected=(-36);
  159. #line 485
  160. const TInt KErrBadLibraryEntryPoint=(-37);
  161. #line 497
  162. const TInt KErrBadDescriptor=(-38);
  163. #line 508
  164. const TInt KErrAbort=(-39);
  165. #line 519
  166. const TInt KErrTooBig=(-40);
  167. #line 530
  168. const TInt KErrDivideByZero=(-41);
  169. #line 542
  170. const TInt KErrBadPower=(-42);
  171. #line 553
  172. const TInt KErrDirFull=(-43);
  173. #line 565
  174. const TInt KErrHardwareNotAvailable=(-44);
  175. #line 577
  176. const TInt KErrSessionClosed=(-45);
  177. #line 589
  178. const TInt KErrPermissionDenied=(-46);
  179. #line 598
  180. const TInt KErrExtensionNotSupported=(-47);
  181. #line 609
  182. const TInt KErrCommsBreak=(-48);
  183. #line 8 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32const.h" /* stack depth 8 */
  184. #line 25
  185. const TInt KDefaultJustifyWidth=(-1);
  186. #line 38
  187. const TInt KMaxCheckedUid=3;
  188. #line 48
  189. const TInt KNumTraceMaskWords = 8;
  190. #line 60
  191. const TInt KMaxUidName=10;
  192. #line 71
  193. const TInt KMaxModuleVersionName=10;
  194. #line 84
  195. const TInt KMaxName=0x80;
  196. #line 95
  197. const TInt KMaxKernelName=0x50;
  198. #line 106
  199. const TInt KMaxProcessName=(KMaxKernelName-KMaxUidName-KMaxModuleVersionName-4);
  200. #line 117
  201. const TInt KMaxLibraryName=(KMaxKernelName-KMaxUidName-KMaxModuleVersionName);
  202. #line 128
  203. const TInt KMaxInfoName=0x10;
  204. #line 141
  205. const TInt KMaxFullName=(KMaxName<<1);
  206. #line 154
  207. const TInt KMaxPassword=0x10;
  208. #line 167
  209. const TInt KMaxExitCategoryName=0x10;
  210. #line 180
  211. const TInt KMaxDayName=0x20;
  212. #line 193
  213. const TInt KMaxDayNameAbb=0x08;
  214. #line 205
  215. const TInt KMaxDays=7;
  216. #line 218
  217. const TInt KMaxMonthName=0x20;
  218. #line 231
  219. const TInt KMaxMonthNameAbb=0x08;
  220. #line 243
  221. const TInt KMaxMonths=12;
  222. #line 256
  223. const TInt KMaxSuffix=0x04;
  224. #line 268
  225. const TInt KMaxSuffixes=31;
  226. #line 281
  227. const TInt KMaxAmPmName=0x04;
  228. #line 293
  229. const TInt KMaxAmPms=2;
  230. #line 304
  231. const TInt KMaxDateSeparators=4;
  232. #line 315
  233. const TInt KMaxTimeSeparators=4;
  234. #line 327
  235. const TInt KMaxTranslateTable=0x100;
  236. #line 340
  237. const TInt KMaxCurrencySymbol=0x08;
  238. #line 353
  239. const TInt KMaxShortDateFormatSpec=40;
  240. #line 366
  241. const TInt KMaxLongDateFormatSpec=80;
  242. #line 379
  243. const TInt KMaxTimeFormatSpec=60;
  244. #line 390
  245. const TInt KMaxFileName=0x100;
  246. #line 403
  247. const TInt KMaxVersionName=0x10;
  248. #line 416
  249. const TInt KMaxPath=0x100;
  250. #line 429
  251. const TInt KMaxDeviceInfo=0x80;
  252. #line 440
  253. const TInt KMaxMediaPassword=16;
  254. #line 458
  255. const TInt KMinHeapSize=0x100;
  256. #line 469
  257. const TInt KDstHome=0x01;
  258. #line 480
  259. const TInt KDstEuropean=0x02;
  260. #line 491
  261. const TInt KDstNorthern=0x04;
  262. #line 502
  263. const TInt KDstSouthern=0x08;
  264. #line 513
  265. const TInt KDefaultStackSize=0x2000;
  266. #line 524
  267. const TUint KNoChar=0xffffffffu;
  268. #line 539
  269. const TInt KIndexPtr=(-1);
  270. #line 550
  271. const TInt KHandleNoClose=0x00008000;
  272. #line 561
  273. const TInt KHandleFlagLocal=0x40000000;
  274. #line 572
  275. const TInt KCurrentProcessHandle=0xffff0000|KHandleNoClose;
  276. #line 583
  277. const TInt KCurrentThreadHandle=0xffff0001|KHandleNoClose;
  278. #line 596
  279. const TInt KNullHandle=0;
  280. #line 607
  281. const TInt KDefaultUnit=0x00;
  282. #line 621
  283. const TInt KNullUnit=0xffffffff;
  284. #line 635
  285. const TInt KMaxUnits=0x20;
  286. #line 647
  287. const TInt KMaxMessageArguments=0x04;
  288. #line 664
  289. const TInt KDefaultRealWidth=20;
  290. #line 678
  291. const TInt KMinHeapGrowBy=0x1000;
  292. #line 689
  293. const TInt KMaxExponentConversion=99;
  294. #line 702
  295. const TInt KNullUidValue=0;
  296. #line 716
  297. const TInt KDeltaTimerDefaultGranularity=100000;
  298. #line 727
  299. const TInt KMaxTInt8=0x7f;
  300. #line 738
  301. const TInt KMinTInt8=(-128);
  302. #line 749
  303. const TUint KMaxTUint8=0xffu;
  304. #line 760
  305. const TInt KMaxTInt16=0x7fff;
  306. #line 771
  307. const TInt KMinTInt16=(-32768);
  308. #line 782
  309. const TUint KMaxTUint16=0xffffu;
  310. #line 793
  311. const TInt KMaxTInt32=0x7fffffff;
  312. #line 804
  313. const TInt KMinTInt32=(TInt)0x80000000;
  314. #line 815
  315. const TUint KMaxTUint32=0xffffffffu;
  316. #line 826
  317. const TInt KMaxTInt=0x7fffffff;
  318. #line 837
  319. const TInt KMinTInt=(TInt)0x80000000;
  320. #line 848
  321. const TUint KMaxTUint=0xffffffffu;
  322. #line 859
  323. const TInt64 KMaxTInt64 = 0x7fffffffffffffffLL ;
  324. #line 870
  325. const TInt64 KMinTInt64 = 0x8000000000000000ULL ;
  326. #line 881
  327. const TUint64 KMaxTUint64 = 0xffffffffffffffffULL ;
  328. #line 897
  329. const TUint KMatchAny='*';
  330. #line 913
  331. const TUint KMatchOne='?';
  332. #line 924
  333. const TInt KMaxLocalDrives=16;
  334. #line 935
  335. const TInt KMaxPBusSockets=4;
  336. #line 946
  337. const TInt KNoCallEntryPoint = 0x01;
  338. #line 960
  339. const TInt KRequestPending=(-KMaxTInt);
  340. #line 973
  341. enum TMediaType
  342. {
  343. EMediaNotPresent,
  344. EMediaUnknown,EMediaFloppy,EMediaHardDisk,EMediaCdRom,
  345. EMediaRam,EMediaFlash,EMediaRom,EMediaRemote,EMediaNANDFlash
  346. };
  347. #line 989
  348. enum TBatteryState {EBatNotSupported,EBatGood,EBatLow};
  349. #line 1000
  350. const TUint KDriveAttLocal=0x01;
  351. #line 1011
  352. const TUint KDriveAttRom=0x02;
  353. #line 1023
  354. const TUint KDriveAttRedirected=0x04;
  355. #line 1034
  356. const TUint KDriveAttSubsted=0x08;
  357. #line 1045
  358. const TUint KDriveAttInternal=0x10;
  359. #line 1056
  360. const TUint KDriveAttRemovable=0x20;
  361. #line 1067
  362. const TUint KDriveAttRemote=0x40;
  363. #line 1078
  364. const TUint KDriveAttTransaction=0x80;
  365. #line 1089
  366. const TUint KMediaAttVariableSize=0x01;
  367. #line 1100
  368. const TUint KMediaAttDualDensity=0x02;
  369. #line 1111
  370. const TUint KMediaAttFormattable=0x04;
  371. #line 1122
  372. const TUint KMediaAttWriteProtected=0x08;
  373. #line 1134
  374. const TUint KMediaAttLockable=0x10;
  375. #line 1146
  376. const TUint KMediaAttLocked=0x20;
  377. #line 1156
  378. const TUint KMediaAttHasPassword=0x40;
  379. const TUint KMediaAttReadWhileWrite=0x80;
  380. const TUint KMediaAttDeleteNotify=0x100;
  381. const TUint KDriveFileSysFAT=0x01;
  382. #line 1189
  383. const TUint KDriveFileSysROM=0x02;
  384. #line 1200
  385. const TUint KDriveFileSysLFFS=0x03;
  386. #line 1211
  387. const TUint KDriveFileSysROFS=0x04;
  388. #line 1222
  389. const TUint KDriveFileNone=0x05;
  390. #line 1236
  391. enum TFalse {
  392.             EFalse=0
  393.             };
  394. #line 1255
  395. enum TTrue {
  396.            ETrue=1
  397.            };
  398. #line 1272
  399. enum TAllowDuplicates {
  400.                       ENoDuplicates,
  401.                       EAllowDuplicates
  402.                       };
  403. #line 1303
  404. enum TRadix {
  405.             EBinary=2,
  406.             EOctal=8,
  407.             EDecimal=10,
  408.             EHex=16
  409.             };
  410. #line 1348
  411. enum TLanguage
  412. {
  413. ELangTest = 0,
  414. ELangEnglish = 1,
  415. ELangFrench = 2,
  416. ELangGerman = 3,
  417. ELangSpanish = 4,
  418. ELangItalian = 5,
  419. ELangSwedish = 6,
  420. ELangDanish = 7,
  421. ELangNorwegian = 8,
  422. ELangFinnish = 9,
  423. ELangAmerican = 10,
  424. ELangSwissFrench = 11,
  425. ELangSwissGerman = 12,
  426. ELangPortuguese = 13,
  427. ELangTurkish = 14,
  428. ELangIcelandic = 15,
  429. ELangRussian = 16,
  430. ELangHungarian = 17,
  431. ELangDutch = 18,
  432. ELangBelgianFlemish = 19,
  433. ELangAustralian = 20,
  434. ELangBelgianFrench = 21,
  435. ELangAustrian = 22,
  436. ELangNewZealand = 23,
  437. ELangInternationalFrench = 24,
  438. ELangCzech = 25,
  439. ELangSlovak = 26,
  440. ELangPolish = 27,
  441. ELangSlovenian = 28,
  442. ELangTaiwanChinese = 29,
  443. ELangHongKongChinese = 30,
  444. ELangPrcChinese = 31,
  445. ELangJapanese = 32,
  446. ELangThai = 33,
  447. ELangAfrikaans = 34,
  448. ELangAlbanian = 35,
  449. ELangAmharic = 36,
  450. ELangArabic = 37,
  451. ELangArmenian = 38,
  452. ELangTagalog = 39,
  453. ELangBelarussian = 40,
  454. ELangBengali = 41,
  455. ELangBulgarian = 42,
  456. ELangBurmese = 43,
  457. ELangCatalan = 44,
  458. ELangCroatian = 45,
  459. ELangCanadianEnglish = 46,
  460. ELangInternationalEnglish = 47,
  461. ELangSouthAfricanEnglish = 48,
  462. ELangEstonian = 49,
  463. ELangFarsi = 50,
  464. ELangCanadianFrench = 51,
  465. ELangScotsGaelic = 52,
  466. ELangGeorgian = 53,
  467. ELangGreek = 54,
  468. ELangCyprusGreek = 55,
  469. ELangGujarati = 56,
  470. ELangHebrew = 57,
  471. ELangHindi = 58,
  472. ELangIndonesian = 59,
  473. ELangIrish = 60,
  474. ELangSwissItalian = 61,
  475. ELangKannada = 62,
  476. ELangKazakh = 63,
  477. ELangKhmer = 64,
  478. ELangKorean = 65,
  479. ELangLao = 66,
  480. ELangLatvian = 67,
  481. ELangLithuanian = 68,
  482. ELangMacedonian = 69,
  483. ELangMalay = 70,
  484. ELangMalayalam = 71,
  485. ELangMarathi = 72,
  486. ELangMoldavian = 73,
  487. ELangMongolian = 74,
  488. ELangNorwegianNynorsk = 75,
  489. ELangBrazilianPortuguese = 76,
  490. ELangPunjabi = 77,
  491. ELangRomanian = 78,
  492. ELangSerbian = 79,
  493. ELangSinhalese = 80,
  494. ELangSomali = 81,
  495. ELangInternationalSpanish = 82,
  496. ELangLatinAmericanSpanish = 83,
  497. ELangSwahili = 84,
  498. ELangFinlandSwedish = 85,
  499. ELangReserved1 = 86,
  500. ELangTamil = 87,
  501. ELangTelugu = 88,
  502. ELangTibetan = 89,
  503. ELangTigrinya = 90,
  504. ELangCyprusTurkish = 91,
  505. ELangTurkmen = 92,
  506. ELangUkrainian = 93,
  507. ELangUrdu = 94,
  508. ELangReserved2 = 95,
  509. ELangVietnamese = 96,
  510. ELangWelsh = 97,
  511. ELangZulu = 98,
  512. ELangOther = 99,
  513. ELangNone = 0xFFFF,
  514. ELangMaximum = ELangNone
  515. };
  516. #line 1675
  517. const TUint KDialectMask=0x03FF;
  518. #line 1687
  519. enum TDateFormat {
  520.                  EDateAmerican,
  521.                  EDateEuropean,
  522.                  EDateJapanese};
  523. #line 1712
  524. enum TTimeFormat {
  525.                  ETime12,
  526.                  ETime24
  527.                  };
  528. #line 1726
  529. enum TClockFormat {
  530.                   EClockAnalog,
  531.                   EClockDigital
  532.                   };
  533. #line 1740
  534. enum TUnitsFormat {
  535.                   EUnitsImperial,
  536.                   EUnitsMetric
  537.                   };
  538. #line 1754
  539. enum TAmPm {
  540.            EAm,
  541.            EPm
  542.            };
  543. #line 1772
  544. enum TLocalePos
  545. {
  546. ELocaleBefore,
  547. ELocaleAfter
  548. };
  549. #line 1796
  550. enum TDigitType
  551. {
  552. EDigitTypeUnknown = 0x0000,
  553. EDigitTypeWestern = 0x0030,
  554. EDigitTypeArabicIndic = 0x0660,
  555. EDigitTypeEasternArabicIndic = 0x6F0,
  556. EDigitTypeDevanagari = 0x0966,
  557. EDigitTypeThai = 0x0E50,
  558. EDigitTypeAllTypes = 0xFFFF
  559. };
  560. #line 1816
  561. enum TDaylightSavingZone
  562. {
  563. EDstHome=0x40000000,
  564. EDstNone=0,
  565. EDstEuropean=1,
  566. EDstNorthern=2,
  567. EDstSouthern=4
  568. };
  569. #line 1854
  570. enum TNegativeCurrencyFormat
  571. {
  572. E_NegC_LeadingMinusSign,
  573. E_NegC_InBrackets,
  574. E_NegC_InterveningMinusSignWithSpaces,
  575. E_NegC_InterveningMinusSignWithoutSpaces,
  576. E_NegC_TrailingMinusSign
  577. };
  578. enum TDeviceTimeState
  579. {
  580. EDeviceUserTime,
  581. ENITZNetworkTimeSync
  582. };
  583. #line 1891
  584. enum TDay
  585. {
  586. EMonday,
  587. ETuesday,
  588. EWednesday,
  589. EThursday,
  590. EFriday,
  591. ESaturday,
  592. ESunday
  593. };
  594. #line 1914
  595. enum TMonth
  596. {
  597. EJanuary,
  598. EFebruary,
  599. EMarch,
  600. EApril,
  601. EMay,
  602. EJune,
  603. EJuly,
  604. EAugust,
  605. ESeptember,
  606. EOctober,
  607. ENovember,
  608. EDecember
  609. };
  610. #line 1952
  611. enum TOwnerType {
  612.                  EOwnerProcess,
  613.                  EOwnerThread
  614.                 };
  615. const TInt KCreateProtectedObject = (TInt)0x80000000;
  616. #line 1983
  617. enum TProcessPriority
  618. {
  619. EPriorityLow=150,
  620. EPriorityBackground=250,
  621. EPriorityForeground=350,
  622. EPriorityHigh=450,
  623. EPriorityWindowServer=650,
  624. EPriorityFileServer=750,
  625. EPriorityRealTimeServer=850,
  626. EPrioritySupervisor=950
  627. };
  628. #line 2010
  629. enum TThreadPriority
  630. {
  631. EPriorityNull=(-30),
  632. EPriorityMuchLess=(-20),
  633. EPriorityLess=(-10),
  634. EPriorityNormal=0,
  635. EPriorityMore=10,
  636. EPriorityMuchMore=20,
  637. EPriorityRealTime=30,
  638. EPriorityAbsoluteVeryLow=100,
  639. EPriorityAbsoluteLow=200,
  640. EPriorityAbsoluteBackground=300,
  641. EPriorityAbsoluteForeground=400,
  642. EPriorityAbsoluteHigh=500
  643. };
  644. #line 2033
  645. const TText KProtectedServerNamePrefix = '!';
  646. #line 2050
  647. enum TExcType
  648. {
  649. EExcGeneral=0,
  650. EExcIntegerDivideByZero=1,
  651. EExcSingleStep=2,
  652. EExcBreakPoint=3,
  653. EExcIntegerOverflow=4,
  654. EExcBoundsCheck=5,
  655. EExcInvalidOpCode=6,
  656. EExcDoubleFault=7,
  657. EExcStackFault=8,
  658. EExcAccessViolation=9,
  659. EExcPrivInstruction=10,
  660. EExcAlignment=11,
  661. EExcPageFault=12,
  662. EExcFloatDenormal=13,
  663. EExcFloatDivideByZero=14,
  664. EExcFloatInexactResult=15,
  665. EExcFloatInvalidOperation=16,
  666. EExcFloatOverflow=17,
  667. EExcFloatStackCheck=18,
  668. EExcFloatUnderflow=19,
  669. EExcAbort=20,
  670. EExcKill=21,
  671. EExcUserInterrupt=22,
  672. EExcDataAbort=23,
  673. EExcCodeAbort=24,
  674. EExcMaxNumber=25,
  675. EExcInvalidVector=26,
  676. };
  677. #line 2096
  678. enum TExitType {
  679.                EExitKill,
  680.                EExitTerminate,
  681.                EExitPanic,
  682.                EExitPending
  683.                };
  684. #line 2136
  685. enum TAlign {
  686.             ELeft,
  687.             ECenter,
  688.             ERight
  689.             };
  690. #line 2163
  691. const TInt KRealFormatTypesMask=0x00000007;
  692. #line 2193
  693. const TInt KRealFormatFixed=1;
  694. #line 2233
  695. const TInt KRealFormatExponent=2;
  696. #line 2261
  697. const TInt KRealFormatGeneral=3;
  698. #line 2280
  699. const TInt KRealFormatNoExponent=4;
  700. #line 2300
  701. const TInt KRealFormatCalculator=5;
  702. #line 2314
  703. const TInt KRealFormatTypeFlagsMask=0x7C000000;
  704. #line 2334
  705. const TInt KExtraSpaceForSign=0x40000000;
  706. #line 2355
  707. const TInt KAllowThreeDigitExp=0x20000000;
  708. #line 2373
  709. const TInt KUseSigFigs=0x10000000;
  710. #line 2391
  711. const TInt KDoNotUseTriads=0x08000000;
  712. #line 2408
  713. const TInt KGeneralLimit=0x04000000;
  714. #line 2420
  715. enum TLeave {ELeave};
  716. #line 2431
  717. enum TFirstWeekRule {
  718.                     EFirstWeek,
  719.                     EFirstFourDayWeek,
  720.                     EFirstFullWeek
  721.                     };
  722. #line 2466
  723. enum TTimerLockSpec
  724. {
  725. EOneOClock,
  726. ETwoOClock,
  727. EThreeOClock,
  728. EFourOClock,
  729. EFiveOClock,
  730. ESixOClock,
  731. ESevenOClock,
  732. EEightOClock,
  733. ENineOClock,
  734. ETenOClock,
  735. EElevenOClock,
  736. ETwelveOClock
  737. };
  738. #line 2525
  739. enum TChanges
  740. {
  741. EChangesLocale=0x01,
  742. EChangesMidnightCrossover=0x02,
  743. EChangesThreadDeath=0x04,
  744. EChangesPowerStatus=0x08,
  745. EChangesSystemTime=0x10,
  746. EChangesFreeMemory=0x20,
  747. EChangesOutOfMemory=0x40,
  748. };
  749. #line 2589
  750. typedef TInt (*TThreadFunction)(TAny*);
  751. #line 2604
  752. typedef TInt (*TLibraryFunction)();
  753. #line 2619
  754. typedef TInt (*TLibraryEntry)(TInt);
  755. #line 2636
  756. typedef void (*TExceptionHandler)(TExcType);
  757. #line 2653
  758. const TUint KExceptionAbort=0x01;
  759. #line 2668
  760. const TUint KExceptionKill=0x02;
  761. #line 2683
  762. const TUint KExceptionUserInterrupt=0x04;
  763. #line 2699
  764. const TUint KExceptionFpe=0x08;
  765. #line 2715
  766. const TUint KExceptionFault=0x10;
  767. #line 2727
  768. const TUint KExceptionInteger=0x20;
  769. #line 2742
  770. const TUint KExceptionDebug=0x40;
  771. #line 2770
  772. enum TProcessParameterType
  773. {
  774. EHandle=1,
  775. EBinaryData=2,
  776. };
  777. #line 2787
  778. const TUint32 KBit0= 0x00000001;
  779. #line 2798
  780. const TUint32 KBit1= 0x00000002;
  781. #line 2809
  782. const TUint32 KBit2= 0x00000004;
  783. #line 2820
  784. const TUint32 KBit3= 0x00000008;
  785. #line 2831
  786. const TUint32 KBit4= 0x00000010;
  787. #line 2842
  788. const TUint32 KBit5= 0x00000020;
  789. #line 2853
  790. const TUint32 KBit6= 0x00000040;
  791. #line 2864
  792. const TUint32 KBit7= 0x00000080;
  793. #line 2875
  794. const TUint32 KBit8= 0x00000100;
  795. #line 2886
  796. const TUint32 KBit9= 0x00000200;
  797. #line 2897
  798. const TUint32 KBit10=0x00000400;
  799. #line 2908
  800. const TUint32 KBit11=0x00000800;
  801. #line 2919
  802. const TUint32 KBit12=0x00001000;
  803. #line 2930
  804. const TUint32 KBit13=0x00002000;
  805. #line 2941
  806. const TUint32 KBit14=0x00004000;
  807. #line 2952
  808. const TUint32 KBit15=0x00008000;
  809. #line 2963
  810. const TUint32 KBit16=0x00010000;
  811. #line 2974
  812. const TUint32 KBit17=0x00020000;
  813. #line 2985
  814. const TUint32 KBit18=0x00040000;
  815. #line 2996
  816. const TUint32 KBit19=0x00080000;
  817. #line 3007
  818. const TUint32 KBit20=0x00100000;
  819. #line 3018
  820. const TUint32 KBit21=0x00200000;
  821. #line 3029
  822. const TUint32 KBit22=0x00400000;
  823. #line 3040
  824. const TUint32 KBit23=0x00800000;
  825. #line 3051
  826. const TUint32 KBit24=0x01000000;
  827. #line 3062
  828. const TUint32 KBit25=0x02000000;
  829. #line 3073
  830. const TUint32 KBit26=0x04000000;
  831. #line 3084
  832. const TUint32 KBit27=0x08000000;
  833. #line 3095
  834. const TUint32 KBit28=0x10000000;
  835. #line 3106
  836. const TUint32 KBit29=0x20000000;
  837. #line 3117
  838. const TUint32 KBit30=0x40000000;
  839. #line 3128
  840. const TUint32 KBit31=0x80000000;
  841. #line 3141
  842. const TUint32 KSet32=0xffffffff;
  843. #line 3155
  844. const TUint32 KClear32=0x00000000;
  845. #line 3166
  846. const TInt KKilo=1024;
  847. #line 3177
  848. const TInt KMega=1024*1024;
  849. #line 3188
  850. enum TIpcSessionType
  851. {
  852. EIpcSession_Unsharable=0,
  853. EIpcSession_Sharable=1,
  854. EIpcSession_GlobalSharable=2
  855. };
  856. #line 3213
  857. const TInt KNullDebugPort=-2;
  858. const TUint32 KModuleVersionWild=0xfffffffeu;
  859. const TUint32 KModuleVersionNull=0xffffffffu;
  860. #line 3233
  861. const TUint KNullThreadId = 0xffffffffu;
  862. #line 3244
  863. const TUint KNullProcessId = 0xffffffffu;
  864. #line 3254
  865. enum TFloatingPointType
  866. {
  867. EFpTypeNone=0,
  868. EFpTypeVFPv2=1
  869. };
  870. #line 3270
  871. enum TFloatingPointMode
  872. {
  873. EFpModeRunFast=0,
  874. EFpModeIEEENoExceptions=1
  875. };
  876. #line 3296
  877. enum TFloatingPointRoundingMode
  878. {
  879. EFpRoundToNearest=0,
  880. EFpRoundToPlusInfinity=1,
  881. EFpRoundToMinusInfinity=2,
  882. EFpRoundToZero=3,
  883. EFpRoundNumModes=4
  884. };
  885. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32capability.h" /* stack depth 9 */
  886. #line 24
  887. enum TCapability
  888. {
  889. ECapabilityTCB = 0,
  890. ECapabilityCommDD = 1,
  891. #line 55
  892. ECapabilityPowerMgmt = 2,
  893. ECapabilityMultimediaDD = 3,
  894. #line 72
  895. ECapabilityReadDeviceData = 4,
  896. ECapabilityWriteDeviceData = 5,
  897. #line 91
  898. ECapabilityDRM = 6,
  899. #line 104
  900. ECapabilityTrustedUI = 7,
  901. #line 114
  902. ECapabilityProtServ = 8,
  903. #line 123
  904. ECapabilityDiskAdmin = 9,
  905. #line 135
  906. ECapabilityNetworkControl = 10,
  907. #line 144
  908. ECapabilityAllFiles = 11,
  909. #line 154
  910. ECapabilitySwEvent = 12,
  911. #line 168
  912. ECapabilityNetworkServices = 13,
  913. #line 178
  914. ECapabilityLocalServices = 14,
  915. #line 190
  916. ECapabilityReadUserData = 15,
  917. #line 202
  918.     ECapabilityWriteUserData = 16,
  919. #line 211
  920. ECapabilityLocation = 17,
  921. #line 224
  922. ECapabilitySurroundingsDD = 18,
  923. #line 237
  924. ECapabilityUserEnvironment = 19,
  925. ECapability_Limit,
  926. ECapability_HardLimit = 255,
  927. ECapability_None = -1,
  928. ECapability_Denied = -2
  929. };
  930. #line 3326 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32const.h" /* stack depth 8 */
  931. #line 8 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32cmn.h" /* stack depth 7 */
  932. extern "C" {
  933. #line 41
  934. __declspec(dllexport) TInt memcompare(const TUint8* aLeft, TInt aLeftLen, const TUint8* aRight, TInt aRightLen);
  935. #line 74
  936. __declspec(dllexport) TAny* wordmove(TAny* aTrg, const TAny* aSrc, unsigned int aLength);
  937. #line 91
  938. __declspec(dllexport) TAny* memclr(TAny* aTrg, unsigned int aLength);
  939. }
  940. extern "C" {
  941. #line 112
  942. __declspec(dllexport) TAny* memset(TAny* aTrg, TInt aValue, unsigned int aLength);
  943. #line 129
  944. __declspec(dllexport) TAny* memcpy(TAny* aTrg, const TAny* aSrc, unsigned int aLength);
  945. #line 146
  946. __declspec(dllexport) TAny* memmove(TAny* aTrg, const TAny* aSrc, unsigned int aLength);
  947. }
  948. #line 168
  949. inline TInt Lim(TInt aVal,TUint aLimit)
  950. {return(((TUint)aVal)<=aLimit);}
  951. #line 187
  952. inline TInt LimX(TInt aVal,TUint aLimit)
  953. {return(((TUint)aVal)<aLimit);}
  954. #line 204
  955. template <class T>
  956. inline T Min(T aLeft,T aRight)
  957. {return(aLeft<aRight ? aLeft : aRight);}
  958. #line 223
  959. template <class T>
  960. inline T Min(T aLeft,TUint aRight)
  961. {return(aLeft<(TInt)aRight ? aLeft : (T)aRight);}
  962. #line 241
  963. template <class T>
  964. inline T Max(T aLeft,T aRight)
  965. {return(aLeft<aRight ? aRight : aLeft);}
  966. #line 260
  967. template <class T>
  968. inline T Max(T aLeft,TUint aRight)
  969. {return(aLeft<(TInt)aRight ? (TInt)aRight : aLeft);}
  970. #line 277
  971. template <class T>
  972. inline T Abs(T aVal)
  973. {return(aVal<0 ? -aVal : aVal);}
  974. #line 296
  975. template <class T>
  976. inline TBool Rng(T aMin,T aVal,T aMax)
  977. {return(aVal>=aMin && aVal<=aMax);}
  978. #line 314
  979. template <class T,class S>
  980. inline T* PtrAdd(T* aPtr,S aVal)
  981. {return((T*)(((TUint8*)aPtr)+aVal));}
  982. #line 332
  983. template <class T,class S>
  984. inline T* PtrSub(T* aPtr,S aVal)
  985. {return((T*)(((TUint8*)aPtr)-aVal));}
  986. #line 349
  987. template <class T>
  988. inline T Align2(T aValue)
  989. {return((T)((((TUint)aValue)+sizeof(TUint16)-1)&~(sizeof(TUint16)-1)));}
  990. #line 366
  991. template <class T>
  992. inline T Align4(T aValue)
  993. {return((T)((((TUint)aValue)+sizeof(TUint32)-1)&~(sizeof(TUint32)-1)));}
  994. #line 384
  995. template <class T>
  996. class TRefByValue
  997. {
  998. public:
  999. inline TRefByValue(T& aRef);
  1000. inline operator T&();
  1001. private:
  1002. TRefByValue& operator=(TRefByValue aRef);
  1003. private:
  1004. T &iRef;
  1005. };
  1006. class TDesC16;
  1007. class TPtrC16;
  1008. #line 427
  1009. class TChar
  1010. {
  1011. public:
  1012. #line 459
  1013. enum TCategory
  1014. {
  1015. EAlphaGroup = 0x00,
  1016. ELetterOtherGroup = 0x10,
  1017. ELetterModifierGroup = 0x20,
  1018. EMarkGroup = 0x30,
  1019. ENumberGroup = 0x40,
  1020. EPunctuationGroup = 0x50,
  1021. ESymbolGroup = 0x60,
  1022. ESeparatorGroup = 0x70,
  1023. #line 531
  1024. EControlGroup = 0x80,
  1025. EMaxAssignedGroup = 0xE0,
  1026. EUnassignedGroup = 0xF0,
  1027. ELuCategory = EAlphaGroup | 0,
  1028. ELlCategory = EAlphaGroup | 1,
  1029. ELtCategory = EAlphaGroup | 2,
  1030. ELoCategory = ELetterOtherGroup | 0,
  1031. EMaxLetterCategory = ELetterOtherGroup | 0x0F,
  1032. ELmCategory = ELetterModifierGroup | 0,
  1033. EMaxLetterOrLetterModifierCategory = ELetterModifierGroup | 0x0F,
  1034. EMnCategory = EMarkGroup | 0,
  1035. EMcCategory = EMarkGroup | 1,
  1036. EMeCategory = EMarkGroup | 2,
  1037. ENdCategory = ENumberGroup | 0,
  1038. ENlCategory = ENumberGroup | 1,
  1039. ENoCategory = ENumberGroup | 2,
  1040. EPcCategory = EPunctuationGroup | 0,
  1041. EPdCategory = EPunctuationGroup | 1,
  1042. EPsCategory = EPunctuationGroup | 2,
  1043. EPeCategory = EPunctuationGroup | 3,
  1044. EPiCategory = EPunctuationGroup | 4,
  1045. EPfCategory = EPunctuationGroup | 5,
  1046. EPoCategory = EPunctuationGroup | 6,
  1047. ESmCategory = ESymbolGroup | 0,
  1048. EScCategory = ESymbolGroup | 1,
  1049. ESkCategory = ESymbolGroup | 2,
  1050. ESoCategory = ESymbolGroup | 3,
  1051. EMaxGraphicCategory = ESymbolGroup | 0x0F,
  1052. EZsCategory = ESeparatorGroup | 0,
  1053. EMaxPrintableCategory = EZsCategory,
  1054. EZlCategory = ESeparatorGroup | 1,
  1055. EZpCategory = ESeparatorGroup | 2,
  1056. ECcCategory = EControlGroup | 0,
  1057. ECfCategory = EControlGroup | 1,
  1058. EMaxAssignedCategory = EMaxAssignedGroup | 0x0F,
  1059. ECsCategory = EUnassignedGroup | 0,
  1060. ECoCategory = EUnassignedGroup | 1,
  1061. ECnCategory = EUnassignedGroup | 2
  1062. };
  1063. #line 763
  1064. enum TBdCategory
  1065. {
  1066. ELeftToRight,
  1067. ELeftToRightEmbedding,
  1068. ELeftToRightOverride,
  1069. ERightToLeft,
  1070. ERightToLeftArabic,
  1071. ERightToLeftEmbedding,
  1072. ERightToLeftOverride,
  1073. EPopDirectionalFormat,
  1074. EEuropeanNumber,
  1075. EEuropeanNumberSeparator,
  1076. EEuropeanNumberTerminator,
  1077. EArabicNumber,
  1078. ECommonNumberSeparator,
  1079. ENonSpacingMark,
  1080. EBoundaryNeutral,
  1081. EParagraphSeparator,
  1082. ESegmentSeparator,
  1083. EWhitespace,
  1084. EOtherNeutral
  1085. };
  1086. enum TCjkWidth
  1087. {
  1088. ENeutralWidth,
  1089. EHalfWidth,
  1090. EFullWidth,
  1091. ENarrow,
  1092. EWide
  1093. };
  1094.    enum TEncoding
  1095.    {
  1096.    EUnicode,
  1097.    EShiftJIS
  1098.    };
  1099. #line 946
  1100. enum
  1101. {
  1102. EFoldCase = 1,
  1103. EFoldAccents = 2,
  1104. EFoldDigits = 4,
  1105. EFoldSpaces = 8,
  1106. EFoldKana = 16,
  1107. EFoldWidth = 32,
  1108. EFoldStandard = EFoldCase | EFoldAccents | EFoldDigits | EFoldSpaces,
  1109. EFoldAll = -1
  1110. };
  1111. struct TCharInfo
  1112. {
  1113. TCategory iCategory;
  1114. TBdCategory iBdCategory;
  1115. TInt iCombiningClass;
  1116. TUint iLowerCase;
  1117. TUint iUpperCase;
  1118. TUint iTitleCase;
  1119. TBool iMirrored;
  1120. TInt iNumericValue;
  1121. };
  1122. inline TChar();
  1123. inline TChar(TUint aChar);
  1124. inline TChar& operator-=(TUint aChar);
  1125. inline TChar& operator+=(TUint aChar);
  1126. inline TChar operator-(TUint aChar);
  1127. inline TChar operator+(TUint aChar);
  1128. inline operator TUint() const;
  1129. inline void Fold();
  1130. inline void LowerCase();
  1131. inline void UpperCase();
  1132. inline TBool Eos() const;
  1133. __declspec(dllexport) TUint GetUpperCase() const;
  1134. __declspec(dllexport) TUint GetLowerCase() const;
  1135. __declspec(dllexport) TBool IsLower() const;
  1136. __declspec(dllexport) TBool IsUpper() const;
  1137. __declspec(dllexport) TBool IsAlpha() const;
  1138. __declspec(dllexport) TBool IsDigit() const;
  1139. __declspec(dllexport) TBool IsAlphaDigit() const;
  1140. __declspec(dllexport) TBool IsHexDigit() const;
  1141. __declspec(dllexport) TBool IsSpace() const;
  1142. __declspec(dllexport) TBool IsPunctuation() const;
  1143. __declspec(dllexport) TBool IsGraph() const;
  1144. __declspec(dllexport) TBool IsPrint() const;
  1145. __declspec(dllexport) TBool IsControl() const;
  1146. inline void Fold(TInt aFlags);
  1147. inline void TitleCase();
  1148. __declspec(dllexport) TUint GetTitleCase() const;
  1149. __declspec(dllexport) TBool IsTitle() const;
  1150. __declspec(dllexport) TBool IsAssigned() const;
  1151. __declspec(dllexport) void GetInfo(TCharInfo& aInfo) const;
  1152. __declspec(dllexport) TCategory GetCategory() const;
  1153. __declspec(dllexport) TBdCategory GetBdCategory() const;
  1154. __declspec(dllexport) TInt GetCombiningClass() const;
  1155. __declspec(dllexport) TBool IsMirrored() const;
  1156. __declspec(dllexport) TInt GetNumericValue() const;
  1157. __declspec(dllexport) TCjkWidth GetCjkWidth() const;
  1158. __declspec(dllexport) static TBool Compose(TUint& aResult,const TDesC16& aSource);
  1159. __declspec(dllexport) TBool Decompose(TPtrC16& aResult) const;
  1160.    __declspec(dllexport) TBool TranslateFromUnicode(TUint& aCode,TEncoding aEncoding) const;
  1161.    __declspec(dllexport) static TBool TranslateToUnicode(TUint& aTo,TUint aFrom,TEncoding aEncoding);
  1162. protected:
  1163. inline void SetChar(TUint aChar);
  1164. private:
  1165. TUint iChar;
  1166. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1167. };
  1168. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32des8.h" /* stack depth 8 */
  1169. #line 12
  1170. const TUint KMaskDesLength8=0xfffffff;
  1171. const TInt KShiftDesType8=28;
  1172. class TBufCBase8;
  1173. class TDes8;
  1174. class TPtrC8;
  1175. class TPtr8;
  1176. class TPtr16;
  1177. class HBufC8;
  1178. class TDesC8
  1179. #line 48
  1180.     {
  1181. public:
  1182. inline TBool operator<(const TDesC8 &aDes) const;
  1183. inline TBool operator<=(const TDesC8 &aDes) const;
  1184. inline TBool operator>(const TDesC8 &aDes) const;
  1185. inline TBool operator>=(const TDesC8 &aDes) const;
  1186. inline TBool operator==(const TDesC8 &aDes) const;
  1187. inline TBool operator!=(const TDesC8 &aDes) const;
  1188. inline const TUint8 &operator[](TInt anIndex) const;
  1189. inline TInt Length() const;
  1190. inline TInt Size() const;
  1191. __declspec(dllexport) const TUint8 *Ptr() const;
  1192. __declspec(dllexport) TInt Compare(const TDesC8 &aDes) const;
  1193. __declspec(dllexport) TInt Match(const TDesC8 &aDes) const;
  1194. __declspec(dllexport) TInt MatchF(const TDesC8 &aDes) const;
  1195. __declspec(dllexport) TInt MatchC(const TDesC8 &aDes) const;
  1196. __declspec(dllexport) TInt Locate(TChar aChar) const;
  1197. __declspec(dllexport) TInt LocateReverse(TChar aChar) const;
  1198. __declspec(dllexport) TInt Find(const TDesC8 &aDes) const;
  1199. __declspec(dllexport) TInt Find(const TUint8 *pS,TInt aLenS) const;
  1200. __declspec(dllexport) TPtrC8 Left(TInt aLength) const;
  1201. __declspec(dllexport) TPtrC8 Right(TInt aLength) const;
  1202. __declspec(dllexport) TPtrC8 Mid(TInt aPos) const;
  1203. __declspec(dllexport) TPtrC8 Mid(TInt aPos,TInt aLength) const;
  1204. __declspec(dllexport) TInt CompareF(const TDesC8 &aDes) const;
  1205. __declspec(dllexport) TInt CompareC(const TDesC8 &aDes) const;
  1206. __declspec(dllexport) TInt LocateF(TChar aChar) const;
  1207. __declspec(dllexport) TInt LocateReverseF(TChar aChar) const;
  1208. __declspec(dllexport) TInt FindF(const TDesC8 &aDes) const;
  1209. __declspec(dllexport) TInt FindF(const TUint8 *pS,TInt aLenS) const;
  1210. __declspec(dllexport) TInt FindC(const TDesC8 &aDes) const;
  1211. __declspec(dllexport) TInt FindC(const TUint8 *pS,TInt aLenS) const;
  1212. __declspec(dllexport) HBufC8 *Alloc() const;
  1213. __declspec(dllexport) HBufC8 *AllocL() const;
  1214. __declspec(dllexport) HBufC8 *AllocLC() const;
  1215. protected:
  1216. inline TDesC8(TInt aType,TInt aLength);
  1217. inline TDesC8() {}
  1218. inline TInt Type() const;
  1219. inline void DoSetLength(TInt aLength);
  1220. __declspec(dllexport) const TUint8 &AtC(TInt anIndex) const;
  1221. private:
  1222. TUint iLength;
  1223. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1224.     };
  1225. class TPtrC8 : public TDesC8
  1226. #line 122
  1227. {
  1228. public:
  1229. __declspec(dllexport) TPtrC8();
  1230. __declspec(dllexport) TPtrC8(const TDesC8 &aDes);
  1231. __declspec(dllexport) TPtrC8(const TUint8 *aString);
  1232. __declspec(dllexport) TPtrC8(const TUint8 *aBuf,TInt aLength);
  1233. inline void Set(const TUint8 *aBuf,TInt aLength);
  1234. inline void Set(const TDesC8 &aDes);
  1235. inline void Set(const TPtrC8& aPtr);
  1236. private:
  1237. TPtrC8& operator=(const TPtrC8 &aDes);
  1238. protected:
  1239. const TUint8 *iPtr;
  1240. private:
  1241. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1242. };
  1243. class TDes8Overflow
  1244. #line 154
  1245. {
  1246. public:
  1247. #line 165
  1248. virtual void Overflow(TDes8 &aDes)=0;
  1249. };
  1250. class TDesC16;
  1251. class TRealFormat;
  1252. class TDes8 : public TDesC8
  1253. #line 192
  1254. {
  1255. public:
  1256. inline TDes8& operator=(const TUint8 *aString);
  1257. inline TDes8& operator=(const TDesC8 &aDes);
  1258. inline TDes8& operator=(const TDes8 &aDes);
  1259. inline TInt MaxLength() const;
  1260. inline TInt MaxSize() const;
  1261. inline const TUint8 &operator[](TInt anIndex) const;
  1262. inline TUint8 &operator[](TInt anIndex);
  1263. inline TDes8 &operator+=(const TDesC8 &aDes);
  1264. __declspec(dllexport) void Zero();
  1265.   __declspec(dllexport) void SetLength(TInt aLength);
  1266.   __declspec(dllexport) void SetMax();
  1267. __declspec(dllexport) void Copy(const TDesC8 &aDes);
  1268. __declspec(dllexport) void Copy(const TUint8 *aBuf,TInt aLength);
  1269. __declspec(dllexport) void Copy(const TUint8 *aString);
  1270. __declspec(dllexport) void Copy(const TDesC16 &aDes);
  1271. __declspec(dllexport) void Append(TChar aChar);
  1272. __declspec(dllexport) void Append(const TDesC8 &aDes);
  1273. __declspec(dllexport) void Append(const TDesC16 &aDes);
  1274. __declspec(dllexport) void Append(const TUint8 *aBuf,TInt aLength);
  1275. __declspec(dllexport) void Fill(TChar aChar);
  1276. __declspec(dllexport) void Fill(TChar aChar,TInt aLength);
  1277. __declspec(dllexport) void FillZ();
  1278. __declspec(dllexport) void FillZ(TInt aLength);
  1279. __declspec(dllexport) void Num(TInt64 aVal);
  1280. __declspec(dllexport) void Num(TUint64 aVal, TRadix aRadix);
  1281. __declspec(dllexport) void NumFixedWidth(TUint aVal,TRadix aRadix,TInt aWidth);
  1282. __declspec(dllexport) void AppendNum(TInt64 aVal);
  1283. __declspec(dllexport) void AppendNum(TUint64 aVal, TRadix aRadix);
  1284. __declspec(dllexport) void AppendNumFixedWidth(TUint aVal,TRadix aRadix,TInt aWidth);
  1285. __declspec(dllexport) TPtr8 LeftTPtr(TInt aLength) const;
  1286. __declspec(dllexport) TPtr8 RightTPtr(TInt aLength) const;
  1287. __declspec(dllexport) TPtr8 MidTPtr(TInt aPos) const;
  1288. __declspec(dllexport) TPtr8 MidTPtr(TInt aPos,TInt aLength) const;
  1289. __declspec(dllexport) const TUint8 *PtrZ();
  1290. __declspec(dllexport) void CopyF(const TDesC8 &aDes);
  1291. __declspec(dllexport) void CopyC(const TDesC8 &aDes);
  1292. __declspec(dllexport) void CopyLC(const TDesC8 &aDes);
  1293. __declspec(dllexport) void CopyUC(const TDesC8 &aDes);
  1294. __declspec(dllexport) void CopyCP(const TDesC8 &aDes);
  1295. __declspec(dllexport) void Swap(TDes8 &aDes);
  1296. __declspec(dllexport) void AppendFill(TChar aChar,TInt aLength);
  1297. __declspec(dllexport) void ZeroTerminate();
  1298. __declspec(dllexport) void Fold();
  1299. __declspec(dllexport) void Collate();
  1300. __declspec(dllexport) void LowerCase();
  1301. __declspec(dllexport) void UpperCase();
  1302. __declspec(dllexport) void Capitalize();
  1303. __declspec(dllexport) void Repeat(const TUint8 *aBuf,TInt aLength);
  1304. __declspec(dllexport) void Repeat(const TDesC8 &aDes);
  1305. __declspec(dllexport) void Trim();
  1306. __declspec(dllexport) void TrimAll();
  1307. __declspec(dllexport) void TrimLeft();
  1308. __declspec(dllexport) void TrimRight();
  1309. __declspec(dllexport) void Insert(TInt aPos,const TDesC8 &aDes);
  1310. __declspec(dllexport) void Delete(TInt aPos,TInt aLength);
  1311. __declspec(dllexport) void Replace(TInt aPos,TInt aLength,const TDesC8 &aDes);
  1312. __declspec(dllexport) void Justify(const TDesC8 &aDes,TInt aWidth,TAlign anAlignment,TChar aFill);
  1313. __declspec(dllexport) void NumFixedWidthUC(TUint aVal,TRadix aRadix,TInt aWidth);
  1314. __declspec(dllexport) void NumUC(TUint64 aVal, TRadix aRadix=EDecimal);
  1315. __declspec(dllexport) TInt Num(TReal aVal,const TRealFormat &aFormat) ;
  1316. __declspec(dllexport) void AppendNumFixedWidthUC(TUint aVal,TRadix aRadix,TInt aWidth);
  1317. __declspec(dllexport) TInt AppendNum(TReal aVal,const TRealFormat &aFormat) ;
  1318. __declspec(dllexport) void AppendNumUC(TUint64 aVal,TRadix aRadix=EDecimal);
  1319. __declspec(dllexport) void Format(TRefByValue<const TDesC8> aFmt,...);
  1320. __declspec(dllexport) void FormatList(const TDesC8 &aFmt,VA_LIST aList);
  1321. __declspec(dllexport) void AppendJustify(const TDesC8 &Des,TInt aWidth,TAlign anAlignment,TChar aFill);
  1322. __declspec(dllexport) void AppendJustify(const TDesC8 &Des,TInt aLength,TInt aWidth,TAlign anAlignment,TChar aFill);
  1323. __declspec(dllexport) void AppendJustify(const TUint8 *aString,TInt aWidth,TAlign anAlignment,TChar aFill);
  1324. __declspec(dllexport) void AppendJustify(const TUint8 *aString,TInt aLength,TInt aWidth,TAlign anAlignment,TChar aFill);
  1325. __declspec(dllexport) void AppendFormat(TRefByValue<const TDesC8> aFmt,TDes8Overflow *aOverflowHandler,...);
  1326. __declspec(dllexport) void AppendFormat(TRefByValue<const TDesC8> aFmt,...);
  1327. __declspec(dllexport) void AppendFormatList(const TDesC8 &aFmt,VA_LIST aList,TDes8Overflow *aOverflowHandler=0 );
  1328. __declspec(dllexport) TPtr16 Expand();
  1329. __declspec(dllexport) void Collapse();
  1330. protected:
  1331. inline TDes8(TInt aType,TInt aLength,TInt aMaxLength);
  1332. inline TUint8 *WPtr() const;
  1333. inline TDes8() {}
  1334. void DoAppendNum(TUint64 aVal, TRadix aRadix, TUint aA, TInt aW);
  1335. void DoPadAppendNum(TInt aLength, TInt aW, const TUint8* aBuf);
  1336. protected:
  1337. TInt iMaxLength;
  1338. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1339.     };
  1340. class TPtr8 : public TDes8
  1341. #line 308
  1342. {
  1343. public:
  1344. __declspec(dllexport) TPtr8(TUint8 *aBuf,TInt aMaxLength);
  1345. __declspec(dllexport) TPtr8(TUint8 *aBuf,TInt aLength,TInt aMaxLength);
  1346. inline TPtr8& operator=(const TUint8 *aString);
  1347. inline TPtr8& operator=(const TDesC8& aDes);
  1348. inline TPtr8& operator=(const TPtr8& aPtr);
  1349. inline void Set(TUint8 *aBuf,TInt aLength,TInt aMaxLength);
  1350. inline void Set(const TPtr8 &aPtr);
  1351. private:
  1352. __declspec(dllexport) TPtr8(TBufCBase8 &aLcb,TInt aMaxLength);
  1353. protected:
  1354. TUint8 *iPtr;
  1355. private:
  1356. friend class TBufCBase8;
  1357. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1358. };
  1359. class TBufCBase8 : public TDesC8
  1360. {
  1361. protected:
  1362. __declspec(dllexport) TBufCBase8();
  1363. inline TBufCBase8(TInt aLength);
  1364. __declspec(dllexport) TBufCBase8(const TUint8 *aString,TInt aMaxLength);
  1365. __declspec(dllexport) TBufCBase8(const TDesC8 &aDes,TInt aMaxLength);
  1366. __declspec(dllexport) void Copy(const TUint8 *aString,TInt aMaxLength);
  1367. __declspec(dllexport) void Copy(const TDesC8 &aDes,TInt aMaxLength);
  1368. inline TPtr8 DoDes(TInt aMaxLength);
  1369. inline TUint8 *WPtr() const;
  1370. };
  1371. class RReadStream;
  1372. class HBufC8 : public TBufCBase8
  1373. #line 379
  1374. {
  1375. public:
  1376. __declspec(dllexport) static HBufC8 *New(TInt aMaxLength);
  1377. __declspec(dllexport) static HBufC8 *NewL(TInt aMaxLength);
  1378. __declspec(dllexport) static HBufC8 *NewLC(TInt aMaxLength);
  1379. __declspec(dllexport) static HBufC8 *NewMax(TInt aMaxLength);
  1380. __declspec(dllexport) static HBufC8 *NewMaxL(TInt aMaxLength);
  1381. __declspec(dllexport) static HBufC8 *NewMaxLC(TInt aMaxLength);
  1382. __declspec(dllexport) static HBufC8 *NewL(RReadStream &aStream,TInt aMaxLength);
  1383. __declspec(dllexport) static HBufC8 *NewLC(RReadStream &aStream,TInt aMaxLength);
  1384. __declspec(dllexport) HBufC8& operator=(const TUint8 *aString);
  1385. __declspec(dllexport) HBufC8& operator=(const TDesC8 &aDes);
  1386. inline HBufC8& operator=(const HBufC8 &aLcb);
  1387. __declspec(dllexport) HBufC8 *ReAlloc(TInt aMaxLength);
  1388. __declspec(dllexport) HBufC8 *ReAllocL(TInt aMaxLength);
  1389. __declspec(dllexport) TPtr8 Des();
  1390. private:
  1391. inline HBufC8(TInt aLength);
  1392. private:
  1393. TText8 iBuf[1];
  1394. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1395. };
  1396. #line 412
  1397. template <TInt S>
  1398. class TBufC8 : public TBufCBase8
  1399. #line 438
  1400. {
  1401. public:
  1402. inline TBufC8();
  1403.     inline TBufC8(const TUint8 *aString);
  1404. inline TBufC8(const TDesC8 &aDes);
  1405. inline TBufC8<S> &operator=(const TUint8 *aString);
  1406. inline TBufC8<S> &operator=(const TDesC8 &aDes);
  1407. inline TPtr8 Des();
  1408. protected:
  1409. TUint8 iBuf[((((S)+(sizeof(TInt)/sizeof(TInt8))-1)/(sizeof(TInt)/sizeof(TInt8)))*(sizeof(TInt)/sizeof(TInt8))) ];
  1410. };
  1411. class TBufBase8 : public TDes8
  1412. {
  1413. protected:
  1414. __declspec(dllexport) TBufBase8(TInt aMaxLength);
  1415. __declspec(dllexport) TBufBase8(TInt aLength,TInt aMaxLength);
  1416. __declspec(dllexport) TBufBase8(const TUint8* aString,TInt aMaxLength);
  1417. __declspec(dllexport) TBufBase8(const TDesC8& aDes,TInt aMaxLength);
  1418. };
  1419. template <TInt S>
  1420. class TBuf8 : public TBufBase8
  1421. #line 486
  1422. {
  1423. public:
  1424. inline TBuf8();
  1425. inline explicit TBuf8(TInt aLength);
  1426.     inline TBuf8(const TUint8* aString);
  1427. inline TBuf8(const TDesC8& aDes);
  1428. inline TBuf8<S>& operator=(const TUint8* aString);
  1429. inline TBuf8<S>& operator=(const TDesC8& aDes);
  1430. inline TBuf8<S>& operator=(const TBuf8<S>& aBuf);
  1431. protected:
  1432. TUint8 iBuf[((((S)+(sizeof(TInt)/sizeof(TInt8))-1)/(sizeof(TInt)/sizeof(TInt8)))*(sizeof(TInt)/sizeof(TInt8))) ];
  1433. };
  1434. template <TInt S>
  1435. class TAlignedBuf8 : public TBufBase8
  1436. #line 515
  1437. {
  1438. public:
  1439. inline TAlignedBuf8();
  1440. inline explicit TAlignedBuf8(TInt aLength);
  1441.     inline TAlignedBuf8(const TUint8* aString);
  1442. inline TAlignedBuf8(const TDesC8& aDes);
  1443. inline TAlignedBuf8<S>& operator=(const TUint8* aString);
  1444. inline TAlignedBuf8<S>& operator=(const TDesC8& aDes);
  1445. inline TAlignedBuf8<S>& operator=(const TAlignedBuf8<S>& aBuf);
  1446. protected:
  1447. union {
  1448. double only_here_to_force_8byte_alignment;
  1449. TUint8 iBuf[((((S)+(sizeof(TInt)/sizeof(TInt8))-1)/(sizeof(TInt)/sizeof(TInt8)))*(sizeof(TInt)/sizeof(TInt8))) ];
  1450. };
  1451. };
  1452. class RBuf8 : public TDes8
  1453. #line 570
  1454. {
  1455. public:
  1456. __declspec(dllexport) RBuf8();
  1457. __declspec(dllexport) explicit RBuf8(HBufC8* aHBuf);
  1458. __declspec(dllexport) void Assign(const RBuf8& aRBuf);
  1459. __declspec(dllexport) void Assign(TUint8 *aHeapCell,TInt aMaxLength);
  1460. __declspec(dllexport) void Assign(TUint8 *aHeapCell,TInt aLength,TInt aMaxLength);
  1461. __declspec(dllexport) void Assign(HBufC8* aHBuf);
  1462. __declspec(dllexport) void Swap(RBuf8& aRBuf);
  1463. __declspec(dllexport) TInt Create(TInt aMaxLength);
  1464. __declspec(dllexport) void CreateL(TInt aMaxLength);
  1465. __declspec(dllexport) TInt CreateMax(TInt aMaxLength);
  1466. __declspec(dllexport) void CreateMaxL(TInt aMaxLength);
  1467. inline void CreateL(RReadStream &aStream,TInt aMaxLength);
  1468. __declspec(dllexport) TInt Create(const TDesC8& aDes);
  1469. __declspec(dllexport) void CreateL(const TDesC8& aDes);
  1470. __declspec(dllexport) TInt Create(const TDesC8& aDes,TInt aMaxLength);
  1471. __declspec(dllexport) void CreateL(const TDesC8& aDes,TInt aMaxLength);
  1472. __declspec(dllexport) TInt ReAlloc(TInt aMaxLength);
  1473. __declspec(dllexport) void ReAllocL(TInt aMaxLength);
  1474. __declspec(dllexport) void Close();
  1475. __declspec(dllexport) void CleanupClosePushL();
  1476. protected:
  1477. __declspec(dllexport) RBuf8(TInt aType,TInt aLength,TInt aMaxLength);
  1478. RBuf8(const RBuf8&);
  1479. union
  1480. {
  1481. TUint8* iEPtrType;
  1482. HBufC8* iEBufCPtrType;
  1483. };
  1484. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1485. };
  1486. #line 614
  1487. typedef TRefByValue<const TDesC8> __TRefDesC8;
  1488. template <TInt S>
  1489. class TLitC8
  1490. #line 636
  1491. {
  1492. public:
  1493. inline const TDesC8* operator&() const;
  1494. inline operator const TDesC8&() const;
  1495. inline const TDesC8& operator()() const;
  1496. inline operator const __TRefDesC8() const;
  1497. public:
  1498. TUint iTypeLength;
  1499. TText8 iBuf[((((S)+(sizeof(TInt)/sizeof(TInt8))-1)/(sizeof(TInt)/sizeof(TInt8)))*(sizeof(TInt)/sizeof(TInt8))) ];
  1500. };
  1501. #line 1106 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32cmn.h" /* stack depth 7 */
  1502. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32des16.h" /* stack depth 8 */
  1503. #line 12
  1504. const TUint KMaskDesLength16=0xfffffff;
  1505. const TInt KShiftDesType16=28;
  1506. class TBufCBase16;
  1507. class TDes16;
  1508. class TPtrC16;
  1509. class TPtr16;
  1510. struct TCollationMethod;
  1511. class HBufC16;
  1512. class TDesC16
  1513. #line 47
  1514.     {
  1515. public:
  1516. enum TPrefix {
  1517.               EIsPrefix = 0,
  1518.               EMightBePrefix = 1,
  1519.               EIsNotPrefix = 2
  1520.              };
  1521. public:
  1522. inline TBool operator<(const TDesC16 &aDes) const;
  1523. inline TBool operator<=(const TDesC16 &aDes) const;
  1524. inline TBool operator>(const TDesC16 &aDes) const;
  1525. inline TBool operator>=(const TDesC16 &aDes) const;
  1526. inline TBool operator==(const TDesC16 &aDes) const;
  1527. inline TBool operator!=(const TDesC16 &aDes) const;
  1528. inline const TUint16 &operator[](TInt anIndex) const;
  1529. inline TInt Length() const;
  1530. inline TInt Size() const;
  1531. __declspec(dllexport) const TUint16 *Ptr() const;
  1532. __declspec(dllexport) TInt Compare(const TDesC16 &aDes) const;
  1533. __declspec(dllexport) TInt CompareF(const TDesC16 &aDes) const;
  1534. __declspec(dllexport) TInt CompareC(const TDesC16 &aDes) const;
  1535. __declspec(dllexport) TInt CompareC(const TDesC16& aDes,TInt aMaxLevel,const TCollationMethod* aCollationMethod) const;
  1536. __declspec(dllexport) TInt Match(const TDesC16 &aDes) const;
  1537. __declspec(dllexport) TInt MatchF(const TDesC16 &aDes) const;
  1538. __declspec(dllexport) TInt MatchC(const TDesC16 &aDes) const;
  1539. __declspec(dllexport) TInt Locate(TChar aChar) const;
  1540. __declspec(dllexport) TInt LocateReverse(TChar aChar) const;
  1541. __declspec(dllexport) TInt Find(const TDesC16 &aDes) const;
  1542. __declspec(dllexport) TInt Find(const TUint16 *aBuf,TInt aLen) const;
  1543. __declspec(dllexport) TPrefix HasPrefixC(const TDesC16& aPossiblePrefix, TInt aLevel, const TCollationMethod* aCollationMethod) const;
  1544. __declspec(dllexport) TPtrC16 Left(TInt aLength) const;
  1545. __declspec(dllexport) TPtrC16 Right(TInt aLength) const;
  1546. __declspec(dllexport) TPtrC16 Mid(TInt aPos) const;
  1547. __declspec(dllexport) TPtrC16 Mid(TInt aPos,TInt aLength) const;
  1548. __declspec(dllexport) TInt LocateF(TChar aChar) const;
  1549. __declspec(dllexport) TInt LocateReverseF(TChar aChar) const;
  1550. __declspec(dllexport) TInt FindF(const TDesC16 &aDes) const;
  1551. __declspec(dllexport) TInt FindF(const TUint16 *aBuf,TInt aLen) const;
  1552. __declspec(dllexport) TInt FindC(const TDesC16 &aDes) const;
  1553. __declspec(dllexport) TInt FindC(const TUint16 *aBuf,TInt aLen) const;
  1554. __declspec(dllexport) TInt FindC(const TUint16 *aText,TInt aLength, TInt aMaxLevel) const;
  1555. __declspec(dllexport) HBufC16 *Alloc() const;
  1556. __declspec(dllexport) HBufC16 *AllocL() const;
  1557. __declspec(dllexport) HBufC16 *AllocLC() const;
  1558. protected:
  1559. inline TDesC16() {}
  1560. inline TDesC16(TInt aType,TInt aLength);
  1561. inline TInt Type() const;
  1562. inline void DoSetLength(TInt aLength);
  1563. __declspec(dllexport) const TUint16 &AtC(TInt anIndex) const;
  1564. private:
  1565. TUint iLength;
  1566. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1567.     };
  1568. class TPtrC16 : public TDesC16
  1569. #line 148
  1570. {
  1571. public:
  1572. __declspec(dllexport) TPtrC16();
  1573. __declspec(dllexport) TPtrC16(const TDesC16 &aDes);
  1574. __declspec(dllexport) TPtrC16(const TUint16 *aString);
  1575. __declspec(dllexport) TPtrC16(const TUint16 *aBuf,TInt aLength);
  1576. inline void Set(const TUint16 *aBuf,TInt aLength);
  1577. inline void Set(const TDesC16 &aDes);
  1578. inline void Set(const TPtrC16 &aPtr);
  1579. private:
  1580. TPtrC16& operator=(const TPtrC16 &aDes);
  1581. protected:
  1582. const TUint16 *iPtr;
  1583. private:
  1584. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1585. };
  1586. class TDes16Overflow
  1587. #line 179
  1588. {
  1589. public:
  1590. #line 190
  1591. virtual void Overflow(TDes16 &aDes)=0;
  1592. };
  1593. class TRealFormat;
  1594. class TDes16 : public TDesC16
  1595. #line 216
  1596. {
  1597. public:
  1598. inline TDes16& operator=(const TUint16 *aString);
  1599. inline TDes16& operator=(const TDesC16 &aDes);
  1600. inline TDes16& operator=(const TDes16 &aDes);
  1601. inline TInt MaxLength() const;
  1602. inline TInt MaxSize() const;
  1603. inline const TUint16 &operator[](TInt anIndex) const;
  1604. inline TUint16 &operator[](TInt anIndex);
  1605. inline TDes16 &operator+=(const TDesC16 &aDes);
  1606. __declspec(dllexport) void Zero();
  1607.   __declspec(dllexport) void SetLength(TInt aLength);
  1608.   __declspec(dllexport) void SetMax();
  1609. __declspec(dllexport) void Copy(const TDesC8 &aDes);
  1610. __declspec(dllexport) void Copy(const TDesC16 &aDes);
  1611. __declspec(dllexport) void Copy(const TUint16 *aBuf,TInt aLength);
  1612. __declspec(dllexport) void Copy(const TUint16 *aString);
  1613. __declspec(dllexport) void Append(TChar aChar);
  1614. __declspec(dllexport) void Append(const TDesC16 &aDes);
  1615. __declspec(dllexport) void Append(const TUint16 *aBuf,TInt aLength);
  1616. __declspec(dllexport) void Fill(TChar aChar);
  1617. __declspec(dllexport) void Fill(TChar aChar,TInt aLength);
  1618. __declspec(dllexport) void FillZ();
  1619. __declspec(dllexport) void FillZ(TInt aLength);
  1620. __declspec(dllexport) void NumFixedWidth(TUint aVal,TRadix aRadix,TInt aWidth);
  1621. __declspec(dllexport) void AppendNumFixedWidth(TUint aVal,TRadix aRadix,TInt aWidth);
  1622. __declspec(dllexport) TPtr16 LeftTPtr(TInt aLength) const;
  1623. __declspec(dllexport) TPtr16 RightTPtr(TInt aLength) const;
  1624. __declspec(dllexport) TPtr16 MidTPtr(TInt aPos) const;
  1625. __declspec(dllexport) TPtr16 MidTPtr(TInt aPos,TInt aLength) const;
  1626. __declspec(dllexport) const TUint16 *PtrZ();
  1627. __declspec(dllexport) void CopyF(const TDesC16 &aDes);
  1628. __declspec(dllexport) void CopyC(const TDesC16 &aDes);
  1629. __declspec(dllexport) void CopyLC(const TDesC16 &aDes);
  1630. __declspec(dllexport) void CopyUC(const TDesC16 &aDes);
  1631. __declspec(dllexport) void CopyCP(const TDesC16 &aDes);
  1632. __declspec(dllexport) void AppendFill(TChar aChar,TInt aLength);
  1633. __declspec(dllexport) void ZeroTerminate();
  1634. __declspec(dllexport) void Swap(TDes16 &aDes);
  1635. __declspec(dllexport) void Fold();
  1636. __declspec(dllexport) void Collate();
  1637. __declspec(dllexport) void LowerCase();
  1638. __declspec(dllexport) void UpperCase();
  1639. __declspec(dllexport) void Capitalize();
  1640. __declspec(dllexport) void Repeat(const TDesC16 &aDes);
  1641. __declspec(dllexport) void Repeat(const TUint16 *aBuf,TInt aLength);
  1642. __declspec(dllexport) void Trim();
  1643. __declspec(dllexport) void TrimAll();
  1644. __declspec(dllexport) void TrimLeft();
  1645. __declspec(dllexport) void TrimRight();
  1646. __declspec(dllexport) void Insert(TInt aPos,const TDesC16 &aDes);
  1647. __declspec(dllexport) void Delete(TInt aPos,TInt aLength);
  1648. __declspec(dllexport) void Replace(TInt aPos,TInt aLength,const TDesC16 &aDes);
  1649. __declspec(dllexport) void Justify(const TDesC16 &aDes,TInt aWidth,TAlign anAlignment,TChar aFill);
  1650. __declspec(dllexport) void NumFixedWidthUC(TUint aVal,TRadix aRadix,TInt aWidth);
  1651. __declspec(dllexport) void NumUC(TUint64 aVal, TRadix aRadix=EDecimal);
  1652. __declspec(dllexport) TInt Num(TReal aVal,const TRealFormat &aFormat) ;
  1653. __declspec(dllexport) void Num(TInt64 aVal);
  1654. __declspec(dllexport) void Num(TUint64 aVal, TRadix aRadix);
  1655. __declspec(dllexport) void Format(TRefByValue<const TDesC16> aFmt,...);
  1656. __declspec(dllexport) void FormatList(const TDesC16 &aFmt,VA_LIST aList);
  1657. __declspec(dllexport) void AppendJustify(const TDesC16 &Des,TInt aWidth,TAlign anAlignment,TChar aFill);
  1658. __declspec(dllexport) void AppendJustify(const TDesC16 &Des,TInt aLength,TInt aWidth,TAlign anAlignment,TChar aFill);
  1659. __declspec(dllexport) void AppendJustify(const TUint16 *aString,TInt aWidth,TAlign anAlignment,TChar aFill);
  1660. __declspec(dllexport) void AppendJustify(const TUint16 *aString,TInt aLength,TInt aWidth,TAlign anAlignment,TChar aFill);
  1661. __declspec(dllexport) void AppendNumFixedWidthUC(TUint aVal,TRadix aRadix,TInt aWidth);
  1662. __declspec(dllexport) void AppendNumUC(TUint64 aVal, TRadix aRadix=EDecimal);
  1663. __declspec(dllexport) TInt AppendNum(TReal aVal,const TRealFormat &aFormat) ;
  1664. __declspec(dllexport) void AppendNum(TInt64 aVal);
  1665. __declspec(dllexport) void AppendNum(TUint64 aVal, TRadix aRadix);
  1666. __declspec(dllexport) void AppendFormat(TRefByValue<const TDesC16> aFmt,TDes16Overflow *aOverflowHandler,...);
  1667. __declspec(dllexport) void AppendFormat(TRefByValue<const TDesC16> aFmt,...);
  1668. __declspec(dllexport) void AppendFormatList(const TDesC16 &aFmt,VA_LIST aList,TDes16Overflow *aOverflowHandler=0 );
  1669. __declspec(dllexport) TPtr8 Collapse();
  1670. protected:
  1671. inline TDes16() {}
  1672. inline TDes16(TInt aType,TInt aLength,TInt aMaxLength);
  1673. inline TUint16 *WPtr() const;
  1674. void DoAppendNum(TUint64 aVal, TRadix aRadix, TUint aA, TInt aW);
  1675. void DoPadAppendNum(TInt aLength, TInt aW, const TUint8* aBuf);
  1676. protected:
  1677. TInt iMaxLength;
  1678. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1679.     };
  1680. class TPtr16 : public TDes16
  1681. #line 328
  1682. {
  1683. public:
  1684. __declspec(dllexport) TPtr16(TUint16 *aBuf,TInt aMaxLength);
  1685. __declspec(dllexport) TPtr16(TUint16 *aBuf,TInt aLength,TInt aMaxLength);
  1686. inline TPtr16& operator=(const TUint16 *aString);
  1687. inline TPtr16& operator=(const TDesC16& aDes);
  1688. inline TPtr16& operator=(const TPtr16& aDes);
  1689. inline void Set(TUint16 *aBuf,TInt aLength,TInt aMaxLength);
  1690. inline void Set(const TPtr16 &aPtr);
  1691. private:
  1692. __declspec(dllexport) TPtr16(TBufCBase16 &aLcb,TInt aMaxLength);
  1693. protected:
  1694. TUint16 *iPtr;
  1695. private:
  1696. friend class TBufCBase16;
  1697. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1698. };
  1699. class TBufCBase16 : public TDesC16
  1700. {
  1701. protected:
  1702. __declspec(dllexport) TBufCBase16();
  1703. inline TBufCBase16(TInt aLength);
  1704. __declspec(dllexport) TBufCBase16(const TUint16 *aString,TInt aMaxLength);
  1705. __declspec(dllexport) TBufCBase16(const TDesC16 &aDes,TInt aMaxLength);
  1706. __declspec(dllexport) void Copy(const TUint16 *aString,TInt aMaxLength);
  1707. __declspec(dllexport) void Copy(const TDesC16 &aDes,TInt aMaxLength);
  1708. inline TPtr16 DoDes(TInt aMaxLength);
  1709. inline TUint16 *WPtr() const;
  1710. };
  1711. class RReadStream;
  1712. class HBufC16 : public TBufCBase16
  1713. #line 398
  1714. {
  1715. public:
  1716. __declspec(dllexport) static HBufC16 *New(TInt aMaxLength);
  1717. __declspec(dllexport) static HBufC16 *NewL(TInt aMaxLength);
  1718. __declspec(dllexport) static HBufC16 *NewLC(TInt aMaxLength);
  1719. __declspec(dllexport) static HBufC16 *NewMax(TInt aMaxLength);
  1720. __declspec(dllexport) static HBufC16 *NewMaxL(TInt aMaxLength);
  1721. __declspec(dllexport) static HBufC16 *NewMaxLC(TInt aMaxLength);
  1722. __declspec(dllexport) static HBufC16 *NewL(RReadStream &aStream,TInt aMaxLength);
  1723. __declspec(dllexport) static HBufC16 *NewLC(RReadStream &aStream,TInt aMaxLength);
  1724. __declspec(dllexport) HBufC16& operator=(const TUint16 *aString);
  1725. __declspec(dllexport) HBufC16& operator=(const TDesC16 &aDes);
  1726. inline HBufC16& operator=(const HBufC16 &aLcb);
  1727. __declspec(dllexport) HBufC16 *ReAlloc(TInt aMaxLength);
  1728. __declspec(dllexport) HBufC16 *ReAllocL(TInt aMaxLength);
  1729. __declspec(dllexport) TPtr16 Des();
  1730. private:
  1731. inline HBufC16(TInt aLength);
  1732. private:
  1733. TText16 iBuf[1];
  1734. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1735. };
  1736. #line 430
  1737. template <TInt S>
  1738. class TBufC16 : public TBufCBase16
  1739. #line 456
  1740. {
  1741. public:
  1742. inline TBufC16();
  1743.     inline TBufC16(const TUint16 *aString);
  1744. inline TBufC16(const TDesC16 &aDes);
  1745. inline TBufC16<S> &operator=(const TUint16 *aString);
  1746. inline TBufC16<S> &operator=(const TDesC16 &aDes);
  1747. inline TPtr16 Des();
  1748. protected:
  1749. TUint16 iBuf[((((S)+(sizeof(TInt)/sizeof(TInt16))-1)/(sizeof(TInt)/sizeof(TInt16)))*(sizeof(TInt)/sizeof(TInt16))) ];
  1750. };
  1751. class TBufBase16 : public TDes16
  1752. {
  1753. protected:
  1754. __declspec(dllexport) TBufBase16(TInt aMaxLength);
  1755. __declspec(dllexport) TBufBase16(TInt aLength,TInt aMaxLength);
  1756. __declspec(dllexport) TBufBase16(const TUint16* aString,TInt aMaxLength);
  1757. __declspec(dllexport) TBufBase16(const TDesC16& aDes,TInt aMaxLength);
  1758. };
  1759. template <TInt S>
  1760. class TBuf16 : public TBufBase16
  1761. #line 504
  1762. {
  1763. public:
  1764. inline TBuf16();
  1765. inline explicit TBuf16(TInt aLength);
  1766.     inline TBuf16(const TUint16* aString);
  1767. inline TBuf16(const TDesC16& aDes);
  1768. inline TBuf16<S>& operator=(const TUint16* aString);
  1769. inline TBuf16<S>& operator=(const TDesC16& aDes);
  1770. inline TBuf16<S>& operator=(const TBuf16<S>& aDes);
  1771. protected:
  1772. TUint16 iBuf[((((S)+(sizeof(TInt)/sizeof(TInt16))-1)/(sizeof(TInt)/sizeof(TInt16)))*(sizeof(TInt)/sizeof(TInt16))) ];
  1773. };
  1774. class RBuf16 : public TDes16
  1775. #line 557
  1776. {
  1777. public:
  1778. __declspec(dllexport) RBuf16();
  1779. __declspec(dllexport) explicit RBuf16(HBufC16* aHBuf);
  1780. __declspec(dllexport) void Assign(const RBuf16& aRBuf);
  1781. __declspec(dllexport) void Assign(TUint16 *aHeapCell,TInt aMaxLength);
  1782. __declspec(dllexport) void Assign(TUint16 *aHeapCell,TInt aLength,TInt aMaxLength);
  1783. __declspec(dllexport) void Assign(HBufC16* aHBuf);
  1784. __declspec(dllexport) void Swap(RBuf16& aRBuf);
  1785. __declspec(dllexport) TInt Create(TInt aMaxLength);
  1786. __declspec(dllexport) void CreateL(TInt aMaxLength);
  1787. __declspec(dllexport) TInt CreateMax(TInt aMaxLength);
  1788. __declspec(dllexport) void CreateMaxL(TInt aMaxLength);
  1789. inline void CreateL(RReadStream &aStream,TInt aMaxLength);
  1790. __declspec(dllexport) TInt Create(const TDesC16& aDes);
  1791. __declspec(dllexport) void CreateL(const TDesC16& aDes);
  1792. __declspec(dllexport) TInt Create(const TDesC16& aDes,TInt aMaxLength);
  1793. __declspec(dllexport) void CreateL(const TDesC16& aDes,TInt aMaxLength);
  1794. __declspec(dllexport) TInt ReAlloc(TInt aMaxLength);
  1795. __declspec(dllexport) void ReAllocL(TInt aMaxLength);
  1796. __declspec(dllexport) void Close();
  1797. __declspec(dllexport) void CleanupClosePushL();
  1798. protected:
  1799. __declspec(dllexport) RBuf16(TInt aType,TInt aLength,TInt aMaxLength);
  1800. RBuf16(const RBuf16&);
  1801. union
  1802. {
  1803. TUint16* iEPtrType;
  1804. HBufC16* iEBufCPtrType;
  1805. };
  1806. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1807. };
  1808. #line 602
  1809. typedef TRefByValue<const TDesC16> __TRefDesC16;
  1810. template <TInt S>
  1811. class TLitC16
  1812. #line 624
  1813. {
  1814. public:
  1815. inline const TDesC16* operator&() const;
  1816. inline operator const TDesC16&() const;
  1817. inline const TDesC16& operator()() const;
  1818. inline operator const __TRefDesC16() const;
  1819. public:
  1820. #line 645
  1821. typedef TUint16 __TText;
  1822. public:
  1823. TUint iTypeLength;
  1824. __TText iBuf[((((S)+(sizeof(TInt)/sizeof(TInt16))-1)/(sizeof(TInt)/sizeof(TInt16)))*(sizeof(TInt)/sizeof(TInt16))) ];
  1825. };
  1826. #line 1108 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32cmn.h" /* stack depth 7 */
  1827. #line 1131
  1828. typedef TDesC16 TDesC;
  1829. #line 1151
  1830. typedef TPtrC16 TPtrC;
  1831. #line 1171
  1832. typedef TDes16 TDes;
  1833. #line 1191
  1834. typedef TPtr16 TPtr;
  1835. #line 1212
  1836. typedef HBufC16 HBufC;
  1837. #line 1232
  1838. typedef TDes16Overflow TDesOverflow;
  1839. #line 1249
  1840. typedef RBuf16 RBuf;
  1841. #line 1394
  1842. typedef TBufCBase16 TBufCBase;
  1843. #line 1430
  1844. template <TInt S>
  1845. class TBufC : public TBufCBase16
  1846. {
  1847. public:
  1848. inline TBufC();
  1849. inline TBufC(const TText* aString);
  1850. inline TBufC(const TDesC& aDes);
  1851. inline TBufC<S>& operator=(const TText* aString);
  1852. inline TBufC<S>& operator=(const TDesC& aDes);
  1853. inline TPtr Des();
  1854. private:
  1855. TText iBuf[((((S)+(sizeof(TUint)/sizeof(TUint16))-1)/(sizeof(TUint)/sizeof(TUint16)))*(sizeof(TUint)/sizeof(TUint16))) ];
  1856. };
  1857. #line 1483
  1858. template <TInt S>
  1859. class TBuf : public TBufBase16
  1860. {
  1861. public:
  1862. inline TBuf();
  1863. inline explicit TBuf(TInt aLength);
  1864. inline TBuf(const TText* aString);
  1865. inline TBuf(const TDesC& aDes);
  1866. inline TBuf<S>& operator=(const TText* aString);
  1867. inline TBuf<S>& operator=(const TDesC& aDes);
  1868. inline TBuf<S>& operator=(const TBuf<S>& aBuf);
  1869. private:
  1870. TText iBuf[((((S)+(sizeof(TUint)/sizeof(TUint16))-1)/(sizeof(TUint)/sizeof(TUint16)))*(sizeof(TUint)/sizeof(TUint16))) ];
  1871. };
  1872. #line 1513
  1873. typedef TRefByValue<const TDesC> __TRefDesC;
  1874. #line 1531
  1875. template <TInt S>
  1876. class TLitC
  1877. {
  1878. public:
  1879. enum {BufferSize=S-1};
  1880. inline const TDesC* operator&() const;
  1881. inline operator const TDesC&() const;
  1882. inline const TDesC& operator()() const;
  1883. inline operator const __TRefDesC() const;
  1884. public:
  1885. #line 1568
  1886. typedef TUint16 __TText;
  1887. public:
  1888. TUint iTypeLength;
  1889. __TText iBuf[((((S)+(sizeof(TUint)/sizeof(TUint16))-1)/(sizeof(TUint)/sizeof(TUint16)))*(sizeof(TUint)/sizeof(TUint16))) ];
  1890. };
  1891. #line 1595
  1892. const static TLitC<sizeof(L"")/2> KNullDesC={sizeof(L"")/2-1,L""} ;
  1893. #line 1605
  1894. const static TLitC8<sizeof("")> KNullDesC8={sizeof("")-1,""} ;
  1895. #line 1616
  1896. const static TLitC16<sizeof(L"")/2> KNullDesC16={sizeof(L"")/2-1,L""} ;
  1897. #line 1633
  1898. template <class T>
  1899. class TPckgC : public TPtrC8
  1900. {
  1901. public:
  1902. inline TPckgC(const T& aRef);
  1903. inline const T& operator()() const;
  1904. private:
  1905. TPckgC<T>& operator=(const TPckgC<T>& aRef);
  1906. };
  1907. #line 1658
  1908. template <class T>
  1909. class TPckg : public TPtr8
  1910. {
  1911. public:
  1912. inline TPckg(const T& aRef);
  1913. inline T& operator()();
  1914. private:
  1915. TPckg<T>& operator=(const TPckg<T>& aRef);
  1916. };
  1917. #line 1685
  1918. template <class T>
  1919. class TPckgBuf : public TAlignedBuf8<sizeof(T)>
  1920. {
  1921. public:
  1922. inline TPckgBuf();
  1923. inline TPckgBuf(const T& aRef);
  1924. inline TPckgBuf& operator=(const TPckgBuf<T>& aRef);
  1925. inline T& operator=(const T& aRef);
  1926. inline T& operator()();
  1927. inline const T& operator()() const;
  1928. };
  1929. #line 1710
  1930. typedef TBuf<KMaxName> TName;
  1931. typedef TBuf<KMaxKernelName> TKName;
  1932. typedef TBuf<KMaxInfoName> TInfoName;
  1933. #line 1739
  1934. typedef TBuf<KMaxFullName> TFullName;
  1935. #line 1754
  1936. typedef TBuf<KMaxExitCategoryName> TExitCategoryName;
  1937. #line 1768
  1938. typedef TBuf<KMaxFileName> TFileName;
  1939. #line 1782
  1940. typedef TBuf<KMaxPath> TPath;
  1941. typedef TBuf<KMaxDeviceInfo> TDeviceInfo;
  1942. #line 1805
  1943. typedef TBuf<KMaxVersionName> TVersionName;
  1944. typedef TBuf<KMaxPassword> TPassword;
  1945. #line 1825
  1946. typedef TBuf<KMaxUidName> TUidName;
  1947. #line 1847
  1948. class TUid
  1949. {
  1950. public:
  1951. __declspec(dllexport) TBool operator==(const TUid& aUid) const;
  1952. __declspec(dllexport) TBool operator!=(const TUid& aUid) const;
  1953. __declspec(dllexport) TUidName Name() const;
  1954. static inline TUid Uid(TInt aUid);
  1955. static inline TUid Null();
  1956. public:
  1957. TInt32 iUid;
  1958. };
  1959. #line 1877
  1960. class TUidType
  1961. {
  1962. public:
  1963. __declspec(dllexport) TUidType();
  1964. __declspec(dllexport) TUidType(TUid aUid1);
  1965. __declspec(dllexport) TUidType(TUid aUid1,TUid aUid2);
  1966. __declspec(dllexport) TUidType(TUid aUid1,TUid aUid2,TUid aUid3);
  1967. __declspec(dllexport) TBool operator==(const TUidType& aUidType) const;
  1968. __declspec(dllexport) TBool operator!=(const TUidType& aUidType) const;
  1969. __declspec(dllexport) const TUid& operator[](TInt anIndex) const;
  1970. __declspec(dllexport) TUid MostDerived() const;
  1971. __declspec(dllexport) TBool IsPresent(TUid aUid) const;
  1972. __declspec(dllexport) TBool IsValid() const;
  1973. private:
  1974. TUid iUid[KMaxCheckedUid];
  1975. };
  1976. #line 1925
  1977. class TSecureId
  1978. {
  1979. public:
  1980. inline TSecureId();
  1981. inline TSecureId(TUint32 aId);
  1982. inline operator TUint32() const;
  1983. inline TSecureId(TUid aId);
  1984. inline operator TUid() const;
  1985. public:
  1986. TUint32 iId;
  1987. };
  1988. #line 1966
  1989. class TVendorId
  1990. {
  1991. public:
  1992. inline TVendorId();
  1993. inline TVendorId(TUint32 aId);
  1994. inline operator TUint32() const;
  1995. inline TVendorId(TUid aId);
  1996. inline operator TUid() const;
  1997. public:
  1998. TUint32 iId;
  1999. };
  2000. #line 1985
  2001. class SSecureId
  2002. {
  2003. public:
  2004. inline const TSecureId* operator&() const;
  2005. inline operator const TSecureId&() const;
  2006. inline operator TUint32() const;
  2007. inline operator TUid() const;
  2008. public:
  2009. TUint32 iId;
  2010. };
  2011. #line 2004
  2012. class SVendorId
  2013. {
  2014. public:
  2015. inline const TVendorId* operator&() const;
  2016. inline operator const TVendorId&() const;
  2017. inline operator TUint32() const;
  2018. inline operator TUid() const;
  2019. public:
  2020. TUint32 iId;
  2021. };
  2022. #line 2062
  2023. class TVersion
  2024. {
  2025. public:
  2026. __declspec(dllexport) TVersion();
  2027. __declspec(dllexport) TVersion(TInt aMajor,TInt aMinor,TInt aBuild);
  2028. __declspec(dllexport) TVersionName Name() const;
  2029. public:
  2030. TInt8 iMajor;
  2031. TInt8 iMinor;
  2032. TInt16 iBuild;
  2033. };
  2034. #line 2103
  2035. class TRequestStatus
  2036. {
  2037. public:
  2038. inline TRequestStatus();
  2039. inline TRequestStatus(TInt aVal);
  2040. inline TInt operator=(TInt aVal);
  2041. inline TBool operator==(TInt aVal) const;
  2042. inline TBool operator!=(TInt aVal) const;
  2043. inline TBool operator>=(TInt aVal) const;
  2044. inline TBool operator<=(TInt aVal) const;
  2045. inline TBool operator>(TInt aVal) const;
  2046. inline TBool operator<(TInt aVal) const;
  2047. inline TInt Int() const;
  2048. private:
  2049. enum
  2050. {
  2051. EActive = 1,
  2052. ERequestPending = 2,
  2053. };
  2054. TInt iStatus;
  2055. TUint iFlags;
  2056. friend class CActive;
  2057. friend class CActiveScheduler;
  2058. friend class CServer2;
  2059. };
  2060. class TSize;
  2061. #line 2143
  2062. class TPoint
  2063. {
  2064. public:
  2065. enum TUninitialized { EUninitialized };
  2066. TPoint(TUninitialized) {}
  2067. inline TPoint();
  2068. inline TPoint(TInt aX,TInt aY);
  2069. __declspec(dllexport) TBool operator==(const TPoint& aPoint) const;
  2070. __declspec(dllexport) TBool operator!=(const TPoint& aPoint) const;
  2071. __declspec(dllexport) TPoint& operator-=(const TPoint& aPoint);
  2072. __declspec(dllexport) TPoint& operator+=(const TPoint& aPoint);
  2073. __declspec(dllexport) TPoint& operator-=(const TSize& aSize);
  2074. __declspec(dllexport) TPoint& operator+=(const TSize& aSize);
  2075. __declspec(dllexport) TPoint operator-(const TPoint& aPoint) const;
  2076. __declspec(dllexport) TPoint operator+(const TPoint& aPoint) const;
  2077. __declspec(dllexport) TPoint operator-(const TSize& aSize) const;
  2078. __declspec(dllexport) TPoint operator+(const TSize& aSize) const;
  2079. __declspec(dllexport) TPoint operator-() const;
  2080. __declspec(dllexport) void SetXY(TInt aX,TInt aY);
  2081. __declspec(dllexport) TSize AsSize() const;
  2082. public:
  2083. TInt iX;
  2084. TInt iY;
  2085. };
  2086. #line 2187
  2087. class TPoint3D
  2088. {
  2089. public:
  2090. TInt iX;
  2091. TInt iY;
  2092. TInt iZ;
  2093. };
  2094. #line 2212
  2095. class TAngle3D
  2096. {
  2097. public:
  2098. TInt iPhi;
  2099. TInt iTheta;
  2100. };
  2101. #line 2235
  2102. class TSize
  2103. {
  2104. public:
  2105. enum TUninitialized { EUninitialized };
  2106. TSize(TUninitialized) {}
  2107. inline TSize();
  2108. inline TSize(TInt aWidth,TInt aHeight);
  2109. __declspec(dllexport) TBool operator==(const TSize& aSize) const;
  2110. __declspec(dllexport) TBool operator!=(const TSize& aSize) const;
  2111. __declspec(dllexport) TSize& operator-=(const TSize& aSize);
  2112. __declspec(dllexport) TSize& operator-=(const TPoint& aPoint);
  2113. __declspec(dllexport) TSize& operator+=(const TSize& aSize);
  2114. __declspec(dllexport) TSize& operator+=(const TPoint& aPoint);
  2115. __declspec(dllexport) TSize operator-(const TSize& aSize) const;
  2116. __declspec(dllexport) TSize operator-(const TPoint& aPoint) const;
  2117. __declspec(dllexport) TSize operator+(const TSize& aSize) const;
  2118. __declspec(dllexport) TSize operator+(const TPoint& aPoint) const;
  2119. __declspec(dllexport) TSize operator-() const;
  2120. __declspec(dllexport) void SetSize(TInt aWidth,TInt aHeight);
  2121. __declspec(dllexport) TPoint AsPoint() const;
  2122. public:
  2123. TInt iWidth;
  2124. TInt iHeight;
  2125. };
  2126. #line 2287
  2127. class THandleInfo
  2128. {
  2129. public:
  2130. TInt iNumOpenInProcess;
  2131. TInt iNumOpenInThread;
  2132. TInt iNumProcesses;
  2133. TInt iNumThreads;
  2134. };
  2135. class RThread;
  2136. class TFindHandleBase;
  2137. class TFindSemaphore;
  2138. #line 2330
  2139. class RHandleBase
  2140. {
  2141. public:
  2142.     enum
  2143. {
  2144. EReadAccess=0x1,
  2145. EWriteAccess=0x2,
  2146. EDirectReadAccess=0x4,
  2147. EDirectWriteAccess=0x8,
  2148. };
  2149. public:
  2150. inline RHandleBase();
  2151. inline TInt Handle() const;
  2152. inline void SetHandle(TInt aHandle);
  2153. inline TInt SetReturnedHandle(TInt aHandleOrError);
  2154. static void DoExtendedClose();
  2155. __declspec(dllexport) void Close();
  2156. __declspec(dllexport) TName Name() const;
  2157. __declspec(dllexport) TFullName FullName() const;
  2158. __declspec(dllexport) void SetHandleNC(TInt aHandle);
  2159. __declspec(dllexport) TInt Duplicate(const RThread& aSrc,TOwnerType aType=EOwnerProcess);
  2160. __declspec(dllexport) void HandleInfo(THandleInfo* anInfo);
  2161. __declspec(dllexport) TUint Attributes() const;
  2162. protected:
  2163. inline RHandleBase(TInt aHandle);
  2164. __declspec(dllexport) TInt Open(const TFindHandleBase& aHandle,TOwnerType aType);
  2165. static TInt SetReturnedHandle(TInt aHandleOrError,RHandleBase& aHandle);
  2166. TInt OpenByName(const TDesC &aName,TOwnerType aOwnerType,TInt aObjectType);
  2167. private:
  2168. static void DoExtendedCloseL();
  2169. protected:
  2170. TInt iHandle;
  2171. };
  2172. class RMessagePtr2;
  2173. #line 2387
  2174. class RSemaphore : public RHandleBase
  2175. {
  2176. public:
  2177. inline TInt Open(const TFindSemaphore& aFind,TOwnerType aType=EOwnerProcess);
  2178. __declspec(dllexport) TInt CreateLocal(TInt aCount,TOwnerType aType=EOwnerProcess);
  2179. __declspec(dllexport) TInt CreateGlobal(const TDesC& aName,TInt aCount,TOwnerType aType=EOwnerProcess);
  2180. __declspec(dllexport) TInt OpenGlobal(const TDesC& aName,TOwnerType aType=EOwnerProcess);
  2181. __declspec(dllexport) TInt Open(RMessagePtr2 aMessage,TInt aParam,TOwnerType aType=EOwnerProcess);
  2182. __declspec(dllexport) TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
  2183. __declspec(dllexport) void Wait();
  2184. __declspec(dllexport) TInt Wait(TInt aTimeout);
  2185. __declspec(dllexport) void Signal();
  2186. __declspec(dllexport) void Signal(TInt aCount);
  2187. };
  2188. #line 2416
  2189. class RFastLock : public RSemaphore
  2190. {
  2191. public:
  2192. inline RFastLock();
  2193. __declspec(dllexport) TInt CreateLocal(TOwnerType aType=EOwnerProcess);
  2194. __declspec(dllexport) void Wait();
  2195. __declspec(dllexport) void Signal();
  2196. private:
  2197. TInt iCount;
  2198. };
  2199. #line 2440
  2200. class RBusLogicalChannel : public RHandleBase
  2201. {
  2202. public:
  2203. __declspec(dllexport) TInt Open(RMessagePtr2 aMessage,TInt aParam,TOwnerType aType=EOwnerProcess);
  2204. __declspec(dllexport) TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
  2205. protected:
  2206. inline TInt DoCreate(const TDesC& aDevice, const TVersion& aVer, TInt aUnit, const TDesC* aDriver, const TDesC8* anInfo, TOwnerType aType=EOwnerProcess, TBool aProtected=EFalse);
  2207. __declspec(dllexport) void DoCancel(TUint aReqMask);
  2208. __declspec(dllexport) void DoRequest(TInt aReqNo,TRequestStatus& aStatus);
  2209. __declspec(dllexport) void DoRequest(TInt aReqNo,TRequestStatus& aStatus,TAny* a1);
  2210. __declspec(dllexport) void DoRequest(TInt aReqNo,TRequestStatus& aStatus,TAny* a1,TAny* a2);
  2211. __declspec(dllexport) TInt DoControl(TInt aFunction);
  2212. __declspec(dllexport) TInt DoControl(TInt aFunction,TAny* a1);
  2213. __declspec(dllexport) TInt DoControl(TInt aFunction,TAny* a1,TAny* a2);
  2214. inline TInt DoSvControl(TInt aFunction) { return DoControl(aFunction); }
  2215. inline TInt DoSvControl(TInt aFunction,TAny* a1) { return DoControl(aFunction, a1); }
  2216. inline TInt DoSvControl(TInt aFunction,TAny* a1,TAny* a2) { return DoControl(aFunction, a1, a2); }
  2217. private:
  2218. __declspec(dllexport) TInt DoCreate(const TDesC& aDevice, const TVersion& aVer, TInt aUnit, const TDesC* aDriver, const TDesC8* aInfo, TInt aType);
  2219. private:
  2220. TInt iPadding1;
  2221. TInt iPadding2;
  2222. };
  2223. #line 2475
  2224. class MAllocator
  2225. {
  2226. public:
  2227. virtual TAny* Alloc(TInt aSize)=0;
  2228. virtual void Free(TAny* aPtr)=0;
  2229. virtual TAny* ReAlloc(TAny* aPtr, TInt aSize, TInt aMode=0)=0;
  2230. virtual TInt AllocLen(const TAny* aCell) const =0;
  2231. virtual TInt Compress()=0;
  2232. virtual void Reset()=0;
  2233. virtual TInt AllocSize(TInt& aTotalAllocSize) const =0;
  2234. virtual TInt Available(TInt& aBiggestBlock) const =0;
  2235. virtual TInt DebugFunction(TInt aFunc, TAny* a1=0 , TAny* a2=0 )=0;
  2236. virtual TInt Extension_(TUint aExtensionId, TAny*& a0, TAny* a1)=0;
  2237. };
  2238. #line 2499
  2239. class RAllocator : public MAllocator
  2240. {
  2241. public:
  2242. #line 2511
  2243. enum TAllocFail {
  2244.                 ERandom,
  2245.                 ETrueRandom,
  2246.                 EDeterministic,
  2247.                 ENone,
  2248.                 EFailNext,
  2249.                 EReset
  2250.                 };
  2251. enum TDbgHeapType {
  2252.                   EUser,
  2253.                   EKernel
  2254.                   };
  2255. enum TAllocDebugOp {ECount, EMarkStart, EMarkEnd, ECheck, ESetFail, ECopyDebugInfo};
  2256. enum TReAllocMode {
  2257.                   ENeverMove=1,
  2258.                   EAllowMoveOnShrink=2
  2259.                   };
  2260. enum TFlags {ESingleThreaded=1, EFixedSize=2};
  2261. struct SCheckInfo {TBool iAll; TInt iCount; const TDesC8* iFileName; TInt iLineNum;};
  2262. enum {EMaxHandles=32};
  2263. public:
  2264. inline RAllocator();
  2265. __declspec(dllexport) TInt Open();
  2266. __declspec(dllexport) void Close();
  2267. __declspec(dllexport) TAny* AllocZ(TInt aSize);
  2268. __declspec(dllexport) TAny* AllocZL(TInt aSize);
  2269. __declspec(dllexport) TAny* AllocL(TInt aSize);
  2270. __declspec(dllexport) TAny* AllocLC(TInt aSize);
  2271. __declspec(dllexport) void FreeZ(TAny*& aCell);
  2272. __declspec(dllexport) TAny* ReAllocL(TAny* aCell, TInt aSize, TInt aMode=0);
  2273. __declspec(dllexport) TInt Count() const;
  2274. __declspec(dllexport) TInt Count(TInt& aFreeCount) const;
  2275. __declspec(dllexport) void Check() const;
  2276. __declspec(dllexport) void __DbgMarkStart();
  2277. __declspec(dllexport) TUint32 __DbgMarkEnd(TInt aCount);
  2278. __declspec(dllexport) TInt __DbgMarkCheck(TBool aCountAll, TInt aCount, const TDesC8& aFileName, TInt aLineNum);
  2279. inline void __DbgMarkCheck(TBool aCountAll, TInt aCount, const TUint8* aFileName, TInt aLineNum);
  2280. __declspec(dllexport) void __DbgSetAllocFail(TAllocFail aType, TInt aValue);
  2281. protected:
  2282. __declspec(dllexport) virtual TInt Extension_(TUint aExtensionId, TAny*& a0, TAny* a1);
  2283. __declspec(dllexport) virtual void DoClose();
  2284. protected:
  2285. TInt iAccessCount;
  2286. TInt iHandleCount;
  2287. TInt* iHandles;
  2288. TUint32 iFlags;
  2289. TInt iCellCount;
  2290. TInt iTotalAllocSize;
  2291. };
  2292. class UserHeap;
  2293. #line 2650
  2294. class RHeap : public RAllocator
  2295. {
  2296. public:
  2297. struct SCell {
  2298.              TInt len;
  2299.              SCell* next;
  2300.              };
  2301. struct SDebugCell {
  2302.                   TInt len;
  2303.                   TInt nestingLevel;
  2304.                   TInt allocCount;
  2305.                   };
  2306. struct _s_align {char c; double d;};
  2307. struct SHeapCellInfo { RHeap* iHeap; TInt iTotalAlloc; TInt iTotalAllocSize; TInt iTotalFree; TInt iLevelAlloc; SDebugCell* iStranded; };
  2308. enum {ECellAlignment = sizeof(_s_align)-sizeof(double)};
  2309. enum {EFreeCellSize = sizeof(SCell)};
  2310. enum {EAllocCellSize = sizeof(SDebugCell)};
  2311. #line 2734
  2312. enum TDebugOp {EWalk=128};
  2313. enum TCellType
  2314. {EGoodAllocatedCell, EGoodFreeCell, EBadAllocatedCellSize, EBadAllocatedCellAddress,
  2315. EBadFreeCellAddress, EBadFreeCellSize};
  2316. enum TDebugHeapId {EUser=0, EKernel=1};
  2317.     typedef void (*TWalkFunc)(TAny*, TCellType, TAny*, TInt);
  2318. public:
  2319. __declspec(dllexport) virtual TAny* Alloc(TInt aSize);
  2320. __declspec(dllexport) virtual void Free(TAny* aPtr);
  2321. __declspec(dllexport) virtual TAny* ReAlloc(TAny* aPtr, TInt aSize, TInt aMode=0);
  2322. __declspec(dllexport) virtual TInt AllocLen(const TAny* aCell) const;
  2323. __declspec(dllexport) virtual TInt Compress();
  2324. __declspec(dllexport) virtual void Reset();
  2325. __declspec(dllexport) virtual TInt AllocSize(TInt& aTotalAllocSize) const;
  2326. __declspec(dllexport) virtual TInt Available(TInt& aBiggestBlock) const;
  2327. __declspec(dllexport) virtual TInt DebugFunction(TInt aFunc, TAny* a1=0 , TAny* a2=0 );
  2328. protected:
  2329. __declspec(dllexport) virtual TInt Extension_(TUint aExtensionId, TAny*& a0, TAny* a1);
  2330. public:
  2331. __declspec(dllexport) RHeap(TInt aMaxLength, TInt aAlign=0, TBool aSingleThread=ETrue);
  2332. __declspec(dllexport) RHeap(TInt aChunkHandle, TInt aOffset, TInt aMinLength, TInt aMaxLength, TInt aGrowBy, TInt aAlign=0, TBool aSingleThread=EFalse);
  2333. __declspec(dllexport) TAny* operator new(TUint aSize, TAny* aBase) throw() ;
  2334. inline void operator delete(TAny* aPtr, TAny* aBase);
  2335. inline TUint8* Base() const;
  2336. inline TInt Size() const;
  2337. inline TInt MaxLength() const;
  2338. inline TInt Align(TInt a) const;
  2339. inline const TAny* Align(const TAny* a) const;
  2340. inline TBool IsLastCell(const SCell* aCell) const;
  2341. inline void Lock() const;
  2342. inline void Unlock() const;
  2343. protected:
  2344. inline RHeap();
  2345. void Initialise();
  2346. SCell* DoAlloc(TInt aSize, SCell*& aLastFree);
  2347. void DoFree(SCell* pC);
  2348. TInt TryToGrowHeap(TInt aSize, SCell* aLastFree);
  2349. inline void FindFollowingFreeCell(SCell* aCell, SCell*& pPrev, SCell*& aNext);
  2350. TInt TryToGrowCell(SCell* pC, SCell* pP, SCell* pE, TInt aSize);
  2351. TInt Reduce(SCell* aCell);
  2352. __declspec(dllexport) SCell* GetAddress(const TAny* aCell) const;
  2353. void CheckCell(const SCell* aCell) const;
  2354. void Walk(TWalkFunc aFunc, TAny* aPtr);
  2355. static void WalkCheckCell(TAny* aPtr, TCellType aType, TAny* aCell, TInt aLen);
  2356. TInt DoCountAllocFree(TInt& aFree);
  2357. TInt DoCheckHeap(SCheckInfo* aInfo);
  2358. void DoMarkStart();
  2359. TUint32 DoMarkEnd(TInt aExpected);
  2360. void DoSetAllocFail(TAllocFail aType, TInt aRate);
  2361. TBool CheckForSimulatedAllocFail();
  2362. inline TInt SetBrk(TInt aBrk);
  2363. protected:
  2364. TInt iMinLength;
  2365. TInt iMaxLength;
  2366. TInt iOffset;
  2367. TInt iGrowBy;
  2368. TInt iChunkHandle;
  2369. RFastLock iLock;
  2370. TUint8* iBase;
  2371. TUint8* iTop;
  2372. TInt iAlign;
  2373. TInt iMinCell;
  2374. TInt iPageSize;
  2375. SCell iFree;
  2376. protected:
  2377. TInt iNestingLevel;
  2378. TInt iAllocCount;
  2379. TAllocFail iFailType;
  2380. TInt iFailRate;
  2381. TBool iFailed;
  2382. TInt iFailAllocCount;
  2383. TInt iRand;
  2384. TAny* iTestData;
  2385. friend class UserHeap;
  2386. };
  2387. class OnlyCreateWithNull;
  2388. typedef void (OnlyCreateWithNull::* __NullPMF)();
  2389. class OnlyCreateWithNull
  2390. {
  2391. public:
  2392. inline OnlyCreateWithNull(__NullPMF ) {}
  2393. };
  2394. #line 2857
  2395. class RMessagePtr2
  2396. {
  2397. public:
  2398. inline RMessagePtr2();
  2399. inline TBool IsNull() const;
  2400. inline TInt Handle() const;
  2401. __declspec(dllexport) void Complete(TInt aReason) const;
  2402. __declspec(dllexport) void Complete(RHandleBase aHandle) const;
  2403. __declspec(dllexport) TInt GetDesLength(TInt aParam) const;
  2404. __declspec(dllexport) TInt GetDesLengthL(TInt aParam) const;
  2405. __declspec(dllexport) TInt GetDesMaxLength(TInt aParam) const;
  2406. __declspec(dllexport) TInt GetDesMaxLengthL(TInt aParam) const;
  2407. __declspec(dllexport) void ReadL(TInt aParam,TDes8& aDes,TInt aOffset=0) const;
  2408. __declspec(dllexport) void ReadL(TInt aParam,TDes16 &aDes,TInt aOffset=0) const;
  2409. __declspec(dllexport) void WriteL(TInt aParam,const TDesC8& aDes,TInt aOffset=0) const;
  2410. __declspec(dllexport) void WriteL(TInt aParam,const TDesC16& aDes,TInt aOffset=0) const;
  2411. __declspec(dllexport) TInt Read(TInt aParam,TDes8& aDes,TInt aOffset=0) const;
  2412. __declspec(dllexport) TInt Read(TInt aParam,TDes16 &aDes,TInt aOffset=0) const;
  2413. __declspec(dllexport) TInt Write(TInt aParam,const TDesC8& aDes,TInt aOffset=0) const;
  2414. __declspec(dllexport) TInt Write(TInt aParam,const TDesC16& aDes,TInt aOffset=0) const;
  2415. __declspec(dllexport) void Panic(const TDesC& aCategory,TInt aReason) const;
  2416. __declspec(dllexport) void Kill(TInt aReason) const;
  2417. __declspec(dllexport) void Terminate(TInt aReason) const;
  2418. __declspec(dllexport) TInt SetProcessPriority(TProcessPriority aPriority) const;
  2419. inline   void SetProcessPriorityL(TProcessPriority aPriority) const;
  2420. __declspec(dllexport) TInt Client(RThread& aClient, TOwnerType aOwnerType=EOwnerProcess) const;
  2421. inline   void ClientL(RThread& aClient, TOwnerType aOwnerType=EOwnerProcess) const;
  2422. __declspec(dllexport) TUint ClientProcessFlags() const;
  2423. __declspec(dllexport) const TRequestStatus* ClientStatus() const;
  2424. #line 2921
  2425. __declspec(dllexport) TSecureId SecureId() const;
  2426. #line 2955
  2427. __declspec(dllexport) TVendorId VendorId() const;
  2428. #line 2975
  2429. inline TBool HasCapability(TCapability aCapability, const char* aDiagnostic=0) const;
  2430. #line 3003
  2431.   inline void HasCapabilityL(TCapability aCapability, const char* aDiagnosticMessage=0) const;
  2432. #line 3032
  2433. inline TBool HasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic=0) const;
  2434. #line 3061
  2435. inline void HasCapabilityL(TCapability aCapability1, TCapability aCapability2, const char* aDiagnosticMessage=0) const;
  2436. #line 3074
  2437. inline TUid Identity() const { return SecureId(); }
  2438. private:
  2439. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability, const char* aDiagnostic) const;
  2440. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability) const;
  2441. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability, TCapability aCapability2, const char* aDiagnostic) const;
  2442. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability, TCapability aCapability2) const;
  2443. protected:
  2444. TInt iHandle;
  2445. };
  2446. inline TBool operator==(RMessagePtr2 aLeft,RMessagePtr2 aRight);
  2447. inline TBool operator!=(RMessagePtr2 aLeft,RMessagePtr2 aRight);
  2448. class CSession2;
  2449. #line 3100
  2450. class RMessage2 : public RMessagePtr2
  2451. {
  2452. friend class CServer2;
  2453. public:
  2454. enum TSessionMessages {
  2455.                       EConnect=-1,
  2456.                       EDisConnect=-2
  2457.                       };
  2458. public:
  2459. inline RMessage2();
  2460. __declspec(dllexport) explicit RMessage2(const RMessagePtr2& aPtr);
  2461. void SetAuthorised() const;
  2462. void ClearAuthorised() const;
  2463. TBool Authorised() const;
  2464. inline TInt Function() const;
  2465. inline TInt Int0() const;
  2466. inline TInt Int1() const;
  2467. inline TInt Int2() const;
  2468. inline TInt Int3() const;
  2469. inline const TAny* Ptr0() const;
  2470. inline const TAny* Ptr1() const;
  2471. inline const TAny* Ptr2() const;
  2472. inline const TAny* Ptr3() const;
  2473. inline CSession2* Session() const;
  2474. protected:
  2475. TInt iFunction;
  2476. TInt iArgs[KMaxMessageArguments];
  2477. private:
  2478. TInt iSpare1;
  2479. protected:
  2480. const TAny* iSessionPtr;
  2481. private:
  2482. mutable TInt iFlags;
  2483. TInt iSpare3;
  2484. friend class RMessage;
  2485. };
  2486. #line 3176
  2487. typedef TBuf8<KMaxMediaPassword> TMediaPassword;
  2488. const TUint32 KEmulatorImageFlagAllowDllData = 0x01;
  2489. const TInt KCapabilitySetMaxSize = (((TInt)ECapability_HardLimit + 7)>>3);
  2490. const TInt KMaxSecurityPolicySize = KCapabilitySetMaxSize + 3*sizeof(TUint32);
  2491. #line 3207
  2492. class TCapabilitySet
  2493. {
  2494. public:
  2495. inline TCapabilitySet();
  2496. inline TCapabilitySet(TCapability aCapability);
  2497. __declspec(dllexport) TCapabilitySet(TCapability aCapability1, TCapability aCapability2);
  2498. __declspec(dllexport) void SetEmpty();
  2499. inline void Set(TCapability aCapability);
  2500. inline void Set(TCapability aCapability1, TCapability aCapability2);
  2501. __declspec(dllexport) void SetAllSupported();
  2502. __declspec(dllexport) void AddCapability(TCapability aCapability);
  2503. __declspec(dllexport) void RemoveCapability(TCapability aCapability);
  2504. __declspec(dllexport) void Union(const TCapabilitySet&  aCapabilities);
  2505. __declspec(dllexport) void Intersection(const TCapabilitySet& aCapabilities);
  2506. __declspec(dllexport) void Remove(const TCapabilitySet& aCapabilities);
  2507. __declspec(dllexport) TBool HasCapability(TCapability aCapability) const;
  2508. __declspec(dllexport) TBool HasCapabilities(const TCapabilitySet& aCapabilities) const;
  2509. __declspec(dllexport) void SetDisabled();
  2510. TBool NotEmpty() const;
  2511. private:
  2512. TUint32 iCaps[KCapabilitySetMaxSize / sizeof(TUint32)];
  2513. };
  2514. struct SCapabilitySet
  2515. {
  2516. enum {ENCapW=2};
  2517. inline void AddCapability(TCapability aCap1) {((TCapabilitySet*)this)->AddCapability(aCap1);}
  2518. inline void Remove(const SCapabilitySet& aCaps) {((TCapabilitySet*)this)->Remove(*((TCapabilitySet*)&aCaps));}
  2519. inline TBool NotEmpty() const {return ((TCapabilitySet*)this)->NotEmpty();}
  2520. inline const TUint32& operator[] (TInt aIndex) const { return iCaps[aIndex]; }
  2521. inline TUint32& operator[] (TInt aIndex) { return iCaps[aIndex]; }
  2522. TUint32 iCaps[ENCapW];
  2523. };
  2524. struct SSecurityInfo
  2525. {
  2526. TUint32 iSecureId;
  2527. TUint32 iVendorId;
  2528. SCapabilitySet iCaps;
  2529. };
  2530. #line 3299
  2531. class RProcess;
  2532. class RThread;
  2533. class RMessagePtr2;
  2534. class RSessionBase;
  2535. #line 3314
  2536. class TSecurityInfo
  2537. {
  2538. public:
  2539. inline TSecurityInfo();
  2540. __declspec(dllexport) TSecurityInfo(RProcess aProcess);
  2541. __declspec(dllexport) TSecurityInfo(RThread aThread);
  2542. __declspec(dllexport) TSecurityInfo(RMessagePtr2 aMesPtr);
  2543. inline void Set(RProcess aProcess);
  2544. inline void Set(RThread aThread);
  2545. inline void Set(RMessagePtr2 aMsgPtr);
  2546. TInt Set(RSessionBase aSession);
  2547. inline void SetToCurrentInfo();
  2548. __declspec(dllexport) void SetToCreatorInfo();
  2549. public:
  2550. TSecureId iSecureId;
  2551. TVendorId iVendorId;
  2552. TCapabilitySet iCaps;
  2553. };
  2554. #line 3403
  2555. class TSecurityPolicy
  2556. {
  2557. public:
  2558. enum TSecPolicyType
  2559. {
  2560. EAlwaysFail=0,
  2561. EAlwaysPass=1,
  2562. };
  2563. public:
  2564. inline TSecurityPolicy();
  2565. __declspec(dllexport) TSecurityPolicy(TSecPolicyType aType);
  2566. __declspec(dllexport) TSecurityPolicy(TCapability aCap1, TCapability aCap2 = ECapability_None, TCapability aCap3 = ECapability_None);
  2567. __declspec(dllexport) TSecurityPolicy(TCapability aCap1, TCapability aCap2, TCapability aCap3, TCapability aCap4, TCapability aCap5 = ECapability_None, TCapability aCap6 = ECapability_None, TCapability aCap7 = ECapability_None);
  2568. __declspec(dllexport) TSecurityPolicy(TSecureId aSecureId, TCapability aCap1 = ECapability_None, TCapability aCap2 = ECapability_None, TCapability aCap3 = ECapability_None);
  2569. __declspec(dllexport) TSecurityPolicy(TVendorId aVendorId, TCapability aCap1 = ECapability_None, TCapability aCap2 = ECapability_None, TCapability aCap3 = ECapability_None);
  2570. __declspec(dllexport) TInt Set(const TDesC8& aDes);
  2571. __declspec(dllexport) TPtrC8 Package() const;
  2572. #line 3436
  2573. inline TBool CheckPolicy(RProcess aProcess, const char* aDiagnostic=0) const;
  2574. inline TBool CheckPolicy(RThread aThread, const char* aDiagnostic=0) const;
  2575. inline TBool CheckPolicy(RMessagePtr2 aMsgPtr, const char* aDiagnostic=0) const;
  2576. inline TBool CheckPolicy(RMessagePtr2 aMsgPtr, TSecurityInfo& aMissing, const char* aDiagnostic=0) const;
  2577. inline TBool CheckPolicyCreator(const char* aDiagnostic=0) const;
  2578. #line 3457
  2579. TInt CheckPolicy(RSessionBase aSession) const;
  2580. TBool Validate() const;
  2581. private:
  2582. __declspec(dllexport) TBool DoCheckPolicy(RProcess aProcess, const char* aDiagnostic) const;
  2583. __declspec(dllexport) TBool DoCheckPolicy(RProcess aProcess) const;
  2584. __declspec(dllexport) TBool DoCheckPolicy(RThread aThread, const char* aDiagnostic) const;
  2585. __declspec(dllexport) TBool DoCheckPolicy(RThread aThread) const;
  2586. __declspec(dllexport) TBool DoCheckPolicy(RMessagePtr2 aMsgPtr, const char* aDiagnostic) const;
  2587. __declspec(dllexport) TBool DoCheckPolicy(RMessagePtr2 aMsgPtr) const;
  2588. __declspec(dllexport) TBool DoCheckPolicyCreator(const char* aDiagnostic) const;
  2589. __declspec(dllexport) TBool DoCheckPolicyCreator() const;
  2590. TBool DoCheckPolicy(RMessagePtr2 aMsgPtr, TSecurityInfo& aMissing, const char* aDiagnostic) const;
  2591. TBool DoCheckPolicy(RMessagePtr2 aMsgPtr, TSecurityInfo& aMissing) const;
  2592. public:
  2593. enum TType
  2594. {
  2595. ETypeFail=0,
  2596. ETypePass=1,
  2597. ETypeC3=2,
  2598. ETypeC7=3,
  2599. ETypeS3=4,
  2600. ETypeV3=5,
  2601. ETypeLimit
  2602. };
  2603. protected:
  2604. TBool CheckPolicy(const SSecurityInfo& aSecInfo, SSecurityInfo& aMissing) const;
  2605. private:
  2606. void ConstructAndCheck3(TCapability aCap1, TCapability aCap2, TCapability aCap3);
  2607. private:
  2608. TUint8 iType;
  2609. TUint8 iCaps[3];
  2610. union
  2611. {
  2612. TUint32 iSecureId;
  2613. TUint32 iVendorId;
  2614. TUint8 iExtraCaps[4];
  2615. };
  2616. friend class TCompiledSecurityPolicy;
  2617. };
  2618. typedef TPckgBuf<TSecurityPolicy> TSecurityPolicyBuf;
  2619. #line 3589
  2620. struct TStaticSecurityPolicy
  2621. {
  2622. inline const TSecurityPolicy* operator&() const;
  2623. inline operator const TSecurityPolicy&() const;
  2624. inline const TSecurityPolicy& operator()() const;
  2625. inline TBool CheckPolicy(RProcess aProcess, const char* aDiagnostic=0) const;
  2626. inline TBool CheckPolicy(RThread aThread, const char* aDiagnostic=0) const;
  2627. inline TBool CheckPolicy(RMessagePtr2 aMsgPtr, const char* aDiagnostic=0) const;
  2628. inline TBool CheckPolicy(RMessagePtr2 aMsgPtr, TSecurityInfo& aMissing, const char* aDiagnostic=0) const;
  2629. inline TBool CheckPolicyCreator(const char* aDiagnostic=0) const;
  2630. #line 3620
  2631. TUint32 iA;
  2632. TUint32 iB;
  2633. };
  2634. enum __invalid_capability_value {};
  2635. #line 4482
  2636. class TPlatSecDiagnostic;
  2637. class PlatSec
  2638. {
  2639. public:
  2640. #line 4509
  2641. __declspec(dllexport) static TBool IsCapabilityEnforced(TCapability aCapability);
  2642. enum TConfigSetting
  2643. {
  2644. EPlatSecEnforcement,
  2645. EPlatSecDiagnotics,
  2646. EPlatSecProcessIsolation,
  2647. EPlatSecEnforceSysBin,
  2648. };
  2649. #line 4535
  2650. __declspec(dllexport) static TInt ConfigSetting(TConfigSetting aSetting);
  2651. #line 4544
  2652. public:
  2653. static inline TInt LoaderCapabilityViolation(const TDesC8& aImporterName, const TDesC8& aFileName, const SCapabilitySet& aMissingCaps);
  2654. #line 4564
  2655. static inline TInt LoaderCapabilityViolation(RProcess aLoadingProcess, const TDesC8& aFileName, const SCapabilitySet& aMissingCaps);
  2656. static inline TInt CreatorCapabilityCheckFail(TCapability aCapability, const char* aContextText);
  2657. static inline TInt CreatorCapabilityCheckFail(const TCapabilitySet& aMissingCaps, const char* aContextText);
  2658. static inline TInt CapabilityCheckFail(TInt aHandle, TCapability aCapability, const char* aContextText);
  2659. static inline TInt CapabilityCheckFail(TInt aHandle, const TCapabilitySet& aMissingCaps, const char* aContextText);
  2660. static inline TInt PolicyCheckFail(TInt aHandle, const SSecurityInfo& aMissing, const char* aContextText);
  2661. static inline TInt CapabilityCheckFail(RMessagePtr2 aMessage, TCapability aCapability, const char* aContextText);
  2662. static inline TInt CapabilityCheckFail(RMessagePtr2 aMessage, const TCapabilitySet& aMissingCaps, const char* aContextText);
  2663. static inline TInt PolicyCheckFail(RMessagePtr2 aMessage, const SSecurityInfo& aMissingCaps, const char* aContextText);
  2664. static inline TInt PolicyCheckFail(RSessionBase aSession, const SSecurityInfo& aMissingCaps, const char* aContextText);
  2665. static inline TInt CreatorPolicyCheckFail(const SSecurityInfo& aMissingCaps, const char* aContextText);
  2666. static inline TInt CreatorCapabilityCheckFail(TCapability aCapability);
  2667. static inline TInt CreatorCapabilityCheckFail(const TCapabilitySet& aMissingCaps);
  2668. static inline TInt CapabilityCheckFail(TInt aHandle, TCapability aCapability);
  2669. static inline TInt CapabilityCheckFail(TInt aHandle, const TCapabilitySet& aMissingCaps);
  2670. static inline TInt PolicyCheckFail(TInt aHandle, const SSecurityInfo& aMissing);
  2671. static inline TInt CapabilityCheckFail(RMessagePtr2 aMessage, TCapability aCapability);
  2672. static inline TInt CapabilityCheckFail(RMessagePtr2 aMessage, const TCapabilitySet& aMissingCaps);
  2673. static inline TInt PolicyCheckFail(RMessagePtr2 aMessage, const SSecurityInfo& aMissingCaps);
  2674. static inline TInt CreatorPolicyCheckFail(const SSecurityInfo& aMissingCaps);
  2675. private:
  2676. __declspec(dllexport) static TInt EmitDiagnostic(TPlatSecDiagnostic& aDiagnostic, const char* aContextText);
  2677. #line 4616
  2678. public:
  2679. __declspec(dllexport) static TInt EmitDiagnostic();
  2680. };
  2681. struct TEmulatorImageHeader
  2682. {
  2683. TUid iUids[KMaxCheckedUid];
  2684. TProcessPriority iPriority;
  2685. SSecurityInfo iS;
  2686. TUint32 iSpare1;
  2687. TUint32 iSpare2;
  2688. TUint32 iModuleVersion;
  2689. TUint32 iFlags;
  2690. };
  2691. #line 4648
  2692. class TProcessMemoryInfo
  2693. {
  2694. public:
  2695. TUint32 iCodeBase;
  2696. TUint32 iCodeSize;
  2697. TUint32 iConstDataBase;
  2698. TUint32 iConstDataSize;
  2699. TUint32 iInitialisedDataBase;
  2700. TUint32 iInitialisedDataSize;
  2701. TUint32 iUninitialisedDataBase;
  2702. TUint32 iUninitialisedDataSize;
  2703. };
  2704. #line 4709
  2705. typedef TProcessMemoryInfo TModuleMemoryInfo;
  2706. class CBase;
  2707. #line 4768
  2708. template <class T>
  2709. class TArray
  2710. {
  2711. public:
  2712. inline TArray(TInt (*aCount)(const CBase* aPtr),const TAny*(*anAt)(const CBase* aPtr,TInt anIndex),const CBase* aPtr);
  2713. inline TInt Count() const;
  2714. inline const T& operator[](TInt anIndex) const;
  2715. private:
  2716. const CBase* iPtr;
  2717. TInt (*iCount)(const CBase* aPtr);
  2718. const TAny*(*iAt)(const CBase* aPtr,TInt anIndex);
  2719. };
  2720. #line 4796
  2721. typedef TBool (*TGeneralIdentityRelation)(const TAny*, const TAny*);
  2722. #line 4812
  2723. typedef TInt (*TGeneralLinearOrder)(const TAny*, const TAny*);
  2724. #line 4832
  2725. template <class T>
  2726. class TIdentityRelation
  2727. {
  2728. public:
  2729. inline TIdentityRelation( TBool (*anIdentity)(const T&, const T&) );
  2730. inline operator TGeneralIdentityRelation() const;
  2731. private:
  2732. TGeneralIdentityRelation iIdentity;
  2733. };
  2734. #line 4857
  2735. class DefaultIdentity
  2736. {
  2737. public:
  2738. __declspec(dllexport) static TBool Integer(const TInt&, const TInt&);
  2739. __declspec(dllexport) static TBool Des8(const TDesC8&, const TDesC8&);
  2740. __declspec(dllexport) static TBool Des16(const TDesC16&, const TDesC16&);
  2741. };
  2742. #line 4883
  2743. template <class T>
  2744. class TLinearOrder
  2745. {
  2746. public:
  2747. inline TLinearOrder( TInt(*anOrder)(const T&, const T&) );
  2748. inline operator TGeneralLinearOrder() const;
  2749. private:
  2750. TGeneralLinearOrder iOrder;
  2751. };
  2752. #line 4913
  2753. enum TArrayFindMode
  2754. {
  2755. #line 4923
  2756. EArrayFindMode_Any = 0,
  2757. EArrayFindMode_First = 1,
  2758. EArrayFindMode_Last = 2,
  2759. EArrayFindMode_Limit = 3
  2760. };
  2761. #line 4954
  2762. class RPointerArrayBase
  2763. {
  2764. protected:
  2765. __declspec(dllexport) RPointerArrayBase();
  2766. __declspec(dllexport) RPointerArrayBase(TInt aGranularity);
  2767. __declspec(dllexport) RPointerArrayBase(TInt aMinGrowBy, TInt aFactor);
  2768. __declspec(dllexport) void Close();
  2769. __declspec(dllexport) TInt Count() const;
  2770. inline void ZeroCount() {iCount=0;}
  2771. inline TAny** Entries() {return iEntries;}
  2772. __declspec(dllexport) TAny*& At(TInt anIndex) const;
  2773. __declspec(dllexport) TInt Append(const TAny* anEntry);
  2774. __declspec(dllexport) TInt Insert(const TAny* anEntry, TInt aPos);
  2775. __declspec(dllexport) void Remove(TInt anIndex);
  2776. __declspec(dllexport) void Compress();
  2777. __declspec(dllexport) void Reset();
  2778. __declspec(dllexport) TInt Find(const TAny* anEntry) const;
  2779. __declspec(dllexport) TInt Find(const TAny* anEntry, TGeneralIdentityRelation anIdentity) const;
  2780. __declspec(dllexport) TInt FindIsqSigned(TInt anEntry) const;
  2781. __declspec(dllexport) TInt FindIsqUnsigned(TUint anEntry) const;
  2782. __declspec(dllexport) TInt FindIsq(const TAny* anEntry, TGeneralLinearOrder anOrder) const;
  2783. __declspec(dllexport) TInt FindIsqSigned(TInt anEntry, TInt aMode) const;
  2784. __declspec(dllexport) TInt FindIsqUnsigned(TUint anEntry, TInt aMode) const;
  2785. __declspec(dllexport) TInt FindIsq(const TAny* anEntry, TGeneralLinearOrder anOrder, TInt aMode) const;
  2786. __declspec(dllexport) TInt InsertIsqSigned(TInt anEntry, TBool aAllowRepeats);
  2787. __declspec(dllexport) TInt InsertIsqUnsigned(TUint anEntry, TBool aAllowRepeats);
  2788. __declspec(dllexport) TInt InsertIsq(const TAny* anEntry, TGeneralLinearOrder anOrder, TBool aAllowRepeats);
  2789. __declspec(dllexport) TInt BinarySearchSigned(TInt anEntry, TInt& anIndex) const;
  2790. __declspec(dllexport) TInt BinarySearchUnsigned(TUint anEntry, TInt& anIndex) const;
  2791. __declspec(dllexport) TInt BinarySearch(const TAny* anEntry, TInt& anIndex, TGeneralLinearOrder anOrder) const;
  2792. __declspec(dllexport) TInt BinarySearchSigned(TInt anEntry, TInt& anIndex, TInt aMode) const;
  2793. __declspec(dllexport) TInt BinarySearchUnsigned(TUint anEntry, TInt& anIndex, TInt aMode) const;
  2794. __declspec(dllexport) TInt BinarySearch(const TAny* anEntry, TInt& anIndex, TGeneralLinearOrder anOrder, TInt aMode) const;
  2795. __declspec(dllexport) RPointerArrayBase(TAny** aEntries, TInt aCount);
  2796. __declspec(dllexport) void GranularCompress();
  2797. __declspec(dllexport) TInt DoReserve(TInt aCount);
  2798. __declspec(dllexport) void HeapSortSigned();
  2799. __declspec(dllexport) void HeapSortUnsigned();
  2800. __declspec(dllexport) void HeapSort(TGeneralLinearOrder anOrder);
  2801. __declspec(dllexport) static TInt GetCount(const CBase* aPtr);
  2802. __declspec(dllexport) static const TAny* GetElementPtr(const CBase* aPtr, TInt aIndex);
  2803. private:
  2804. TInt Grow();
  2805. private:
  2806. TInt iCount;
  2807. TAny** iEntries;
  2808. TInt iAllocated;
  2809. TInt iGranularity;
  2810. TInt iSpare1;
  2811. TInt iSpare2;
  2812. };
  2813. #line 5024
  2814. template <class T>
  2815. class RPointerArray : private RPointerArrayBase
  2816. {
  2817. public:
  2818. inline RPointerArray();
  2819. inline explicit RPointerArray(TInt aGranularity);
  2820. inline RPointerArray(TInt aMinGrowBy, TInt aFactor);
  2821. inline void Close();
  2822. inline TInt Count() const;
  2823. inline T* const& operator[](TInt anIndex) const;
  2824. inline T*& operator[](TInt anIndex);
  2825. inline TInt Append(const T* anEntry);
  2826. inline TInt Insert(const T* anEntry, TInt aPos);
  2827. inline void Remove(TInt anIndex);
  2828. inline void Compress();
  2829. inline void Reset();
  2830. void ResetAndDestroy();
  2831. inline TInt Find(const T* anEntry) const;
  2832. inline TInt Find(const T* anEntry, TIdentityRelation<T> anIdentity) const;
  2833. inline TInt FindInAddressOrder(const T* anEntry) const;
  2834. inline TInt FindInOrder(const T* anEntry, TLinearOrder<T> anOrder) const;
  2835. inline TInt FindInAddressOrder(const T* anEntry, TInt& anIndex) const;
  2836. inline TInt FindInOrder(const T* anEntry, TInt& anIndex, TLinearOrder<T> anOrder) const;
  2837. template <class K>
  2838. inline TInt FindInOrder(const K& aKey, TInt (*apfnCompare)(const K* k, const T& t)) const
  2839. { return RPointerArrayBase::FindIsq((T*)&aKey,*(TLinearOrder<T> *)&apfnCompare); }
  2840. inline TInt SpecificFindInAddressOrder(const T* anEntry, TInt aMode) const;
  2841. inline TInt SpecificFindInOrder(const T* anEntry, TLinearOrder<T> anOrder, TInt aMode) const;
  2842. inline TInt SpecificFindInAddressOrder(const T* anEntry, TInt& anIndex, TInt aMode) const;
  2843. inline TInt SpecificFindInOrder(const T* anEntry, TInt& anIndex, TLinearOrder<T> anOrder, TInt aMode) const;
  2844. inline TInt InsertInAddressOrder(const T* anEntry);
  2845. inline TInt InsertInOrder(const T* anEntry, TLinearOrder<T> anOrder);
  2846. inline TInt InsertInAddressOrderAllowRepeats(const T* anEntry);
  2847. inline TInt InsertInOrderAllowRepeats(const T* anEntry, TLinearOrder<T> anOrder);
  2848. inline void AppendL(const T* anEntry);
  2849. inline void InsertL(const T* anEntry, TInt aPos);
  2850. inline TInt FindL(const T* anEntry) const;
  2851. inline TInt FindL(const T* anEntry, TIdentityRelation<T> anIdentity) const;
  2852. inline TInt FindInAddressOrderL(const T* anEntry) const;
  2853. inline TInt FindInOrderL(const T* anEntry, TLinearOrder<T> anOrder) const;
  2854. inline void FindInAddressOrderL(const T* anEntry, TInt& anIndex) const;
  2855. inline void FindInOrderL(const T* anEntry, TInt& anIndex, TLinearOrder<T> anOrder) const;
  2856. inline TInt SpecificFindInAddressOrderL(const T* anEntry, TInt aMode) const;
  2857. inline TInt SpecificFindInOrderL(const T* anEntry, TLinearOrder<T> anOrder, TInt aMode) const;
  2858. inline void SpecificFindInAddressOrderL(const T* anEntry, TInt& anIndex, TInt aMode) const;
  2859. inline void SpecificFindInOrderL(const T* anEntry, TInt& anIndex, TLinearOrder<T> anOrder, TInt aMode) const;
  2860. inline void InsertInAddressOrderL(const T* anEntry);
  2861. inline void InsertInOrderL(const T* anEntry, TLinearOrder<T> anOrder);
  2862. inline void InsertInAddressOrderAllowRepeatsL(const T* anEntry);
  2863. inline void InsertInOrderAllowRepeatsL(const T* anEntry, TLinearOrder<T> anOrder);
  2864. inline RPointerArray(T** aEntries, TInt aCount);
  2865. inline void GranularCompress();
  2866. inline TInt Reserve(TInt aCount);
  2867. inline void ReserveL(TInt aCount);
  2868. inline void SortIntoAddressOrder();
  2869. inline void Sort(TLinearOrder<T> anOrder);
  2870. inline TArray<T*> Array() const;
  2871. };
  2872. #line 5099
  2873. template<> class RPointerArray<TAny> : private RPointerArrayBase
  2874. {
  2875. public:
  2876. inline RPointerArray();
  2877. inline explicit RPointerArray(TInt aGranularity);
  2878. inline RPointerArray(TInt aMinGrowBy, TInt aFactor);
  2879. inline void Close();
  2880. inline TInt Count() const;
  2881. inline TAny* const& operator[](TInt anIndex) const;
  2882. inline TAny*& operator[](TInt anIndex);
  2883. inline TInt Append(const TAny* anEntry);
  2884. inline TInt Insert(const TAny* anEntry, TInt aPos);
  2885. inline void Remove(TInt anIndex);
  2886. inline void Compress();
  2887. inline void Reset();
  2888. inline TInt Find(const TAny* anEntry) const;
  2889. inline TInt FindInAddressOrder(const TAny* anEntry) const;
  2890. inline TInt FindInAddressOrder(const TAny* anEntry, TInt& anIndex) const;
  2891. inline TInt SpecificFindInAddressOrder(const TAny* anEntry, TInt aMode) const;
  2892. inline TInt SpecificFindInAddressOrder(const TAny* anEntry, TInt& anIndex, TInt aMode) const;
  2893. inline TInt InsertInAddressOrder(const TAny* anEntry);
  2894. inline TInt InsertInAddressOrderAllowRepeats(const TAny* anEntry);
  2895. inline void AppendL(const TAny* anEntry);
  2896. inline void InsertL(const TAny* anEntry, TInt aPos);
  2897. inline TInt FindL(const TAny* anEntry) const;
  2898. inline TInt FindInAddressOrderL(const TAny* anEntry) const;
  2899. inline void FindInAddressOrderL(const TAny* anEntry, TInt& anIndex) const;
  2900. inline TInt SpecificFindInAddressOrderL(const TAny* anEntry, TInt aMode) const;
  2901. inline void SpecificFindInAddressOrderL(const TAny* anEntry, TInt& anIndex, TInt aMode) const;
  2902. inline void InsertInAddressOrderL(const TAny* anEntry);
  2903. inline void InsertInAddressOrderAllowRepeatsL(const TAny* anEntry);
  2904. inline RPointerArray(TAny** aEntries, TInt aCount);
  2905. inline void GranularCompress();
  2906. inline void SortIntoAddressOrder();
  2907. inline TArray<TAny*> Array() const;
  2908. };
  2909. #line 5150
  2910. class RArrayBase
  2911. {
  2912. protected:
  2913. __declspec(dllexport) RArrayBase(TInt anEntrySize);
  2914. __declspec(dllexport) RArrayBase(TInt anEntrySize, TInt aGranularity);
  2915. __declspec(dllexport) RArrayBase(TInt anEntrySize, TInt aGranularity, TInt aKeyOffset);
  2916. __declspec(dllexport) RArrayBase(TInt anEntrySize, TInt aMinGrowBy, TInt aKeyOffset, TInt aFactor);
  2917. __declspec(dllexport) void Close();
  2918. __declspec(dllexport) TInt Count() const;
  2919. __declspec(dllexport) TAny* At(TInt anIndex) const;
  2920. __declspec(dllexport) TInt Append(const TAny* anEntry);
  2921. __declspec(dllexport) TInt Insert(const TAny* anEntry, TInt aPos);
  2922. __declspec(dllexport) void Remove(TInt anIndex);
  2923. __declspec(dllexport) void Compress();
  2924. __declspec(dllexport) void Reset();
  2925. __declspec(dllexport) TInt Find(const TAny* anEntry) const;
  2926. __declspec(dllexport) TInt Find(const TAny* anEntry, TGeneralIdentityRelation anIdentity) const;
  2927. __declspec(dllexport) TInt FindIsqSigned(const TAny* anEntry) const;
  2928. __declspec(dllexport) TInt FindIsqUnsigned(const TAny* anEntry) const;
  2929. __declspec(dllexport) TInt FindIsq(const TAny* anEntry, TGeneralLinearOrder anOrder) const;
  2930. __declspec(dllexport) TInt FindIsqSigned(const TAny* anEntry, TInt aMode) const;
  2931. __declspec(dllexport) TInt FindIsqUnsigned(const TAny* anEntry, TInt aMode) const;
  2932. __declspec(dllexport) TInt FindIsq(const TAny* anEntry, TGeneralLinearOrder anOrder, TInt aMode) const;
  2933. __declspec(dllexport) TInt InsertIsqSigned(const TAny* anEntry, TBool aAllowRepeats);
  2934. __declspec(dllexport) TInt InsertIsqUnsigned(const TAny* anEntry, TBool aAllowRepeats);
  2935. __declspec(dllexport) TInt InsertIsq(const TAny* anEntry, TGeneralLinearOrder anOrder, TBool aAllowRepeats);
  2936. __declspec(dllexport) TInt BinarySearchSigned(const TAny* anEntry, TInt& anIndex) const;
  2937. __declspec(dllexport) TInt BinarySearchUnsigned(const TAny* anEntry, TInt& anIndex) const;
  2938. __declspec(dllexport) TInt BinarySearch(const TAny* anEntry, TInt& anIndex, TGeneralLinearOrder anOrder) const;
  2939. __declspec(dllexport) TInt BinarySearchSigned(const TAny* anEntry, TInt& anIndex, TInt aMode) const;
  2940. __declspec(dllexport) TInt BinarySearchUnsigned(const TAny* anEntry, TInt& anIndex, TInt aMode) const;
  2941. __declspec(dllexport) TInt BinarySearch(const TAny* anEntry, TInt& anIndex, TGeneralLinearOrder anOrder, TInt aMode) const;
  2942. __declspec(dllexport) RArrayBase(TInt aEntrySize,TAny* aEntries, TInt aCount);
  2943. __declspec(dllexport) void GranularCompress();
  2944. __declspec(dllexport) TInt DoReserve(TInt aCount);
  2945. __declspec(dllexport) void HeapSortSigned();
  2946. __declspec(dllexport) void HeapSortUnsigned();
  2947. __declspec(dllexport) void HeapSort(TGeneralLinearOrder anOrder);
  2948. __declspec(dllexport) static TInt GetCount(const CBase* aPtr);
  2949. __declspec(dllexport) static const TAny* GetElementPtr(const CBase* aPtr, TInt aIndex);
  2950. private:
  2951. TInt Grow();
  2952. private:
  2953. TInt iCount;
  2954. TAny* iEntries;
  2955. TInt iEntrySize;
  2956. TInt iKeyOffset;
  2957. TInt iAllocated;
  2958. TInt iGranularity;
  2959. TInt iSpare1;
  2960. TInt iSpare2;
  2961. };
  2962. #line 5244
  2963. template <class T>
  2964. class RArray : private RArrayBase
  2965. {
  2966. public:
  2967. inline RArray();
  2968. inline explicit RArray(TInt aGranularity);
  2969. inline RArray(TInt aGranularity, TInt aKeyOffset);
  2970. inline RArray(TInt aMinGrowBy, TInt aKeyOffset, TInt aFactor);
  2971. inline void Close();
  2972. inline TInt Count() const;
  2973. inline const T& operator[](TInt anIndex) const;
  2974. inline T& operator[](TInt anIndex);
  2975. inline TInt Append(const T& anEntry);
  2976. inline TInt Insert(const T& anEntry, TInt aPos);
  2977. inline void Remove(TInt anIndex);
  2978. inline void Compress();
  2979. inline void Reset();
  2980. inline TInt Find(const T& anEntry) const;
  2981. inline TInt Find(const T& anEntry, TIdentityRelation<T> anIdentity) const;
  2982. inline TInt FindInSignedKeyOrder(const T& anEntry) const;
  2983. inline TInt FindInUnsignedKeyOrder(const T& anEntry) const;
  2984. inline TInt FindInOrder(const T& anEntry, TLinearOrder<T> anOrder) const;
  2985. inline TInt FindInSignedKeyOrder(const T& anEntry, TInt& anIndex) const;
  2986. inline TInt FindInUnsignedKeyOrder(const T& anEntry, TInt& anIndex) const;
  2987. inline TInt FindInOrder(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder) const;
  2988. template <class K>
  2989. inline TInt FindInOrder(const K& aKey, TInt (*apfnCompare)(const K* k, const T& t)) const
  2990. { return RArrayBase::FindIsq((T*)&aKey,*(TLinearOrder<T> *)&apfnCompare); }
  2991. inline TInt SpecificFindInSignedKeyOrder(const T& anEntry, TInt aMode) const;
  2992. inline TInt SpecificFindInUnsignedKeyOrder(const T& anEntry, TInt aMode) const;
  2993. inline TInt SpecificFindInOrder(const T& anEntry, TLinearOrder<T> anOrder, TInt aMode) const;
  2994. inline TInt SpecificFindInSignedKeyOrder(const T& anEntry, TInt& anIndex, TInt aMode) const;
  2995. inline TInt SpecificFindInUnsignedKeyOrder(const T& anEntry, TInt& anIndex, TInt aMode) const;
  2996. inline TInt SpecificFindInOrder(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder, TInt aMode) const;
  2997. inline TInt InsertInSignedKeyOrder(const T& anEntry);
  2998. inline TInt InsertInUnsignedKeyOrder(const T& anEntry);
  2999. inline TInt InsertInOrder(const T& anEntry, TLinearOrder<T> anOrder);
  3000. inline TInt InsertInSignedKeyOrderAllowRepeats(const T& anEntry);
  3001. inline TInt InsertInUnsignedKeyOrderAllowRepeats(const T& anEntry);
  3002. inline TInt InsertInOrderAllowRepeats(const T& anEntry, TLinearOrder<T> anOrder);
  3003. inline void AppendL(const T& anEntry);
  3004. inline void InsertL(const T& anEntry, TInt aPos);
  3005. inline TInt FindL(const T& anEntry) const;
  3006. inline TInt FindL(const T& anEntry, TIdentityRelation<T> anIdentity) const;
  3007. inline TInt FindInSignedKeyOrderL(const T& anEntry) const;
  3008. inline TInt FindInUnsignedKeyOrderL(const T& anEntry) const;
  3009. inline TInt FindInOrderL(const T& anEntry, TLinearOrder<T> anOrder) const;
  3010. inline void FindInSignedKeyOrderL(const T& anEntry, TInt& anIndex) const;
  3011. inline void FindInUnsignedKeyOrderL(const T& anEntry, TInt& anIndex) const;
  3012. inline void FindInOrderL(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder) const;
  3013. inline TInt SpecificFindInSignedKeyOrderL(const T& anEntry, TInt aMode) const;
  3014. inline TInt SpecificFindInUnsignedKeyOrderL(const T& anEntry, TInt aMode) const;
  3015. inline TInt SpecificFindInOrderL(const T& anEntry, TLinearOrder<T> anOrder, TInt aMode) const;
  3016. inline void SpecificFindInSignedKeyOrderL(const T& anEntry, TInt& anIndex, TInt aMode) const;
  3017. inline void SpecificFindInUnsignedKeyOrderL(const T& anEntry, TInt& anIndex, TInt aMode) const;
  3018. inline void SpecificFindInOrderL(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder, TInt aMode) const;
  3019. inline void InsertInSignedKeyOrderL(const T& anEntry);
  3020. inline void InsertInUnsignedKeyOrderL(const T& anEntry);
  3021. inline void InsertInOrderL(const T& anEntry, TLinearOrder<T> anOrder);
  3022. inline void InsertInSignedKeyOrderAllowRepeatsL(const T& anEntry);
  3023. inline void InsertInUnsignedKeyOrderAllowRepeatsL(const T& anEntry);
  3024. inline void InsertInOrderAllowRepeatsL(const T& anEntry, TLinearOrder<T> anOrder);
  3025. inline RArray(TInt aEntrySize,T* aEntries, TInt aCount);
  3026. inline void GranularCompress();
  3027. inline TInt Reserve(TInt aCount);
  3028. inline void ReserveL(TInt aCount);
  3029. inline void SortSigned();
  3030. inline void SortUnsigned();
  3031. inline void Sort(TLinearOrder<T> anOrder);
  3032. inline TArray<T> Array() const;
  3033. };
  3034. #line 5331
  3035. template<> class RArray<TInt> : private RPointerArrayBase
  3036. {
  3037. public:
  3038. inline RArray();
  3039. inline explicit RArray(TInt aGranularity);
  3040. inline RArray(TInt aMinGrowBy, TInt aFactor);
  3041. inline void Close();
  3042. inline TInt Count() const;
  3043. inline const TInt& operator[](TInt anIndex) const;
  3044. inline TInt& operator[](TInt anIndex);
  3045. inline TInt Append(TInt anEntry);
  3046. inline TInt Insert(TInt anEntry, TInt aPos);
  3047. inline void Remove(TInt anIndex);
  3048. inline void Compress();
  3049. inline void Reset();
  3050. inline TInt Find(TInt anEntry) const;
  3051. inline TInt FindInOrder(TInt anEntry) const;
  3052. inline TInt FindInOrder(TInt anEntry, TInt& anIndex) const;
  3053. inline TInt SpecificFindInOrder(TInt anEntry, TInt aMode) const;
  3054. inline TInt SpecificFindInOrder(TInt anEntry, TInt& anIndex, TInt aMode) const;
  3055. inline TInt InsertInOrder(TInt anEntry);
  3056. inline TInt InsertInOrderAllowRepeats(TInt anEntry);
  3057. inline void AppendL(TInt anEntry);
  3058. inline void InsertL(TInt anEntry, TInt aPos);
  3059. inline TInt FindL(TInt anEntry) const;
  3060. inline TInt FindInOrderL(TInt anEntry) const;
  3061. inline void FindInOrderL(TInt anEntry, TInt& anIndex) const;
  3062. inline TInt SpecificFindInOrderL(TInt anEntry, TInt aMode) const;
  3063. inline void SpecificFindInOrderL(TInt anEntry, TInt& anIndex, TInt aMode) const;
  3064. inline void InsertInOrderL(TInt anEntry);
  3065. inline void InsertInOrderAllowRepeatsL(TInt anEntry);
  3066. inline RArray(TInt* aEntries, TInt aCount);
  3067. inline void GranularCompress();
  3068. inline TInt Reserve(TInt aCount);
  3069. inline void ReserveL(TInt aCount);
  3070. inline void Sort();
  3071. inline TArray<TInt> Array() const;
  3072. };
  3073. #line 5387
  3074. template<> class RArray<TUint> : private RPointerArrayBase
  3075. {
  3076. public:
  3077. inline RArray();
  3078. inline explicit RArray(TInt aGranularity);
  3079. inline RArray(TInt aMinGrowBy, TInt aFactor);
  3080. inline void Close();
  3081. inline TInt Count() const;
  3082. inline const TUint& operator[](TInt anIndex) const;
  3083. inline TUint& operator[](TInt anIndex);
  3084. inline TInt Append(TUint anEntry);
  3085. inline TInt Insert(TUint anEntry, TInt aPos);
  3086. inline void Remove(TInt anIndex);
  3087. inline void Compress();
  3088. inline void Reset();
  3089. inline TInt Find(TUint anEntry) const;
  3090. inline TInt FindInOrder(TUint anEntry) const;
  3091. inline TInt FindInOrder(TUint anEntry, TInt& anIndex) const;
  3092. inline TInt SpecificFindInOrder(TUint anEntry, TInt aMode) const;
  3093. inline TInt SpecificFindInOrder(TUint anEntry, TInt& anIndex, TInt aMode) const;
  3094. inline TInt InsertInOrder(TUint anEntry);
  3095. inline TInt InsertInOrderAllowRepeats(TUint anEntry);
  3096. inline void AppendL(TUint anEntry);
  3097. inline void InsertL(TUint anEntry, TInt aPos);
  3098. inline TInt FindL(TUint anEntry) const;
  3099. inline TInt FindInOrderL(TUint anEntry) const;
  3100. inline void FindInOrderL(TUint anEntry, TInt& anIndex) const;
  3101. inline TInt SpecificFindInOrderL(TUint anEntry, TInt aMode) const;
  3102. inline void SpecificFindInOrderL(TUint anEntry, TInt& anIndex, TInt aMode) const;
  3103. inline void InsertInOrderL(TUint anEntry);
  3104. inline void InsertInOrderAllowRepeatsL(TUint anEntry);
  3105. inline RArray(TUint* aEntries, TInt aCount);
  3106. inline void GranularCompress();
  3107. inline TInt Reserve(TInt aCount);
  3108. inline void ReserveL(TInt aCount);
  3109. inline void Sort();
  3110. inline TArray<TUint> Array() const;
  3111. };
  3112. #line 5822
  3113. extern TAny* operator new(TUint aSize) throw() ;
  3114. extern TAny* operator new(TUint aSize,TUint anExtraSize) throw() ;
  3115. extern void operator delete(TAny* aPtr) throw() ;
  3116. extern TAny* operator new[](TUint aSize) throw() ;
  3117. extern void operator delete[](TAny* aPtr) throw() ;
  3118. inline TAny* operator new(TUint aSize, TAny* aBase) throw() ;
  3119. inline TAny* operator new[](TUint aSize, TAny* aBase) throw() ;
  3120. inline void operator delete(TAny* aPtr, TAny* aBase) throw() ;
  3121. inline void operator delete[](TAny* aPtr, TAny* aBase) throw() ;
  3122. #line 5886
  3123. TBool operator==(TTrue,volatile const TBool);
  3124. TBool operator==(volatile const TBool,TTrue);
  3125. TBool operator!=(TTrue,volatile const TBool);
  3126. TBool operator!=(volatile const TBool,TTrue);
  3127. #line 5928
  3128. class TIpcArgs
  3129. {
  3130. public:
  3131. enum TArgType
  3132. {
  3133. EUnspecified = 0,
  3134. EHandle = 1,
  3135. EFlagDes = 4,
  3136. EFlagConst = 2,
  3137. EFlag16Bit = 1,
  3138. EDes8 = EFlagDes,
  3139. EDes16 = EFlagDes|EFlag16Bit,
  3140. EDesC8 = EFlagDes|EFlagConst,
  3141. EDesC16 = EFlagDes|EFlagConst|EFlag16Bit,
  3142. };
  3143. enum {
  3144.      KBitsPerType=3
  3145.      };
  3146. enum TNothing {
  3147. #line 5976
  3148.               ENothing
  3149.               };
  3150. public:
  3151. inline TIpcArgs()
  3152. :iFlags(0)
  3153. {}
  3154. #line 5998
  3155. template <class T0>
  3156. inline explicit TIpcArgs(T0 a0)
  3157. {
  3158. Assign(iArgs[0],a0);
  3159. iFlags=(Type(a0)<<(0*KBitsPerType));
  3160. }
  3161. #line 6015
  3162. template <class T0,class T1>
  3163. inline TIpcArgs(T0 a0,T1 a1)
  3164. {
  3165. Assign(iArgs[0],a0);
  3166. Assign(iArgs[1],a1);
  3167. iFlags=(Type(a0)<<(0*KBitsPerType))|(Type(a1)<<(1*KBitsPerType));
  3168. }
  3169. #line 6035
  3170. template <class T0,class T1,class T2>
  3171. inline TIpcArgs(T0 a0,T1 a1,T2 a2)
  3172. {
  3173. Assign(iArgs[0],a0);
  3174. Assign(iArgs[1],a1);
  3175. Assign(iArgs[2],a2);
  3176. iFlags=(Type(a0)<<(0*KBitsPerType))|(Type(a1)<<(1*KBitsPerType))|(Type(a2)<<(2*KBitsPerType));
  3177. }
  3178. #line 6058
  3179. template <class T0,class T1,class T2,class T3>
  3180. inline TIpcArgs(T0 a0,T1 a1,T2 a2,T3 a3)
  3181. {
  3182. Assign(iArgs[0],a0);
  3183. Assign(iArgs[1],a1);
  3184. Assign(iArgs[2],a2);
  3185. Assign(iArgs[3],a3);
  3186. iFlags=(Type(a0)<<(0*KBitsPerType))|(Type(a1)<<(1*KBitsPerType))|(Type(a2)<<(2*KBitsPerType))|(Type(a3)<<(3*KBitsPerType));
  3187. }
  3188. inline void Set(TInt aIndex,TNothing);
  3189. inline void Set(TInt aIndex,TInt aValue);
  3190. inline void Set(TInt aIndex,const TAny* aValue);
  3191. inline void Set(TInt aIndex,RHandleBase aValue);
  3192. inline void Set(TInt aIndex,const TDesC8* aValue);
  3193. inline void Set(TInt aIndex,const TDesC16* aValue);
  3194. inline void Set(TInt aIndex,TDes8* aValue);
  3195. inline void Set(TInt aIndex,TDes16* aValue);
  3196. private:
  3197. inline static TArgType Type(TNothing);
  3198. inline static TArgType Type(TInt);
  3199. inline static TArgType Type(const TAny*);
  3200. inline static TArgType Type(RHandleBase aValue);
  3201. inline static TArgType Type(const TDesC8*);
  3202. inline static TArgType Type(const TDesC16*);
  3203. inline static TArgType Type(TDes8*);
  3204. inline static TArgType Type(TDes16*);
  3205. inline static void Assign(TInt&,TNothing);
  3206. inline static void Assign(TInt& aArg,TInt aValue);
  3207. inline static void Assign(TInt& aArg,const TAny* aValue);
  3208. inline static void Assign(TInt& aArg,RHandleBase aValue);
  3209. inline static void Assign(TInt& aArg,const TDesC8* aValue);
  3210. inline static void Assign(TInt& aArg,const TDesC16* aValue);
  3211. inline static void Assign(TInt& aArg,TDes8* aValue);
  3212. inline static void Assign(TInt& aArg,TDes16* aValue);
  3213. public:
  3214. TInt iArgs[KMaxMessageArguments];
  3215. #line 6123
  3216. TInt iFlags;
  3217. };
  3218. struct SInt64
  3219. {
  3220. public:
  3221. inline SInt64();
  3222. inline SInt64(Int64 a);
  3223. inline SInt64& operator=(Int64 a);
  3224. inline operator Int64() const;
  3225. public:
  3226. TUint32 iData[2];
  3227. };
  3228. struct SUint64
  3229. {
  3230. public:
  3231. inline SUint64();
  3232. inline SUint64(Uint64 a);
  3233. inline SUint64& operator=(Uint64 a);
  3234. inline operator Uint64() const;
  3235. public:
  3236. TUint32 iData[2];
  3237. };
  3238. struct SDouble
  3239. {
  3240. public:
  3241. inline SDouble();
  3242. inline SDouble(TReal a);
  3243. inline SDouble& operator=(TReal a);
  3244. inline operator TReal() const;
  3245. public:
  3246. TUint32 iData[2];
  3247. };
  3248. #line 6181
  3249. class TThreadStackInfo
  3250. {
  3251. public:
  3252. TLinAddr iBase;
  3253. TLinAddr iLimit;
  3254. TLinAddr iExpandLimit;
  3255. };
  3256. #line 6214
  3257. class XLeaveException
  3258. {
  3259. public:
  3260. inline XLeaveException() {}
  3261. inline XLeaveException(TInt aReason) {iR = aReason;}
  3262. inline TInt Reason() const {return iR;}
  3263. __declspec(dllexport) TInt GetReason() const;
  3264. private:
  3265. #line 6230
  3266. private:
  3267. TAny* iVtable;
  3268. TInt iR;
  3269. };
  3270. namespace std {
  3271.   bool uncaught_exception(void);
  3272.   void terminate(void);
  3273.   void unexpected(void);
  3274.   typedef void (*terminate_handler)();
  3275.   terminate_handler set_terminate(terminate_handler h) throw();
  3276.   typedef void (*unexpected_handler)();
  3277.   unexpected_handler set_unexpected(unexpected_handler h) throw();
  3278. }
  3279. class __UnknownWindowsType1;
  3280. class __UnknownWindowsType2;
  3281. class TWin32SEHTrap;
  3282. typedef TUint32 (TWin32SEHExceptionHandler)(__UnknownWindowsType1* aExceptionRecord, TWin32SEHTrap* aRegistrationRecord, __UnknownWindowsType2* aContext);
  3283. class TWin32SEHTrap
  3284. {
  3285. private:
  3286.     TWin32SEHTrap(TWin32SEHTrap const &);
  3287.     TWin32SEHTrap& operator=(TWin32SEHTrap const &);
  3288. #line 6297
  3289. public:
  3290. __declspec(dllexport) TWin32SEHTrap();
  3291. public:
  3292. __declspec(dllexport) void Trap();
  3293. __declspec(dllexport) void UnTrap();
  3294. private:
  3295. static TUint32 ExceptionHandler(__UnknownWindowsType1* aException, TWin32SEHTrap* aRegistrationRecord, __UnknownWindowsType2* aContext);
  3296.     TWin32SEHTrap* iPrevExceptionRegistrationRecord;
  3297. TWin32SEHExceptionHandler* iExceptionHandler;
  3298. private:
  3299. TUint32 iPadding[254];
  3300. };
  3301. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32cmn.inl" /* stack depth 8 */
  3302. #line 9
  3303. inline TAny* operator new(TUint , TAny* aBase) throw()
  3304. {return aBase;}
  3305. inline void operator delete(TAny* , TAny* ) throw()
  3306. {}
  3307. inline TAny* operator new[](TUint , TAny* aBase) throw()
  3308. {return aBase;}
  3309. inline void operator delete[](TAny* , TAny* ) throw()
  3310. {}
  3311. inline RAllocator::RAllocator()
  3312. {
  3313. iAccessCount=1;
  3314. iHandleCount=0;
  3315. iHandles=0;
  3316. iFlags=0;
  3317. iCellCount=0;
  3318. iTotalAllocSize=0;
  3319. }
  3320. inline void RAllocator::__DbgMarkCheck(TBool aCountAll, TInt aCount, const TUint8* aFileName, TInt aLineNum)
  3321. {__DbgMarkCheck(aCountAll, aCount, TPtrC8(aFileName), aLineNum);}
  3322. inline RHeap::RHeap()
  3323. {}
  3324. inline TInt RHeap::MaxLength() const
  3325. {return iMaxLength;}
  3326. inline void RHeap::operator delete(TAny*, TAny*)
  3327. {}
  3328. inline TUint8* RHeap::Base() const
  3329. #line 73
  3330. {return iBase;}
  3331. inline TInt RHeap::Size() const
  3332. #line 89
  3333. {return iTop-iBase;}
  3334. inline TInt RHeap::Align(TInt a) const
  3335. {return (((a)+( iAlign)-1)&~(( iAlign)-1)) ;}
  3336. inline const TAny* RHeap::Align(const TAny* a) const
  3337. {return (const TAny*)((((TLinAddr)a)+( iAlign)-1)&~(( iAlign)-1)) ;}
  3338. inline TBool RHeap::IsLastCell(const SCell* aCell) const
  3339. {return (((TUint8*)aCell) + aCell->len) == iTop;}
  3340. inline void RHeap::Lock() const
  3341. {((RFastLock&)iLock).Wait();}
  3342. inline void RHeap::Unlock() const
  3343. {((RFastLock&)iLock).Signal();}
  3344. template <class T>
  3345. inline TRefByValue<T>::TRefByValue(T &aRef)
  3346. : iRef(aRef)
  3347. {}
  3348. template <class T>
  3349. inline TRefByValue<T>::operator T &()
  3350. {return(iRef);}
  3351. #line 201
  3352. inline TInt RBusLogicalChannel::DoCreate(const TDesC& aDevice, const TVersion& aVer, TInt aUnit, const TDesC* aDriver, const TDesC8* aInfo, TOwnerType aType, TBool aTransferable)
  3353. { return DoCreate(aDevice, aVer, aUnit, aDriver, aInfo, (TInt)aType | (aTransferable?KCreateProtectedObject:0) ); }
  3354. inline TChar::TChar()
  3355. {}
  3356. inline TChar::TChar(TUint aChar)
  3357. : iChar(aChar)
  3358. {}
  3359. inline TChar& TChar::operator-=(TUint aChar)
  3360. #line 241
  3361. {iChar-=aChar;return(*this);}
  3362. inline TChar& TChar::operator+=(TUint aChar)
  3363. #line 256
  3364. {iChar+=aChar;return(*this);}
  3365. inline TChar TChar::operator-(TUint aChar)
  3366. #line 273
  3367. {return(iChar-aChar);}
  3368. inline TChar TChar::operator+(TUint aChar)
  3369. #line 288
  3370. {return(iChar+aChar);}
  3371. inline TChar::operator TUint() const
  3372. {return(iChar);}
  3373. inline TBool TDesC8::operator<(const TDesC8 &aDes) const
  3374. #line 320
  3375. {return(Compare(aDes)<0);}
  3376. inline TBool TDesC8::operator<=(const TDesC8 &aDes) const
  3377. #line 339
  3378. {return(Compare(aDes)<=0);}
  3379. inline TBool TDesC8::operator>(const TDesC8 &aDes) const
  3380. #line 358
  3381. {return(Compare(aDes)>0);}
  3382. inline TBool TDesC8::operator>=(const TDesC8 &aDes) const
  3383. #line 377
  3384. {return(Compare(aDes)>=0);}
  3385. inline TBool TDesC8::operator==(const TDesC8 &aDes) const
  3386. #line 396
  3387. {return(Compare(aDes)==0);}
  3388. inline TBool TDesC8::operator!=(const TDesC8 &aDes) const
  3389. #line 415
  3390. {return(Compare(aDes)!=0);}
  3391. inline const TUint8 &TDesC8::operator[](TInt anIndex) const
  3392. #line 433
  3393. {return(AtC(anIndex));}
  3394. inline TInt TDesC8::Length() const
  3395. {return(iLength&KMaskDesLength8);}
  3396. inline TInt TDesC8::Size() const
  3397. {return(Length());}
  3398. inline void TDesC8::DoSetLength(TInt aLength)
  3399. {iLength=(iLength&(~KMaskDesLength8))|aLength;}
  3400. inline void TPtrC8::Set(const TUint8 *aBuf,TInt aLength)
  3401. #line 483
  3402. {new(this) TPtrC8(aBuf,aLength);}
  3403. inline void TPtrC8::Set(const TDesC8 &aDes)
  3404. {new(this) TPtrC8(aDes);}
  3405. inline void TPtrC8::Set(const TPtrC8& aPtr)
  3406. #line 510
  3407. {new(this) TPtrC8(aPtr);}
  3408. inline TPtr8 TBufCBase8::DoDes(TInt aMaxLength)
  3409. {return TPtr8(*this,aMaxLength);}
  3410. template <TInt S>
  3411. inline TBufC8<S>::TBufC8()
  3412. : TBufCBase8()
  3413. #line 540
  3414. {}
  3415. template <TInt S>
  3416. inline TBufC8<S>::TBufC8(const TUint8 *aString)
  3417. : TBufCBase8(aString,S)
  3418. #line 564
  3419. {}
  3420. template <TInt S>
  3421. inline TBufC8<S>::TBufC8(const TDesC8 &aDes)
  3422. : TBufCBase8(aDes,S)
  3423. #line 588
  3424. {}
  3425. template <TInt S>
  3426. inline TBufC8<S> &TBufC8<S>::operator=(const TUint8 *aString)
  3427. #line 607
  3428. {Copy(aString,S);return(*this);}
  3429. template <TInt S>
  3430. inline TBufC8<S> &TBufC8<S>::operator=(const TDesC8 &aDes)
  3431. #line 626
  3432. {Copy(aDes,S);return(*this);}
  3433. template <TInt S>
  3434. inline TPtr8 TBufC8<S>::Des()
  3435. #line 656
  3436. {return DoDes(S);}
  3437. inline HBufC8 &HBufC8::operator=(const HBufC8 &aLcb)
  3438. #line 681
  3439. {return *this=static_cast<const TDesC8&>(aLcb);}
  3440. #line 710
  3441. inline void RBuf8::CreateL(RReadStream &aStream,TInt aMaxLength)
  3442. {
  3443. Assign(HBufC8::NewL(aStream,aMaxLength));
  3444. }