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

Symbian

开发平台:

C/C++

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