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

Symbian

开发平台:

C/C++

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