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

Symbian

开发平台:

C/C++

  1. ENone,
  2. EPointerMove,
  3.         EPointerSwitchOn,
  4. EKeyDown,
  5. EKeyUp,
  6. ERedraw,
  7. ESwitchOn,
  8.         EActive,
  9. EInactive,
  10. EUpdateModifiers,
  11. EButton1Down,
  12. EButton1Up,
  13. EButton2Down,
  14. EButton2Up,
  15. EButton3Down,
  16. EButton3Up,
  17. ESwitchOff,
  18. EKeyRepeat,
  19. ECaseOpen,
  20. ECaseClose,
  21. #line 165
  22. EPointer3DInRange,
  23. #line 174
  24. EPointer3DOutOfRange,
  25. #line 183
  26. EPointer3DTilt,
  27. #line 192
  28. EPointer3DRotation,
  29. #line 201
  30. EPointer3DTiltAndMove,
  31. EButton4Down,
  32. EButton4Up,
  33. EButton5Down,
  34. EButton5Up,
  35. EButton6Down,
  36. EButton6Up
  37. };
  38. public:
  39. inline TRawEvent()
  40. { *(TInt*)&iType=0; }
  41. inline TType Type() const
  42. {return TType(iType);}
  43. inline TInt DeviceNumber() const
  44. {return TInt(iDeviceNumber-1);}
  45. inline void SetDeviceNumber(TInt aDeviceNumber)
  46. {iDeviceNumber = TUint8(aDeviceNumber+1);}
  47. __declspec(dllexport) TPoint Pos() const;
  48. __declspec(dllexport) TInt ScanCode() const;
  49.     __declspec(dllexport) TInt Modifiers() const;
  50. __declspec(dllexport) TPoint3D Pos3D() const;
  51. #line 289
  52. __declspec(dllexport) TAngle3D Tilt() const;
  53. #line 299
  54. __declspec(dllexport) TInt Rotation() const;
  55. #line 309
  56. inline TUint Ticks() const
  57. {return iTicks;}
  58. inline TBool IsTip() const
  59. {return TBool(iTip);}
  60. inline void SetTip(TBool aTip)
  61. {iTip = TUint8(aTip);}
  62. __declspec(dllexport) void Set(TType aType,TInt aScanCode);
  63. __declspec(dllexport) void Set(TType aType,TInt aX,TInt aY);
  64. __declspec(dllexport) void Set(TType aType);
  65. __declspec(dllexport) void Set(TType aType,TInt aX,TInt aY,TInt aZ);
  66. __declspec(dllexport) void Set(TType aType,TInt aX,TInt aY,TInt aZ,TInt aPhi,TInt aTheta,TInt aAlpha);
  67. __declspec(dllexport) void SetTilt(TType aType,TInt aPhi,TInt aTheta);
  68. __declspec(dllexport) void SetRotation(TType aType,TInt aAlpha);
  69. protected:
  70. TUint8 iType;
  71. TUint8 iTip;
  72. TUint8 iSpare2;
  73. TUint8 iDeviceNumber;
  74. TUint iTicks;
  75. union
  76. {
  77. struct {TInt x;TInt y;} pos;
  78. struct {TInt x;TInt y;TInt z;TInt phi;TInt theta;TInt alpha;} pos3D;
  79. TInt scanCode;
  80. TInt modifiers;
  81. } iU;
  82. };
  83. #line 362
  84. class TRawEventBuf : public TPckgBuf<TRawEvent>
  85. {
  86. public:
  87. inline TRawEvent &Event() const {return(*((TRawEvent *)&iBuf[0]));}
  88. };
  89. #line 383
  90. class TScreenInfoV01
  91. {
  92. public:
  93. TBool iWindowHandleValid;
  94. TAny *iWindowHandle;
  95. TBool iScreenAddressValid;
  96. TAny *iScreenAddress;
  97. TSize iScreenSize;
  98. };
  99. #line 12 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32svr.h" /* stack depth 7 */
  100. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32ktran.h" /* stack depth 8 */
  101. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32keys.h" /* stack depth 9 */
  102. #line 39
  103. enum TEventModifier
  104. {
  105. EModifierAutorepeatable=0x00000001,
  106. EModifierKeypad=0x00000002,
  107. EModifierLeftAlt=0x00000004,
  108. EModifierRightAlt=0x00000008,
  109. EModifierAlt=0x00000010,
  110. EModifierLeftCtrl=0x00000020,
  111. EModifierRightCtrl=0x00000040,
  112. EModifierCtrl=0x00000080,
  113. EModifierLeftShift=0x00000100,
  114. EModifierRightShift=0x00000200,
  115. EModifierShift=0x00000400,
  116. EModifierLeftFunc=0x00000800,
  117. EModifierRightFunc=0x00001000,
  118. EModifierFunc=0x00002000,
  119. EModifierCapsLock=0x00004000,
  120. EModifierNumLock=0x00008000,
  121. EModifierScrollLock=0x00010000,
  122. EModifierKeyUp=0x00020000,
  123. EModifierSpecial=0x00040000,
  124. EModifierDoubleClick=0x00080000,
  125.     EModifierPureKeycode=0x00100000,
  126. EModifierKeyboardExtend=0x00200000,
  127. EModifierCancelRotation=0x00000000,
  128. EModifierRotateBy90=0x00400000,
  129. EModifierRotateBy180=0x00800000,
  130. EModifierRotateBy270=0x01000000,
  131. EModifierPointer3DButton1=0x02000000,
  132. EModifierPointer3DButton2=0x04000000,
  133. EModifierPointer3DButton3=0x08000000,
  134. EAllModifiers=0x0fffffff
  135. };
  136. #line 88
  137. enum TModifierState
  138.     {
  139.     ETurnOnModifier=0x40,
  140.     ETurnOffModifier,
  141.     EToggleModifier
  142.     };
  143. #line 120
  144. enum TStdScanCode
  145. {
  146. EStdKeyNull=0x00,
  147. EStdKeyBackspace=0x01,
  148. EStdKeyTab=0x02,
  149. EStdKeyEnter=0x03,
  150. EStdKeyEscape=0x04,
  151. EStdKeySpace=0x05,
  152. EStdKeyPrintScreen=0x06,
  153. EStdKeyPause=0x07,
  154. EStdKeyHome=0x08,
  155. EStdKeyEnd=0x09,
  156. EStdKeyPageUp=0x0a,
  157. EStdKeyPageDown=0x0b,
  158. EStdKeyInsert=0x0c,
  159. EStdKeyDelete=0x0d,
  160. EStdKeyLeftArrow=0x0e,
  161. EStdKeyRightArrow=0x0f,
  162. EStdKeyUpArrow=0x10,
  163. EStdKeyDownArrow=0x11,
  164. EStdKeyLeftShift=0x12,
  165. EStdKeyRightShift=0x13,
  166. EStdKeyLeftAlt=0x14,
  167. EStdKeyRightAlt=0x15,
  168. EStdKeyLeftCtrl=0x16,
  169. EStdKeyRightCtrl=0x17,
  170. EStdKeyLeftFunc=0x18,
  171. EStdKeyRightFunc=0x19,
  172. EStdKeyCapsLock=0x1a,
  173. EStdKeyNumLock=0x1b,
  174. EStdKeyScrollLock=0x1c,
  175. EStdKeyF1=0x60,
  176. EStdKeyF2=0x61,
  177. EStdKeyF3=0x62,
  178. EStdKeyF4=0x63,
  179. EStdKeyF5=0x64,
  180. EStdKeyF6=0x65,
  181. EStdKeyF7=0x66,
  182. EStdKeyF8=0x67,
  183. EStdKeyF9=0x68,
  184. EStdKeyF10=0x69,
  185. EStdKeyF11=0x6a,
  186. EStdKeyF12=0x6b,
  187. EStdKeyF13=0x6c,
  188. EStdKeyF14=0x6d,
  189. EStdKeyF15=0x6e,
  190. EStdKeyF16=0x6f,
  191. EStdKeyF17=0x70,
  192. EStdKeyF18=0x71,
  193. EStdKeyF19=0x72,
  194. EStdKeyF20=0x73,
  195. EStdKeyF21=0x74,
  196. EStdKeyF22=0x75,
  197. EStdKeyF23=0x76,
  198. EStdKeyF24=0x77,
  199. EStdKeyXXX=0x78,
  200. EStdKeyComma=0x79,
  201. EStdKeyFullStop=0x7a,
  202. EStdKeyForwardSlash=0x7b,
  203. EStdKeyBackSlash=0x7c,
  204. EStdKeySemiColon=0x7d,
  205. EStdKeySingleQuote=0x7e,
  206. EStdKeyHash=0x7f,
  207. EStdKeySquareBracketLeft=0x80,
  208. EStdKeySquareBracketRight=0x81,
  209. EStdKeyMinus=0x82,
  210. EStdKeyEquals=0x83,
  211. EStdKeyNkpForwardSlash=0x84,
  212. EStdKeyNkpAsterisk=0x85,
  213. EStdKeyNkpMinus=0x86,
  214. EStdKeyNkpPlus=0x87,
  215. EStdKeyNkpEnter=0x88,
  216. EStdKeyNkp1=0x89,
  217. EStdKeyNkp2=0x8a,
  218. EStdKeyNkp3=0x8b,
  219. EStdKeyNkp4=0x8c,
  220. EStdKeyNkp5=0x8d,
  221. EStdKeyNkp6=0x8e,
  222. EStdKeyNkp7=0x8f,
  223. EStdKeyNkp8=0x90,
  224. EStdKeyNkp9=0x91,
  225. EStdKeyNkp0=0x92,
  226. EStdKeyNkpFullStop=0x93,
  227.     EStdKeyMenu=0x94,
  228.     EStdKeyBacklightOn=0x95,
  229.     EStdKeyBacklightOff=0x96,
  230.     EStdKeyBacklightToggle=0x97,
  231.     EStdKeyIncContrast=0x98,
  232.     EStdKeyDecContrast=0x99,
  233.     EStdKeySliderDown=0x9a,
  234.     EStdKeySliderUp=0x9b,
  235.     EStdKeyDictaphonePlay=0x9c,
  236.     EStdKeyDictaphoneStop=0x9d,
  237.     EStdKeyDictaphoneRecord=0x9e,
  238.     EStdKeyHelp=0x9f,
  239.     EStdKeyOff=0xa0,
  240.     EStdKeyDial=0xa1,
  241.     EStdKeyIncVolume=0xa2,
  242.     EStdKeyDecVolume=0xa3,
  243.     EStdKeyDevice0=0xa4,
  244.     EStdKeyDevice1=0xa5,
  245.     EStdKeyDevice2=0xa6,
  246.     EStdKeyDevice3=0xa7,
  247.     EStdKeyDevice4=0xa8,
  248.     EStdKeyDevice5=0xa9,
  249.     EStdKeyDevice6=0xaa,
  250.     EStdKeyDevice7=0xab,
  251.     EStdKeyDevice8=0xac,
  252.     EStdKeyDevice9=0xad,
  253.     EStdKeyDeviceA=0xae,
  254.     EStdKeyDeviceB=0xaf,
  255.     EStdKeyDeviceC=0xb0,
  256.     EStdKeyDeviceD=0xb1,
  257.     EStdKeyDeviceE=0xb2,
  258.     EStdKeyDeviceF=0xb3,
  259.     EStdKeyApplication0=0xb4,
  260.     EStdKeyApplication1=0xb5,
  261.     EStdKeyApplication2=0xb6,
  262.     EStdKeyApplication3=0xb7,
  263.     EStdKeyApplication4=0xb8,
  264.     EStdKeyApplication5=0xb9,
  265.     EStdKeyApplication6=0xba,
  266.     EStdKeyApplication7=0xbb,
  267.     EStdKeyApplication8=0xbc,
  268.     EStdKeyApplication9=0xbd,
  269.     EStdKeyApplicationA=0xbe,
  270.     EStdKeyApplicationB=0xbf,
  271.     EStdKeyApplicationC=0xc0,
  272.     EStdKeyApplicationD=0xc1,
  273.     EStdKeyApplicationE=0xc2,
  274.     EStdKeyApplicationF=0xc3,
  275. EStdKeyYes=0xc4,
  276. EStdKeyNo=0xc5,
  277. EStdKeyIncBrightness=0xc6,
  278. EStdKeyDecBrightness=0xc7,
  279. EStdKeyKeyboardExtend=0xc8,
  280.     EStdKeyDevice10=0xc9,
  281.     EStdKeyDevice11=0xca,
  282.     EStdKeyDevice12=0xcb,
  283.     EStdKeyDevice13=0xcc,
  284.     EStdKeyDevice14=0xcd,
  285.     EStdKeyDevice15=0xce,
  286.     EStdKeyDevice16=0xcf,
  287.     EStdKeyDevice17=0xd0,
  288.     EStdKeyDevice18=0xd1,
  289.     EStdKeyDevice19=0xd2,
  290.     EStdKeyDevice1A=0xd3,
  291.     EStdKeyDevice1B=0xd4,
  292.     EStdKeyDevice1C=0xd5,
  293.     EStdKeyDevice1D=0xd6,
  294.     EStdKeyDevice1E=0xd7,
  295.     EStdKeyDevice1F=0xd8,
  296.     EStdKeyApplication10=0xd9,
  297.     EStdKeyApplication11=0xda,
  298.     EStdKeyApplication12=0xdb,
  299.     EStdKeyApplication13=0xdc,
  300.     EStdKeyApplication14=0xdd,
  301.     EStdKeyApplication15=0xde,
  302.     EStdKeyApplication16=0xdf,
  303.     EStdKeyApplication17=0xe0,
  304.     EStdKeyApplication18=0xe1,
  305.     EStdKeyApplication19=0xe2,
  306.     EStdKeyApplication1A=0xe3,
  307.     EStdKeyApplication1B=0xe4,
  308.     EStdKeyApplication1C=0xe5,
  309.     EStdKeyApplication1D=0xe6,
  310.     EStdKeyApplication1E=0xe7,
  311.     EStdKeyApplication1F=0xe8
  312. };
  313. #line 303
  314. enum TKeyCode
  315. {
  316. EKeyNull=0x0000,
  317. EKeyBell=0x0007,
  318. EKeyBackspace=0x0008,
  319. EKeyTab=0x0009,
  320. EKeyLineFeed=0x000a,
  321. EKeyVerticalTab=0x000b,
  322. EKeyFormFeed=0x000c,
  323. EKeyEnter=0x000d,
  324. EKeyEscape=0x001b,
  325. EKeySpace=0x0020,
  326. EKeyDelete=0x007f,
  327. EKeyPrintScreen=0xf800 ,
  328. EKeyPause,
  329. EKeyHome,
  330. EKeyEnd,
  331. EKeyPageUp,
  332. EKeyPageDown,
  333. EKeyInsert,
  334. EKeyLeftArrow,
  335. EKeyRightArrow,
  336. EKeyUpArrow,
  337. EKeyDownArrow,
  338. EKeyLeftShift,
  339. EKeyRightShift,
  340. EKeyLeftAlt,
  341. EKeyRightAlt,
  342. EKeyLeftCtrl,
  343. EKeyRightCtrl,
  344. EKeyLeftFunc,
  345. EKeyRightFunc,
  346. EKeyCapsLock,
  347. EKeyNumLock,
  348. EKeyScrollLock,
  349. EKeyF1,
  350. EKeyF2,
  351. EKeyF3,
  352. EKeyF4,
  353. EKeyF5,
  354. EKeyF6,
  355. EKeyF7,
  356. EKeyF8,
  357. EKeyF9,
  358. EKeyF10,
  359. EKeyF11,
  360. EKeyF12,
  361. EKeyF13,
  362. EKeyF14,
  363. EKeyF15,
  364. EKeyF16,
  365. EKeyF17,
  366. EKeyF18,
  367. EKeyF19,
  368. EKeyF20,
  369. EKeyF21,
  370. EKeyF22,
  371. EKeyF23,
  372. EKeyF24,
  373.     EKeyOff,
  374.     EKeyIncContrast,
  375.     EKeyDecContrast,
  376.     EKeyBacklightOn,
  377.     EKeyBacklightOff,
  378.     EKeyBacklightToggle,
  379.     EKeySliderDown,
  380.     EKeySliderUp,
  381.     EKeyMenu,
  382.     EKeyDictaphonePlay,
  383.     EKeyDictaphoneStop,
  384.     EKeyDictaphoneRecord,
  385.     EKeyHelp,
  386.     EKeyDial,
  387. EKeyScreenDimension0,
  388. EKeyScreenDimension1,
  389. EKeyScreenDimension2,
  390. EKeyScreenDimension3,
  391. EKeyIncVolume,
  392. EKeyDecVolume,
  393. EKeyDevice0,
  394. EKeyDevice1,
  395. EKeyDevice2,
  396. EKeyDevice3,
  397. EKeyDevice4,
  398. EKeyDevice5,
  399. EKeyDevice6,
  400. EKeyDevice7,
  401. EKeyDevice8,
  402. EKeyDevice9,
  403. EKeyDeviceA,
  404. EKeyDeviceB,
  405. EKeyDeviceC,
  406. EKeyDeviceD,
  407. EKeyDeviceE,
  408. EKeyDeviceF,
  409. EKeyApplication0,
  410. EKeyApplication1,
  411. EKeyApplication2,
  412. EKeyApplication3,
  413. EKeyApplication4,
  414. EKeyApplication5,
  415. EKeyApplication6,
  416. EKeyApplication7,
  417. EKeyApplication8,
  418. EKeyApplication9,
  419. EKeyApplicationA,
  420. EKeyApplicationB,
  421. EKeyApplicationC,
  422. EKeyApplicationD,
  423. EKeyApplicationE,
  424. EKeyApplicationF,
  425. EKeyYes,
  426. EKeyNo,
  427. EKeyIncBrightness,
  428. EKeyDecBrightness,
  429. EKeyKeyboardExtend,
  430. EKeyDevice10,
  431. EKeyDevice11,
  432. EKeyDevice12,
  433. EKeyDevice13,
  434. EKeyDevice14,
  435. EKeyDevice15,
  436. EKeyDevice16,
  437. EKeyDevice17,
  438. EKeyDevice18,
  439. EKeyDevice19,
  440. EKeyDevice1A,
  441. EKeyDevice1B,
  442. EKeyDevice1C,
  443. EKeyDevice1D,
  444. EKeyDevice1E,
  445. EKeyDevice1F,
  446. EKeyApplication10,
  447. EKeyApplication11,
  448. EKeyApplication12,
  449. EKeyApplication13,
  450. EKeyApplication14,
  451. EKeyApplication15,
  452. EKeyApplication16,
  453. EKeyApplication17,
  454. EKeyApplication18,
  455. EKeyApplication19,
  456. EKeyApplication1A,
  457. EKeyApplication1B,
  458. EKeyApplication1C,
  459. EKeyApplication1D,
  460. EKeyApplication1E,
  461. EKeyApplication1F
  462. };
  463. #line 14 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32ktran.h" /* stack depth 8 */
  464. class TMaskedModifiers
  465. {
  466. public:
  467. TUint iMask;
  468. TUint iValue;
  469. };
  470. enum TPattern
  471. {
  472. EAnyKey=0x00,
  473. EAnyAlphaNumeric,
  474. EAnyAlpha,
  475. EAnyAlphaLowerCase,
  476. EAnyAlphaUpperCase,
  477. EAnyDecimalDigit,
  478. EAnyDigitGivenRadix,
  479. EAnyModifierKey,
  480. EMatchKey=0x40,
  481. EMatchKeyCaseInsens,
  482. EMatchLeftOrRight
  483. };
  484. class TKeyCodePattern
  485. {
  486. public:
  487. TUint16 iKeyCode;
  488. TInt8   iPattern;
  489. TInt8   iFiller;
  490. };
  491. class TCaptureKey
  492. {
  493. public:
  494. TMaskedModifiers iModifiers;
  495. TKeyCodePattern  iKeyCodePattern;
  496. TUint iApp;
  497. TUint iHandle;
  498. };
  499. class TKeyData
  500. {
  501. public:
  502. TInt  iModifiers;
  503. TInt  iApp;
  504. TInt  iHandle;
  505. TBool iIsCaptureKey;
  506. TUint iKeyCode;
  507. };
  508. class CCaptureKeys: public CBase
  509. {
  510. public:
  511. __declspec(dllexport) CCaptureKeys();
  512. __declspec(dllexport) ~CCaptureKeys();
  513. __declspec(dllexport) void Construct();
  514. __declspec(dllexport) void AddCaptureKeyL(const TCaptureKey &aCaptureKey);
  515. __declspec(dllexport) void AddCaptureKeyL(const TCaptureKey &aCaptureKey, TUint8 aPriority);
  516. __declspec(dllexport) void SetCaptureKey(TUint32 aHandle, const TCaptureKey &aCaptureKey);
  517. __declspec(dllexport) void SetCaptureKey(TUint32 aHandle, const TCaptureKey &aCaptureKey, TUint8 aPriority);
  518. __declspec(dllexport) void CancelCaptureKey(TUint32 aHandle);
  519. __declspec(dllexport) void CancelAllCaptureKeys(TUint32 aApp);
  520. __declspec(dllexport) void ProcessCaptureKeys(TKeyData &aKeyData) const;
  521. protected:
  522. void CheckCaptureKey(const TCaptureKey &aCaptureKey);
  523. void removeCaptureKey(TUint index);
  524. protected:
  525. RArray<TCaptureKey> iCKarray;
  526. };
  527. class CKeyTranslator: public CBase
  528. {
  529. public:
  530. __declspec(dllexport) static CKeyTranslator *New();
  531. virtual TInt GetModifierState()=0;
  532. virtual void SetModifierState(TEventModifier aModifier,TModifierState aState)=0;
  533. virtual TBool TranslateKey(TUint aScanCode,TBool aKeyUp,const CCaptureKeys &aCaptureKeys,TKeyData &aKeyData)=0;
  534.     virtual void UpdateModifiers(TInt aModifiers)=0;
  535.     virtual TInt ChangeKeyData(const TDesC& aLibraryName)=0;
  536. };
  537. #line 13 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32svr.h" /* stack depth 7 */
  538. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32debug.h" /* stack depth 8 */
  539. #line 13
  540. const TInt KMaxProfiles=64;
  541. class TProfile
  542.     {
  543. public:
  544.     TInt iTime;
  545.     TInt iCount;
  546.     };
  547. class RDebug
  548. {
  549. public:
  550.     __declspec(dllexport) static void Printf(const char*, ...);
  551.     __declspec(dllexport) static TInt Print(TRefByValue<const TDesC> aFmt,...);
  552.     __declspec(dllexport) static void RawPrint(const TDesC& aDes);
  553. };
  554. #line 14 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32svr.h" /* stack depth 7 */
  555. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32lmsg.h" /* stack depth 8 */
  556. #line 15
  557. const TInt KMaxLocaleMessageText=0x80;
  558. enum TLocaleMessage
  559. {
  560. EFileServer_Button1,
  561. EFileServer_Button2,
  562. EFileServer_PutTheCardBackLine1,
  563. EFileServer_PutTheCardBackLine2,
  564. EFileServer_LowPowerLine1,
  565. EFileServer_LowPowerLine2,
  566. EFileServer_DiskErrorLine1,
  567. EFileServer_DiskErrorLine2,
  568. ESoundDriver_Chimes,
  569. ESoundDriver_Rings,
  570. ESoundDriver_Signal,
  571. EMediaDriver_DiskNameInternal,
  572. EMediaDriver_DiskNameExternal1,
  573. EMediaDriver_DiskNameExternal2,
  574. EMediaDriver_DiskNameExternal3,
  575. EMediaDriver_DiskNameExternal4,
  576. EMediaDriver_DiskNameExternal5,
  577. EMediaDriver_DiskNameExternal6,
  578. EMediaDriver_DiskNameExternal7,
  579. EMediaDriver_DiskNameExternal8,
  580. EMediaDriver_SocketName0,
  581. EMediaDriver_SocketName1,
  582. EMediaDriver_SocketName2,
  583. EMediaDriver_SocketName3,
  584. ELocaleMessages_LastMsg
  585. };
  586. class TLocaleMessageText : public TBuf<KMaxLocaleMessageText>
  587. {
  588. public:
  589. __declspec(dllexport) TLocaleMessageText();
  590. __declspec(dllexport) TLocaleMessageText(TLocaleMessage aMessageNo);
  591. __declspec(dllexport) void Set(TLocaleMessage aMessageNo);
  592. };
  593. #line 15 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32svr.h" /* stack depth 7 */
  594. enum TBlockType {EBlocked,EUnBlocked,ERelease};
  595. class UserSvr
  596. {
  597. public:
  598. __declspec(dllexport) static void CaptureEventHook();
  599. __declspec(dllexport) static void ReleaseEventHook();
  600. __declspec(dllexport) static void RequestEvent(TRawEventBuf &anEvent,TRequestStatus &aStatus);
  601. __declspec(dllexport) static void RequestEventCancel();
  602. __declspec(dllexport) static TInt AddEvent(const TRawEvent& anEvent);
  603. __declspec(dllexport) static void ScreenInfo(TDes8& anInfo);
  604. __declspec(dllexport) static TInt DllSetTls(TInt aHandle, TAny *aPtr);
  605. __declspec(dllexport) static TAny *DllTls(TInt aHandle);
  606. __declspec(dllexport) static void DllFreeTls(TInt aHandle);
  607. __declspec(dllexport) static void DllFileName(TInt aHandle, TDes &aFileName);
  608. __declspec(dllexport) static void FsRegisterThread();
  609. __declspec(dllexport) static void WsRegisterThread();
  610.     __declspec(dllexport) static TBool TestBootSequence();
  611.     __declspec(dllexport) static void WsRegisterSwitchOnScreenHandling(TBool aState);
  612.     __declspec(dllexport) static void WsSwitchOnScreen();
  613.     __declspec(dllexport) static TInt ChangeLocale(const TDesC& aLocaleDllName);
  614. __declspec(dllexport) static TInt ResetMachine(TMachineStartupType aType);
  615. __declspec(dllexport) static void UnlockRamDrive();
  616. __declspec(dllexport) static void LockRamDrive();
  617. __declspec(dllexport) static TUint32 RomRootDirectoryAddress();
  618. __declspec(dllexport) static TInt ExecuteInSupervisorMode(TSupervisorFunction aFunction, TAny* aParameter);
  619. __declspec(dllexport) static TUint32 RomHeaderAddress();
  620. __declspec(dllexport) static TUint32 DebugMask();
  621. __declspec(dllexport) static TUint32 DebugMask(TUint aIndex);
  622. __declspec(dllexport) static TInt HalFunction(TInt aGroup, TInt aFunction, TAny* a1, TAny* a2);
  623. __declspec(dllexport) static TInt HalFunction(TInt aGroup, TInt aFunction, TAny* a1, TAny* a2, TInt aDeviceNumber);
  624. __declspec(dllexport) static TInt HalGet(TInt,TAny*);
  625. __declspec(dllexport) static TInt HalSet(TInt,TAny*);
  626. __declspec(dllexport) static TInt SetMemoryThresholds(TInt aLowThreshold, TInt aGoodThreshold);
  627. __declspec(dllexport) static TBool IpcV1Available();
  628. __declspec(dllexport) static TLinAddr ExceptionDescriptor(TLinAddr aCodeAddress);
  629. __declspec(dllexport) static TInt LocalePropertiesSetDefaults();
  630. };
  631. #line 20 "C:\Symbian\9.1\S60_3rd\epoc32\include\f32file.h" /* stack depth 6 */
  632. #line 30
  633. const TInt KDefaultDrive=KMaxTInt;
  634. #line 43
  635. const TInt KDriveAbsent=0x00;
  636. #line 56
  637. const TInt KFileServerDefaultMessageSlots=-1;
  638. #line 70
  639. const TInt KEntryArraySize=(0x200*sizeof(TText));
  640. #line 81
  641. const TInt KPathDelimiter='\';
  642. #line 92
  643. const TInt KDriveDelimiter=':';
  644. #line 103
  645. const TInt KExtDelimiter='.';
  646. #line 114
  647. const TInt KMaxDrives=26;
  648. #line 129
  649. typedef TBuf8<KMaxDrives> TDriveList;
  650. #line 141
  651. const TInt KMaxDriveName=0x02;
  652. #line 158
  653. typedef TBuf<KMaxDriveName> TDriveName;
  654. #line 169
  655. const TUint KEntryAttNormal=0x0000;
  656. #line 180
  657. const TUint KEntryAttReadOnly=0x0001;
  658. #line 191
  659. const TUint KEntryAttHidden=0x0002;
  660. #line 202
  661. const TUint KEntryAttSystem=0x0004;
  662. #line 213
  663. const TUint KEntryAttVolume=0x0008;
  664. #line 224
  665. const TUint KEntryAttDir=0x0010;
  666. #line 235
  667. const TUint KEntryAttArchive=0x0020;
  668. #line 244
  669. const TUint KEntryAttXIP=0x0080;
  670. #line 263
  671. const TUint KEntryAttMatchMask=(KEntryAttHidden|KEntryAttSystem|KEntryAttDir);
  672. #line 280
  673. const TUint KEntryAttMaskSupported=0x3f;
  674. #line 300
  675. const TUint KEntryAttMatchExclusive=0x40000000;
  676. #line 329
  677. const TUint KEntryAttMatchExclude=0x08000000;
  678. #line 345
  679. const TUint KEntryAttAllowUid=0x10000000;
  680. const TUint KDebugNotifyMask=0xFF000000;
  681. enum TNotifyType
  682. #line 374
  683. {
  684. ENotifyAll=0x01,
  685. ENotifyEntry=0x02,
  686. ENotifyFile=0x04,
  687. ENotifyDir=0x08,
  688. ENotifyAttributes=0x10,
  689. ENotifyWrite=0x20,
  690. ENotifyDisk=0x40
  691. };
  692. enum TNotifyDismountMode
  693. #line 430
  694. {
  695. EFsDismountRegisterClient=0x01,
  696. EFsDismountNotifyClients=0x02,
  697. EFsDismountForceDismount=0x03,
  698. };
  699. enum TStartupConfigurationCmd
  700. #line 458
  701.     {
  702.     ELoaderPriority,
  703.     EMaxStartupConfigurationCmd
  704.     };
  705. enum TDriveNumber
  706. {
  707. EDriveA,   EDriveB,   EDriveC,   EDriveD,   EDriveE,
  708. EDriveF,   EDriveG,   EDriveH,   EDriveI,   EDriveJ,
  709. EDriveK,   EDriveL,   EDriveM,   EDriveN,   EDriveO,
  710. EDriveP,   EDriveQ,   EDriveR,   EDriveS,   EDriveT,
  711. EDriveU,   EDriveV,   EDriveW,   EDriveX,   EDriveY,
  712. EDriveZ
  713. };
  714. enum TEntryKey
  715. #line 501
  716. {
  717. ESortNone=0,
  718. #line 514
  719. ESortByName,
  720. #line 527
  721. ESortByExt,
  722. #line 536
  723. ESortBySize,
  724. #line 547
  725. ESortByDate,
  726. #line 556
  727. ESortByUid,
  728. #line 567
  729. EDirsAnyOrder=0,
  730. EDirsFirst=0x100,
  731. EDirsLast=0x200,
  732. #line 593
  733. EAscending=0,
  734. EDescending=0x400,
  735. #line 610
  736. EDirDescending=0x800
  737. };
  738. enum TFileMode
  739. #line 658
  740. {
  741. EFileShareExclusive,
  742. #line 676
  743. EFileShareReadersOnly,
  744. #line 688
  745. EFileShareAny,
  746. #line 700
  747. EFileShareReadersOrWriters,
  748. EFileStream=0,
  749. EFileStreamText=0x100,
  750. EFileRead=0,
  751. EFileWrite=0x200,
  752. #line 735
  753. EFileReadAsyncAll=0x400
  754. };
  755. #line 749
  756. const TUint KFileShareMask=0xff;
  757. enum TFormatMode
  758. {
  759. EHighDensity,
  760. ELowDensity,
  761. #line 780
  762. EFullFormat=0,
  763. #line 789
  764. EQuickFormat=0x100,
  765. ESpecialFormat=0x200
  766. };
  767. enum TSeek
  768. #line 813
  769. {
  770. ESeekAddress,
  771. ESeekStart,
  772. ESeekCurrent,
  773. ESeekEnd
  774. };
  775. class TEntry
  776. #line 869
  777. {
  778. public:
  779. __declspec(dllexport) TEntry();
  780. __declspec(dllexport) TEntry(const TEntry& aEntry);
  781. __declspec(dllexport) TEntry& operator=(const TEntry& aEntry);
  782. __declspec(dllexport) TBool IsReadOnly() const;
  783. __declspec(dllexport) TBool IsHidden() const;
  784. __declspec(dllexport) TBool IsSystem() const;
  785. __declspec(dllexport) TBool IsDir() const;
  786. __declspec(dllexport) TBool IsArchive() const;
  787. inline const TUid& operator[](TInt anIndex) const;
  788. inline TBool IsUidPresent(TUid aUid) const;
  789. inline TBool IsTypeValid() const;
  790. inline TUid MostDerivedUid() const;
  791. public:
  792. #line 893
  793. TUint iAtt;
  794. TInt iSize;
  795. TTime iModified;
  796. TUidType iType;
  797. #line 920
  798. TBufC<KMaxFileName> iName;
  799. private:
  800. TUint32 iReserved[2];
  801. };
  802. class RDir;
  803. class TEntryArray
  804. #line 947
  805. {
  806. public:
  807. __declspec(dllexport) TEntryArray();
  808. __declspec(dllexport) TInt Count() const;
  809. __declspec(dllexport) const TEntry& operator[](TInt anIndex) const;
  810. private:
  811. TInt iCount;
  812. TInt iIndex;
  813. const TEntry* iPos;
  814. TBuf8<KEntryArraySize> iBuf;
  815. friend class RDir;
  816. friend class RFs;
  817. };
  818. class TDriveInfo
  819. #line 973
  820. {
  821. public:
  822. TMediaType iType;
  823.     TBatteryState iBattery;
  824. #line 997
  825. TUint iDriveAtt;
  826. #line 1010
  827. TUint iMediaAtt;
  828. private:
  829. TUint32 iReserved;
  830. };
  831. class TVolumeInfo
  832. #line 1033
  833. {
  834. public:
  835. __declspec(dllexport) TVolumeInfo();
  836. TDriveInfo iDrive;
  837. TUint iUniqueID;
  838. TInt64 iSize;
  839. TInt64 iFree;
  840. TBufC<KMaxFileName> iName;
  841. private:
  842. TUint32 iReserved[4];
  843. };
  844. class TDriveUnit
  845. #line 1094
  846. {
  847. public:
  848. inline TDriveUnit() {};
  849. __declspec(dllexport) TDriveUnit(TInt aDrive);
  850. __declspec(dllexport) TDriveUnit(const TDesC& aDrive);
  851. __declspec(dllexport) TDriveUnit& operator=(TInt aDrive);
  852. __declspec(dllexport) TDriveUnit& operator=(const TDesC& aDrive);
  853. inline operator TInt() const;
  854. __declspec(dllexport) TDriveName Name() const;
  855. private:
  856. TInt iDrive;
  857. };
  858. class RFs;
  859. class TParseBase
  860. #line 1139
  861. {
  862. private:
  863. struct SField {TUint8 pos;TUint8 len;TUint8 present;TUint8 filler;};
  864. enum TField {EDrive,EPath,EName,EExt,EMaxFields};
  865. enum TWild {EWildName=0x01,EWildExt=0x02,EWildEither=0x04,EIsRoot=0x08,EWildIsKMatchOne=0x10,EWildIsKMatchAny=0x20};
  866. public:
  867. __declspec(dllexport) TParseBase();
  868. __declspec(dllexport) TInt PopDir();
  869. __declspec(dllexport) TInt AddDir(const TDesC& aName);
  870. __declspec(dllexport) const TDesC& FullName() const;
  871. __declspec(dllexport) TPtrC Drive() const;
  872. __declspec(dllexport) TPtrC Path() const;
  873. __declspec(dllexport) TPtrC DriveAndPath() const;
  874. __declspec(dllexport) TPtrC Name() const;
  875. __declspec(dllexport) TPtrC Ext() const;
  876. __declspec(dllexport) TPtrC NameAndExt() const;
  877. __declspec(dllexport) TBool DrivePresent() const;
  878. __declspec(dllexport) TBool PathPresent() const;
  879. __declspec(dllexport) TBool NamePresent() const;
  880. __declspec(dllexport) TBool ExtPresent() const;
  881. __declspec(dllexport) TBool NameOrExtPresent() const;
  882. __declspec(dllexport) TBool IsRoot() const;
  883. __declspec(dllexport) TBool IsWild() const;
  884. __declspec(dllexport) TBool IsKMatchOne() const;
  885. __declspec(dllexport) TBool IsKMatchAny() const;
  886. __declspec(dllexport) TBool IsNameWild() const;
  887. __declspec(dllexport) TBool IsExtWild() const;
  888. protected:
  889. virtual TDes& NameBuf() = 0;
  890. virtual const TDesC& NameBufC() const = 0;
  891. TInt Set(const TDesC* aName,const TDesC* aRelated,const TDesC* aDefault,TBool allowWild);
  892. private:
  893. TInt ParseDrive(TLex& aName,TBool& aDone);
  894. TInt ParsePath(TLex& aName,TBool& aDone);
  895. TInt ParseName(TLex& aName,TBool& aDone);
  896. TInt ParseExt(TLex& aName,TBool& aDone);
  897. protected:
  898. TInt16 iMod;
  899. private:
  900. TInt16 iWild;
  901. SField iField[EMaxFields];
  902. };
  903. class TParsePtr : public TParseBase
  904. #line 1203
  905. {
  906. public:
  907. __declspec(dllexport) TParsePtr(TDes& aName);
  908. protected:
  909. __declspec(dllexport) TDes& NameBuf();
  910. __declspec(dllexport) const TDesC& NameBufC() const;
  911. private:
  912. TPtr iNameBuf;
  913. };
  914. class TParsePtrC : public TParseBase
  915. #line 1235
  916. {
  917. public:
  918. __declspec(dllexport) TParsePtrC(const TDesC& aName);
  919. protected:
  920. __declspec(dllexport) TDes& NameBuf();
  921. __declspec(dllexport) const TDesC& NameBufC() const;
  922. private:
  923. TPtrC iNameBuf;
  924. };
  925. class TParse : public TParseBase
  926. #line 1265
  927. {
  928. public:
  929. __declspec(dllexport) TParse();
  930. __declspec(dllexport) TInt Set(const TDesC& aName,const TDesC* aRelated,const TDesC* aDefault);
  931. __declspec(dllexport) TInt SetNoWild(const TDesC& aName,const TDesC* aRelated,const TDesC* aDefault);
  932. protected:
  933. __declspec(dllexport) TDes& NameBuf();
  934. __declspec(dllexport) const TDesC& NameBufC() const;
  935. private:
  936. TFileName iNameBuf;
  937. };
  938. class CDir : public CBase
  939. #line 1289
  940. {
  941. public:
  942. __declspec(dllexport) virtual ~CDir();
  943. __declspec(dllexport) TInt Count() const;
  944. __declspec(dllexport) const TEntry& operator[](TInt anIndex) const;
  945. __declspec(dllexport) TInt Sort(TUint aEntrySortKey);
  946. protected:
  947. __declspec(dllexport) CDir();
  948. __declspec(dllexport) static CDir* NewL();
  949. __declspec(dllexport) void AddL(const TEntry& anEntry);
  950. __declspec(dllexport) void ExtractL(TBool aRemove,CDir*& aDir);
  951. __declspec(dllexport) void Compress();
  952. protected:
  953. CArrayPakFlat<TEntry> * iArray;
  954. friend class RFs;
  955. friend class TOpenFileScan;
  956. };
  957. class RFs : public RSessionBase
  958. #line 1380
  959. {
  960. public:
  961. __declspec(dllexport) TInt Connect(TInt aMessageSlots=KFileServerDefaultMessageSlots);
  962. __declspec(dllexport) TVersion Version() const;
  963. __declspec(dllexport) TInt AddFileSystem(const TDesC& aFileName) const;
  964. __declspec(dllexport) TInt MountFileSystem(const TDesC& aFileSystemName,TInt aDrive) const;
  965. __declspec(dllexport) TInt MountFileSystem(const TDesC& aFileSystemName,TInt aDrive, TBool aIsSync) const;
  966. __declspec(dllexport) TInt MountFileSystemAndScan(const TDesC& aFileSystemName,TInt aDrive,TBool& aIsMountSuccess) const;
  967. __declspec(dllexport) TInt MountFileSystem(const TDesC& aFileSystemName,const TDesC& aExtensionName,TInt aDrive);
  968. __declspec(dllexport) TInt MountFileSystem(const TDesC& aFileSystemName,const TDesC& aExtensionName,TInt aDrive, TBool aIsSync);
  969. __declspec(dllexport) TInt MountFileSystemAndScan(const TDesC& aFileSystemName,const TDesC& aExtensionName,TInt aDrive,TBool& aIsMountSuccess) const;
  970. __declspec(dllexport) TInt DismountFileSystem(const TDesC& aFileSystemName,TInt aDrive) const;
  971. __declspec(dllexport) TInt RemoveFileSystem(const TDesC& aFileSystemName) const;
  972. __declspec(dllexport) TInt FileSystemName(TDes& aName,TInt aDrive) const;
  973. __declspec(dllexport) TInt AddExtension(const TDesC& aFileName);
  974. __declspec(dllexport) TInt MountExtension(const TDesC& aExtensionName,TInt aDrive);
  975. __declspec(dllexport) TInt DismountExtension(const TDesC& aExtensionName,TInt aDrive);
  976. __declspec(dllexport) TInt RemoveExtension(const TDesC& aExtensionName);
  977. __declspec(dllexport) TInt ExtensionName(TDes& aExtensionName,TInt aDrive,TInt aPos);
  978. __declspec(dllexport) TInt RemountDrive(TInt aDrive,const TDesC8* aMountInfo=0 ,TUint aFlags=0);
  979. __declspec(dllexport) void NotifyChange(TNotifyType aType,TRequestStatus& aStat);
  980. __declspec(dllexport) void NotifyChange(TNotifyType aType,TRequestStatus& aStat,const TDesC& aPathName);
  981. __declspec(dllexport) void NotifyChangeCancel();
  982. __declspec(dllexport) void NotifyChangeCancel(TRequestStatus& aStat);
  983. __declspec(dllexport) void NotifyDiskSpace(TInt64 aThreshold,TInt aDrive,TRequestStatus& aStat);
  984. __declspec(dllexport) void NotifyDiskSpaceCancel(TRequestStatus& aStat);
  985. __declspec(dllexport) void NotifyDiskSpaceCancel();
  986. __declspec(dllexport) TInt DriveList(TDriveList& aList) const;
  987. __declspec(dllexport) TInt Drive(TDriveInfo& anInfo,TInt aDrive=KDefaultDrive) const;
  988. __declspec(dllexport) TInt Volume(TVolumeInfo& aVol,TInt aDrive=KDefaultDrive) const;
  989. __declspec(dllexport) TInt SetVolumeLabel(const TDesC& aName,TInt aDrive=KDefaultDrive);
  990. __declspec(dllexport) TInt Subst(TDes& aPath,TInt aDrive=KDefaultDrive) const;
  991. __declspec(dllexport) TInt SetSubst(const TDesC& aPath,TInt aDrive=KDefaultDrive);
  992. __declspec(dllexport) TInt RealName(const TDesC& aName,TDes& aResult) const;
  993.     __declspec(dllexport) TInt GetMediaSerialNumber(TMediaSerialNumber& aSerialNum, TInt aDrive);
  994. __declspec(dllexport) TInt SessionPath(TDes& aPath) const;
  995. __declspec(dllexport) TInt SetSessionPath(const TDesC& aPath);
  996. __declspec(dllexport) TInt Parse(const TDesC& aName,TParse& aParse) const;
  997. __declspec(dllexport) TInt Parse(const TDesC& aName,const TDesC& aRelated,TParse& aParse) const;
  998. __declspec(dllexport) TInt MkDir(const TDesC& aPath);
  999. __declspec(dllexport) TInt MkDirAll(const TDesC& aPath);
  1000. __declspec(dllexport) TInt RmDir(const TDesC& aPath);
  1001. __declspec(dllexport) TInt GetDir(const TDesC& aName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList) const;
  1002. __declspec(dllexport) TInt GetDir(const TDesC& aName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList,CDir*& aDirList) const;
  1003. __declspec(dllexport) TInt GetDir(const TDesC& aName,const TUidType& anEntryUid,TUint anEntrySortKey,CDir*& aFileList) const;
  1004. __declspec(dllexport) TInt Delete(const TDesC& aName);
  1005. __declspec(dllexport) TInt Rename(const TDesC& anOldName,const TDesC& aNewName);
  1006. __declspec(dllexport) TInt Replace(const TDesC& anOldName,const TDesC& aNewName);
  1007. __declspec(dllexport) TInt Att(const TDesC& aName,TUint& aAttValue) const;
  1008. __declspec(dllexport) TInt SetAtt(const TDesC& aName,TUint aSetAttMask,TUint aClearAttMask);
  1009. __declspec(dllexport) TInt Modified(const TDesC& aName,TTime& aTime) const;
  1010. __declspec(dllexport) TInt SetModified(const TDesC& aName,const TTime& aTime);
  1011. __declspec(dllexport) TInt Entry(const TDesC& aName,TEntry& anEntry) const;
  1012. __declspec(dllexport) TInt SetEntry(const TDesC& aName,const TTime& aTime,TUint aSetAttMask,TUint aClearAttMask);
  1013. __declspec(dllexport) TInt ReadFileSection(const TDesC& aName,TInt aPos,TDes8& aDes,TInt aLength) const;
  1014. __declspec(dllexport) static TBool IsValidDrive(TInt aDrive);
  1015. __declspec(dllexport) static TInt CharToDrive(TChar aChar,TInt& aDrive);
  1016. __declspec(dllexport) static TInt DriveToChar(TInt aDrive,TChar& aChar);
  1017. __declspec(dllexport) static TBool IsRomAddress(TAny* aAny);
  1018. __declspec(dllexport) void ResourceCountMarkStart() const;
  1019. __declspec(dllexport) void ResourceCountMarkEnd() const;
  1020. __declspec(dllexport) TInt ResourceCount() const;
  1021. __declspec(dllexport) TInt IsFileOpen(const TDesC& aFile,TBool& anAnswer) const;
  1022. __declspec(dllexport) TInt CheckDisk(const TDesC& aDrive) const;
  1023. __declspec(dllexport) TInt ScanDrive(const TDesC& aDrive) const;
  1024. __declspec(dllexport) TInt GetShortName(const TDesC& aLongName,TDes& aShortName) const;
  1025. __declspec(dllexport) TInt GetLongName(const TDesC& aShortName,TDes& aLongName) const;
  1026. __declspec(dllexport) TBool GetNotifyUser();
  1027. __declspec(dllexport) void SetNotifyUser(TBool aValue);
  1028. __declspec(dllexport) TUint8* IsFileInRom(const TDesC& aFileName) const;
  1029. __declspec(dllexport) TBool IsValidName(const TDesC& anEntryName) const;
  1030. __declspec(dllexport) TBool IsValidName(const TDesC& aFileName,TText& aBadChar) const;
  1031. __declspec(dllexport) TInt GetDriveName(TInt aDrive,TDes& aDriveName) const;
  1032. __declspec(dllexport) TInt SetDriveName(TInt aDrive,const TDesC& aDriveName);
  1033. __declspec(dllexport) TInt LoaderHeapFunction(TInt aFunction, TAny *aArg1=0 , TAny *aArg2=0 );
  1034. __declspec(dllexport) TInt SetErrorCondition(TInt anError,TInt aCount=0);
  1035. __declspec(dllexport) TInt SetDebugRegister(TInt aVal);
  1036. __declspec(dllexport) TInt SetAllocFailure(TInt aAllocNum);
  1037. __declspec(dllexport) void DebugNotify(TInt aDrive,TUint aNotifyType,TRequestStatus& aStat);
  1038. __declspec(dllexport) TInt ControlIo(TInt aDrive,TInt aCommand);
  1039. __declspec(dllexport) TInt ControlIo(TInt aDrive,TInt aCommand,TDes8& aParam1);
  1040. __declspec(dllexport) TInt ControlIo(TInt aDrive,TInt aCommand,TDes8& aParam1,TDes8& aParam2);
  1041. __declspec(dllexport) TInt ControlIo(TInt aDrive,TInt aCommand,TAny* aParam1,TAny* aParam2);
  1042. __declspec(dllexport) TInt LockDrive(TInt aDrv, const TMediaPassword &aOld, const TMediaPassword &aNew, TBool aStr);
  1043. __declspec(dllexport) TInt UnlockDrive(TInt aDrv, const TMediaPassword &Pswd, TBool aStr);
  1044. __declspec(dllexport) TInt ClearPassword(TInt aDrv, const TMediaPassword &aPswd);
  1045. __declspec(dllexport) TInt ErasePassword(TInt aDrv);
  1046. __declspec(dllexport) TInt SetSessionToPrivate(TInt aDrive);
  1047. __declspec(dllexport) TInt PrivatePath(TDes& aPath);
  1048. __declspec(dllexport) TInt CreatePrivatePath(TInt aDrive);
  1049. __declspec(dllexport) void StartupInitComplete(TRequestStatus& aStat);
  1050. __declspec(dllexport) TInt SetLocalDriveMapping(const TDesC8& aMapping);
  1051. __declspec(dllexport) TInt FinaliseDrives();
  1052. __declspec(dllexport) TInt SwapFileSystem(const TDesC& aOldFileSystemName,const TDesC& aNewFileSystemName,TInt aDrive) const;
  1053. __declspec(dllexport) TInt ReserveDriveSpace(TInt aDriveNo, TInt aSpace);
  1054. __declspec(dllexport) TInt GetReserveAccess(TInt aDriveNo);
  1055. __declspec(dllexport) TInt ReleaseReserveAccess(TInt aDriveNo);
  1056. __declspec(dllexport) TInt AddPlugin(const TDesC& aFileName) const;
  1057. __declspec(dllexport) TInt RemovePlugin(const TDesC& aPluginName) const;
  1058. __declspec(dllexport) TInt PluginName(TDes& aPluginName,TInt aDrive,TInt aPos);
  1059. __declspec(dllexport) TInt MountPlugin(const TDesC& aPluginName) const;
  1060. __declspec(dllexport) TInt MountPlugin(const TDesC& aPluginName,TInt aDrive) const;
  1061. __declspec(dllexport) TInt MountPlugin(const TDesC& aPluginName,TInt aDrive, TInt aPos) const;
  1062. __declspec(dllexport) TInt DismountPlugin(const TDesC& aPluginName) const;
  1063. __declspec(dllexport) TInt DismountPlugin(const TDesC& aPluginName,TInt aDrive) const;
  1064. __declspec(dllexport) TInt DismountPlugin(const TDesC& aPluginName,TInt aDrive,TInt aPos) const;
  1065. __declspec(dllexport) void NotifyDismount(TInt aDrive, TRequestStatus& aStat, TNotifyDismountMode aMode=EFsDismountRegisterClient) const;
  1066. __declspec(dllexport) void NotifyDismountCancel(TRequestStatus& aStat) const;
  1067. __declspec(dllexport) void NotifyDismountCancel() const;
  1068. __declspec(dllexport) TInt AllowDismount(TInt aDrive) const;
  1069.     __declspec(dllexport) TInt SetStartupConfiguration(TInt aCommand,TAny* aParam1,TAny* aParam2) const;
  1070. private:
  1071. void GetDirL(const TDesC& aMatchName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList,CDir*& aDirList,RDir& aDir) const;
  1072. void GetDirL(const TDesC& aMatchName,TUint anEntryAttMask,TUint anEntrySortKey,CDir*& anEntryList,RDir& aDir) const;
  1073. void GetDirL(const TDesC& aMatchName,const TUidType& aUidType,TUint anEntrySortKey,CDir*& anEntryList,RDir& aDir) const;
  1074. void DoGetDirL(TUint anEntrySortKey,CDir*& anEntryList,RDir& aDir) const;
  1075. TInt GetOpenFileList(TInt& aSessionNum,TInt& aLocalPos,TThreadId& aThreadId,TEntryArray& anArray) const;
  1076. friend class TOpenFileScan;
  1077. };
  1078. #line 1569
  1079. class RFile : public RSubSessionBase
  1080. {
  1081. public:
  1082. __declspec(dllexport) TInt Open(RFs& aFs,const TDesC& aName,TUint aFileMode);
  1083. __declspec(dllexport) void Close();
  1084. __declspec(dllexport) TInt Create(RFs& aFs,const TDesC& aName,TUint aFileMode);
  1085. __declspec(dllexport) TInt Replace(RFs& aFs,const TDesC& aName,TUint aFileMode);
  1086. __declspec(dllexport) TInt Temp(RFs& aFs,const TDesC& aPath,TFileName& aName,TUint aFileMode);
  1087. __declspec(dllexport) TInt Read(TDes8& aDes) const;
  1088. __declspec(dllexport) void Read(TDes8& aDes,TRequestStatus& aStatus) const;
  1089. __declspec(dllexport) TInt Read(TDes8& aDes,TInt aLength) const;
  1090. __declspec(dllexport) void Read(TDes8& aDes,TInt aLength,TRequestStatus& aStatus) const;
  1091. __declspec(dllexport) TInt Read(TInt aPos,TDes8& aDes) const;
  1092. __declspec(dllexport) void Read(TInt aPos,TDes8& aDes,TRequestStatus& aStatus) const;
  1093. __declspec(dllexport) TInt Read(TInt aPos,TDes8& aDes,TInt aLength) const;
  1094. __declspec(dllexport) void Read(TInt aPos,TDes8& aDes,TInt aLength,TRequestStatus& aStatus) const;
  1095. __declspec(dllexport) void ReadCancel(TRequestStatus& aStatus) const;
  1096. __declspec(dllexport) void ReadCancel() const;
  1097. __declspec(dllexport) TInt Write(const TDesC8& aDes);
  1098. __declspec(dllexport) void Write(const TDesC8& aDes,TRequestStatus& aStatus);
  1099. __declspec(dllexport) TInt Write(const TDesC8& aDes,TInt aLength);
  1100. __declspec(dllexport) void Write(const TDesC8& aDes,TInt aLength,TRequestStatus& aStatus);
  1101. __declspec(dllexport) TInt Write(TInt aPos,const TDesC8& aDes);
  1102. __declspec(dllexport) void Write(TInt aPos,const TDesC8& aDes,TRequestStatus& aStatus);
  1103. __declspec(dllexport) TInt Write(TInt aPos,const TDesC8& aDes,TInt aLength);
  1104. __declspec(dllexport) void Write(TInt aPos,const TDesC8& aDes,TInt aLength,TRequestStatus& aStatus);
  1105. __declspec(dllexport) TInt Lock(TInt aPos,TInt aLength) const;
  1106. __declspec(dllexport) TInt UnLock(TInt aPos,TInt aLength) const;
  1107. __declspec(dllexport) TInt Seek(TSeek aMode,TInt& aPos) const;
  1108. __declspec(dllexport) TInt Flush();
  1109. __declspec(dllexport) TInt Size(TInt& aSize) const;
  1110. __declspec(dllexport) TInt SetSize(TInt aSize);
  1111. __declspec(dllexport) TInt Att(TUint& aAttValue) const;
  1112. __declspec(dllexport) TInt SetAtt(TUint aSetAttMask,TUint aClearAttMask);
  1113. __declspec(dllexport) TInt Modified(TTime& aTime) const;
  1114. __declspec(dllexport) TInt SetModified(const TTime& aTime);
  1115. __declspec(dllexport) TInt Set(const TTime& aTime,TUint aSetAttMask,TUint aClearAttMask);
  1116. __declspec(dllexport) TInt ChangeMode(TFileMode aNewMode);
  1117. __declspec(dllexport) TInt Rename(const TDesC& aNewName);
  1118. __declspec(dllexport) TInt Drive(TInt &aDriveNumber, TDriveInfo &aDriveInfo) const;
  1119. __declspec(dllexport) TInt Adopt(RFs& aFs, TInt aHandle);
  1120. __declspec(dllexport) TInt AdoptFromClient(const RMessage2& aMsg, TInt aFsHandleIndex, TInt aFileHandleIndex);
  1121. __declspec(dllexport) TInt AdoptFromServer(TInt aFsHandle, TInt aFileHandle);
  1122. __declspec(dllexport) TInt AdoptFromCreator(TInt aFsIndex, TInt aFileHandleIndex);
  1123. __declspec(dllexport) TInt Name(TDes& aName) const;
  1124. __declspec(dllexport) TInt TransferToServer(TIpcArgs& aIpcArgs, TInt aFsHandleIndex, TInt aFileHandleIndex) const;
  1125. __declspec(dllexport) TInt TransferToClient(const RMessage2& aMsg, TInt aFileHandleIndex) const;
  1126. __declspec(dllexport) TInt TransferToProcess(RProcess& aProcess, TInt aFsHandleIndex, TInt aFileHandleIndex) const;
  1127. __declspec(dllexport) TInt Duplicate(const RFile& aFile, TOwnerType aType=EOwnerProcess);
  1128. __declspec(dllexport) TInt FullName(TDes& aName) const;
  1129. private:
  1130. TInt DuplicateHandle(TInt& aSubSessionHandle) const;
  1131. };
  1132. class RDir : public RSubSessionBase
  1133. #line 1655
  1134. {
  1135. public:
  1136. __declspec(dllexport) TInt Open(RFs& aFs,const TDesC& aMatchName,const TUidType& aUidType);
  1137. __declspec(dllexport) TInt Open(RFs& aFs,const TDesC& aMatchName,TUint anAttMask);
  1138. __declspec(dllexport) void Close();
  1139. __declspec(dllexport) TInt Read(TEntryArray& anArray) const;
  1140. __declspec(dllexport) void Read(TEntryArray& anArray,TRequestStatus& aStatus) const;
  1141. __declspec(dllexport) TInt Read(TEntry& anEntry) const;
  1142. __declspec(dllexport) void Read(TPckg<TEntry>& anEntry,TRequestStatus& aStatus) const;
  1143. };
  1144. class RFormat : public RSubSessionBase
  1145. #line 1681
  1146. {
  1147. public:
  1148. __declspec(dllexport) TInt Open(RFs& aFs,const TDesC& aName,TUint aFormatMode,TInt& aCount);
  1149. __declspec(dllexport) TInt Open(RFs& aFs,const TDesC& aName,TUint aFormatMode,TInt& aCount,const TDesC8& anInfo);
  1150. __declspec(dllexport) void Close();
  1151. __declspec(dllexport) TInt Next(TInt& aStep);
  1152. __declspec(dllexport) void Next(TPckgBuf<TInt>& aStep,TRequestStatus& aStatus);
  1153. };
  1154. class RRawDisk : public RSubSessionBase
  1155. #line 1704
  1156. {
  1157. public:
  1158. __declspec(dllexport) TInt Open(RFs& aFs,TInt aDrive);
  1159. __declspec(dllexport) void Close();
  1160. __declspec(dllexport) TInt Read(TInt64 aPos,TDes8& aDes);
  1161. __declspec(dllexport) TInt Write(TInt64 aPos,TDesC8& aDes);
  1162. private:
  1163. TInt iDrive;
  1164. };
  1165. class CDirStack;
  1166. class CDirScan : public CBase
  1167. #line 1733
  1168.     {
  1169. public:
  1170. enum TScanDirection
  1171. {
  1172. EScanUpTree,
  1173. EScanDownTree
  1174. };
  1175. public:
  1176. __declspec(dllexport) static CDirScan* NewL(RFs& aFs);
  1177. __declspec(dllexport) static CDirScan* NewLC(RFs& aFs);
  1178. __declspec(dllexport) ~CDirScan();
  1179. __declspec(dllexport) void SetScanDataL(const TDesC& aMatchName,TUint anEntryAttMask,TUint anEntrySortMask,TScanDirection aScanDir=EScanDownTree);
  1180. __declspec(dllexport) void NextL(CDir*& aDirEntries);
  1181. __declspec(dllexport) TPtrC AbbreviatedPath();
  1182. __declspec(dllexport) TPtrC FullPath();
  1183. protected:
  1184. CDirScan(RFs& aFs);
  1185. private:
  1186. inline RFs& Fs();
  1187. void UpdateAbbreviatedPath();
  1188. void ScanUpTreeL(CDir*& aDirEntries);
  1189. void ScanDownTreeL(CDir*& aDirEntries);
  1190. void GetDirEntriesL(CDir*& aDirEntries);
  1191. private:
  1192. RFs* const iFs;
  1193. TParse iFullPath;
  1194. TPtrC iAbbreviatedPath;
  1195. TInt iAbbreviatedPathPos;
  1196. TUint iEntryAttMask;
  1197. TUint iEntrySortMask;
  1198. TBool iScanning;
  1199. TScanDirection iScanDir;
  1200. CDirStack* iStack;
  1201. };
  1202. enum TFileManError
  1203. #line 1792
  1204. {
  1205. ENoExtraInformation,
  1206. #line 1808
  1207. EInitializationFailed,
  1208. #line 1819
  1209. EScanNextDirectoryFailed,
  1210. ESrcOpenFailed,
  1211. ETrgOpenFailed,
  1212. ENoFilesProcessed
  1213. };
  1214. class MFileManObserver
  1215. #line 1868
  1216. {
  1217. public:
  1218. enum TControl
  1219. {
  1220. EContinue,
  1221. ERetry,
  1222. EAbort,
  1223. ECancel
  1224. };
  1225. public:
  1226. __declspec(dllexport) virtual TControl NotifyFileManStarted();
  1227. __declspec(dllexport) virtual TControl NotifyFileManOperation();
  1228. __declspec(dllexport) virtual TControl NotifyFileManEnded();
  1229. };
  1230. class CFileBase : public CBase
  1231. #line 1919
  1232. {
  1233. public:
  1234. __declspec(dllexport) void SetObserver(MFileManObserver* anObserver);
  1235. public:
  1236. __declspec(dllexport) const TEntry& CurrentEntry();
  1237. __declspec(dllexport) TPtrC AbbreviatedPath();
  1238. __declspec(dllexport) TPtrC FullPath();
  1239. __declspec(dllexport) TInt GetLastError();
  1240. __declspec(dllexport) TFileManError GetMoreInfoAboutError();
  1241. protected:
  1242. __declspec(dllexport) CFileBase(RFs& anFs);
  1243. __declspec(dllexport) void ConstructL();
  1244. __declspec(dllexport) ~CFileBase();
  1245. __declspec(dllexport) void RunL();
  1246. __declspec(dllexport) void RunInSeparateThreadL(TThreadFunction aThreadFunction);
  1247. virtual void CompleteOperationL() {};
  1248. virtual void DoOperationL() = 0;
  1249. protected:
  1250. RFs iFs;
  1251. RFs iFsOld;
  1252. RThread iFManThread;
  1253. RSemaphore iSynchronizer;
  1254. CDirScan* iScanner;
  1255. CDir* iDirList;
  1256. TInt iCurrentEntry;
  1257. TUint iMatchEntry;
  1258. TUint iSwitches;
  1259. TParse iSrcFile;
  1260. MFileManObserver* iObserver;
  1261. TInt iLastError;
  1262. TFileManError iErrorInfo;
  1263. TRequestStatus* iStatus;
  1264. HBufC* iSessionPath;
  1265. TInt iNumberOfFilesProcessed;
  1266. friend void DoFManBaseOperationL(TAny* aPtr);
  1267. friend TInt FManBaseThreadFunction(TAny* aPtr);
  1268. };
  1269. class CFileMan : public CFileBase
  1270. #line 2007
  1271. {
  1272. public:
  1273. enum TAction
  1274. {
  1275. ENone,
  1276. EAttribs,
  1277. ECopy,
  1278. EDelete,
  1279. EMove,
  1280. ERename,
  1281. ERmDir,
  1282. ERenameInvalidEntry,
  1283. ECopyFromHandle,
  1284. };
  1285. #line 2078
  1286. enum TSwitch
  1287. {
  1288. EOverWrite=1,
  1289. ERecurse=2
  1290. };
  1291. public:
  1292. __declspec(dllexport) static CFileMan* NewL(RFs& aFs);
  1293. __declspec(dllexport) static CFileMan* NewL(RFs& aFs,MFileManObserver* anObserver);
  1294. ~CFileMan();
  1295. __declspec(dllexport) TAction CurrentAction();
  1296. __declspec(dllexport) void GetCurrentTarget(TFileName& aFile);
  1297. __declspec(dllexport) void GetCurrentSource(TFileName& aFile);
  1298. __declspec(dllexport) TInt BytesTransferredByCopyStep();
  1299. public:
  1300. __declspec(dllexport) TInt Attribs(const TDesC& aName,TUint aSetMask,TUint aClearMask,const TTime& aTime,TUint aSwitch=0);
  1301. __declspec(dllexport) TInt Attribs(const TDesC& aName,TUint aSetMask,TUint aClearMask,const TTime& aTime,TUint aSwitch,TRequestStatus& aStatus);
  1302. __declspec(dllexport) TInt Copy(const TDesC& anOld,const TDesC& aNew,TUint aSwitch=EOverWrite);
  1303. __declspec(dllexport) TInt Copy(const TDesC& anOld,const TDesC& aNew,TUint aSwitch,TRequestStatus& aStatus);
  1304. __declspec(dllexport) TInt Delete(const TDesC& aName,TUint aSwitch=0);
  1305. __declspec(dllexport) TInt Delete(const TDesC& aName,TUint aSwitch,TRequestStatus& aStatus);
  1306. __declspec(dllexport) TInt Move(const TDesC& anOld,const TDesC& aNew,TUint aSwitch=EOverWrite);
  1307. __declspec(dllexport) TInt Move(const TDesC& anOld,const TDesC& aNew,TUint aSwitch,TRequestStatus& aStatus);
  1308. __declspec(dllexport) TInt Rename(const TDesC& anOld,const TDesC& aNew,TUint aSwitch=EOverWrite);
  1309. __declspec(dllexport) TInt Rename(const TDesC& anOld,const TDesC& aNew,TUint aSwitch,TRequestStatus& aStatus);
  1310. __declspec(dllexport) TInt RmDir(const TDesC& aDirName);
  1311. __declspec(dllexport) TInt RmDir(const TDesC& aDirName,TRequestStatus& aStatus);
  1312. __declspec(dllexport) TInt Copy(const RFile& anOld,const TDesC& aNew,TUint aSwitches=EOverWrite);
  1313. __declspec(dllexport) TInt Copy(const RFile& anOld,const TDesC& aNew,TUint aSwitches,TRequestStatus& aStatus);
  1314. protected:
  1315. CFileMan(RFs& aFs);
  1316. TInt RenameInvalidEntry(const TDesC& anOld,const TDesC& aNew,TUint aSwitch=EOverWrite);
  1317. private:
  1318. void CompleteOperationL();
  1319. void DoOperationL();
  1320. void CheckForDirectory();
  1321. void SetFlags(TBool aOverWrite,TBool aRecurse,TBool aScanDirection,TBool aMoveRename);
  1322. void GetSrcAndTrg(TParse& aSrcName,TFileName& aTrgName);
  1323. void DoSynchronize(TInt aRetVal);
  1324. TInt CheckRenameAllowed(const TDesC& aSrcName,const TDesC& aTrgName);
  1325. private:
  1326. void DoAttribsL();
  1327. void DoCopyOrMoveL();
  1328. void DoDeleteL();
  1329. void DoRenameL();
  1330. void DoRmDirL();
  1331. void DoCopyFromHandleL();
  1332. TInt DoCopy(const RFile& aSrcFile, RFile& aDstFile, TInt& aRet);
  1333. private:
  1334. TParse iTrgFile;
  1335. TAction iAction;
  1336. TUint iSetMask;
  1337. TUint iClearMask;
  1338. TTime iTime;
  1339. TInt iBytesTransferred;
  1340. RFile iSrcFileHandle;
  1341. friend void RenameInvalidEntryL(RFs& aFs,TParse& aSrcFile);
  1342. };
  1343. class TFindFile
  1344. #line 2167
  1345. {
  1346. public:
  1347. __declspec(dllexport) TFindFile(RFs& aFs);
  1348. __declspec(dllexport) TInt FindByPath(const TDesC& aFileName,const TDesC* aPathList);
  1349. __declspec(dllexport) TInt FindByDir(const TDesC& aFileName,const TDesC& aDirPath);
  1350. __declspec(dllexport) TInt Find();
  1351. __declspec(dllexport) TInt FindWildByPath(const TDesC& aFileName,const TDesC* aPathList,CDir*& aDirList);
  1352. __declspec(dllexport) TInt FindWildByDir(const TDesC& aFileName,const TDesC& aDirPath,CDir*& aDir);
  1353. __declspec(dllexport) TInt FindWild(CDir*& aDirList);
  1354. inline const TDesC& File() const;
  1355. private:
  1356. TInt DoFind();
  1357. TInt DoFindByPath(const TDesC& aFileName,const TDesC* aPathList);
  1358. TInt DoFindByDir(const TDesC& aFileName,const TDesC& aDir);
  1359. TInt DoFindInDir();
  1360. TInt DoFindNextInPath();
  1361. TInt DoFindNextInDriveList();
  1362. private:
  1363. RFs* const iFs;
  1364. TParse iFile;
  1365. TInt iPathPos;
  1366. TInt iCurrentDrive;
  1367. TInt iMode;
  1368. const TDesC* iPath;
  1369. TDriveList iDrvList;
  1370. CDir** iDir;
  1371. TUint32 iReserved;
  1372. };
  1373. #line 2208
  1374. typedef CDir CFileList;
  1375. class TOpenFileScan
  1376. #line 2226
  1377. {
  1378. public:
  1379. __declspec(dllexport) TOpenFileScan(RFs& aFs);
  1380. __declspec(dllexport) void NextL(CFileList*& aFileList);
  1381. __declspec(dllexport) TThreadId ThreadId() const;
  1382. private:
  1383. RFs* iFs;
  1384. TThreadId iThreadId;
  1385. TInt iScanPos;
  1386. TInt iEntryListPos;
  1387. };
  1388. class TFileText
  1389. {
  1390. public:
  1391. enum TFileState
  1392. {
  1393. EStartOfFile,
  1394. ENormal,
  1395. EReverse
  1396. };
  1397. public:
  1398. __declspec(dllexport) TFileText();
  1399. __declspec(dllexport) void Set(RFile& aFile);
  1400. __declspec(dllexport) TInt Read(TDes& aDes);
  1401. __declspec(dllexport) TInt Write(const TDesC& aDes);
  1402. __declspec(dllexport) TInt Seek(TSeek aMode);
  1403. private:
  1404. void NextRecord();
  1405. TInt CheckForTerminator(TBool& anAnswer);
  1406. TInt FillBuffer();
  1407. private:
  1408. const TText* iNext;
  1409. const TText* iEnd;
  1410. TFileState iState;
  1411. RFile iFile;
  1412. TBuf8<0x100> iReadBuf;
  1413. };
  1414. #line 2284
  1415. __declspec(dllexport) TBool FileNamesIdentical(const TDesC& aFileName1,const TDesC& aFileName2);
  1416. #line 2294
  1417. class TLocalDriveMappingInfo
  1418. {
  1419. public:
  1420. enum TDrvMapOperation {EWriteMappingsAndSet=0,EWriteMappingsNoSet=1,ESwapIntMappingAndSet=2};
  1421. public:
  1422. TInt iDriveMapping[KMaxLocalDrives];
  1423. TDrvMapOperation iOperation;
  1424.     };
  1425. typedef TPckgBuf<TLocalDriveMappingInfo> TLocalDriveMappingInfoBuf;
  1426. class RPlugin : public RSubSessionBase
  1427. {
  1428. public:
  1429. __declspec(dllexport) TInt Open(RFs& aFs, TInt aPos);
  1430. __declspec(dllexport) void Close();
  1431. protected:
  1432. __declspec(dllexport) void DoRequest(TInt aReqNo,TRequestStatus& aStatus) const;
  1433. __declspec(dllexport) void DoRequest(TInt aReqNo,TRequestStatus& aStatus,TDes8& a1) const;
  1434. __declspec(dllexport) void DoRequest(TInt aReqNo,TRequestStatus& aStatus,TDes8& a1,TDes8& a2) const;
  1435. __declspec(dllexport) TInt DoControl(TInt aFunction) const;
  1436. __declspec(dllexport) TInt DoControl(TInt aFunction,TDes8& a1) const;
  1437. __declspec(dllexport) TInt DoControl(TInt aFunction,TDes8& a1,TDes8& a2) const;
  1438. __declspec(dllexport) void DoCancel(TUint aReqMask) const;
  1439. };
  1440. #line 2334
  1441. const TInt KPluginAutoAttach = 0x19;
  1442. #line 2345
  1443. const TInt KPluginAutoLocate = 0xC8;
  1444. const TInt KFileServerUidValue = 0x100039e3;
  1445. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\f32file.inl" /* stack depth 7 */
  1446. #line 10
  1447. inline const TUid& TEntry::operator[](TInt anIndex) const
  1448. #line 21
  1449.     {return(iType[anIndex]);}
  1450. inline TBool TEntry::IsUidPresent(TUid aUid) const
  1451. #line 37
  1452.     {return(iType.IsPresent(aUid));}
  1453. inline TBool TEntry::IsTypeValid() const
  1454. #line 51
  1455.     {return(iType.IsValid());}
  1456. inline TUid TEntry::MostDerivedUid() const
  1457. #line 65
  1458.     {return(iType.MostDerived());}
  1459. inline TInt EntrySize(const TEntry& anEntry)
  1460. {return(sizeof(TUint)+sizeof(TInt)+sizeof(TTime)+sizeof(TInt)+sizeof(TUidType)+anEntry.iName.Size());}
  1461. inline const TDesC& TFindFile::File() const
  1462. #line 93
  1463. {return iFile.FullName();}
  1464. inline RFs& CDirScan::Fs()
  1465. {return(*iFs);}
  1466. inline TDriveUnit::operator TInt() const
  1467. {return(iDrive);}
  1468. #line 2355 "C:\Symbian\9.1\S60_3rd\epoc32\include\f32file.h" /* stack depth 6 */
  1469. #line 20 "C:\Symbian\9.1\S60_3rd\epoc32\include\fntstore.h" /* stack depth 5 */
  1470. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\gdi.h" /* stack depth 6 */
  1471. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32std.h" /* stack depth 7 */
  1472. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32strm.h" /* stack depth 8 */
  1473. #line 12
  1474. const TInt KMaxCardinality=0x1fffffff;
  1475. class MStreamBuf;
  1476. class RWriteStream;
  1477. #line 27
  1478. class RReadStream
  1479. {
  1480. public:
  1481. inline RReadStream();
  1482. inline RReadStream(MStreamBuf* aSource);
  1483. inline MStreamBuf* Source();
  1484. inline void Close();
  1485. __declspec(dllexport) void Release();
  1486. __declspec(dllexport) void PushL();
  1487. inline void Pop();
  1488. __declspec(dllexport) void ReadL(TDes8& aDes);
  1489. __declspec(dllexport) void ReadL(TDes8& aDes,TInt aLength);
  1490. __declspec(dllexport) void ReadL(TDes8& aDes,TChar aDelim);
  1491. __declspec(dllexport) void ReadL(TUint8* aPtr,TInt aLength);
  1492. __declspec(dllexport) void ReadL(TInt aLength);
  1493. inline void ReadL(RWriteStream& aStream);
  1494. inline void ReadL(RWriteStream& aStream,TInt aLength);
  1495. __declspec(dllexport) void ReadL(TDes16& aDes);
  1496. __declspec(dllexport) void ReadL(TDes16& aDes,TInt aLength);
  1497. __declspec(dllexport) void ReadL(TDes16& aDes,TChar aDelim);
  1498. __declspec(dllexport) void ReadL(TUint16* aPtr,TInt aLength);
  1499. __declspec(dllexport) TInt8 ReadInt8L();
  1500. __declspec(dllexport) TInt16 ReadInt16L();
  1501. __declspec(dllexport) TInt32 ReadInt32L();
  1502. __declspec(dllexport) TUint8 ReadUint8L();
  1503. __declspec(dllexport) TUint16 ReadUint16L();
  1504. __declspec(dllexport) TUint32 ReadUint32L();
  1505. __declspec(dllexport) TReal32 ReadReal32L() ;
  1506. __declspec(dllexport) TReal64 ReadReal64L() ;
  1507. protected:
  1508. inline void Attach(MStreamBuf* aSource);
  1509. inline void Detach();
  1510. private:
  1511. MStreamBuf* iSrc;
  1512. private:
  1513. friend class RWriteStream;
  1514. };
  1515. template <class T>
  1516. class MExternalizer;
  1517. class TStreamRef;
  1518. #line 82
  1519. class RWriteStream
  1520. {
  1521. public:
  1522. inline RWriteStream();
  1523. inline RWriteStream(const MExternalizer<TStreamRef>& anExter);
  1524. inline RWriteStream(MStreamBuf* aSink);
  1525. inline MStreamBuf* Sink();
  1526. __declspec(dllexport) void Close();
  1527. __declspec(dllexport) void Release();
  1528. __declspec(dllexport) void CommitL();
  1529. __declspec(dllexport) void PushL();
  1530. inline void Pop();
  1531. __declspec(dllexport) void WriteL(const TDesC8& aDes);
  1532. __declspec(dllexport) void WriteL(const TDesC8& aDes,TInt aLength);
  1533. __declspec(dllexport) void WriteL(const TUint8* aPtr,TInt aLength);
  1534. __declspec(dllexport) void WriteL(RReadStream& aStream);
  1535. __declspec(dllexport) void WriteL(RReadStream& aStream,TInt aLength);
  1536. __declspec(dllexport) void WriteL(const TDesC16& aDes);
  1537. __declspec(dllexport) void WriteL(const TDesC16& aDes,TInt aLength);
  1538. __declspec(dllexport) void WriteL(const TUint16* aPtr,TInt aLength);
  1539. __declspec(dllexport) void WriteInt8L(TInt aValue);
  1540. __declspec(dllexport) void WriteInt16L(TInt aValue);
  1541. __declspec(dllexport) void WriteInt32L(TInt32 aValue);
  1542. __declspec(dllexport) void WriteUint8L(TUint aValue);
  1543. __declspec(dllexport) void WriteUint16L(TUint aValue);
  1544. __declspec(dllexport) void WriteUint32L(TUint32 aValue);
  1545. __declspec(dllexport) void WriteReal32L(TReal aValue) ;
  1546. __declspec(dllexport) void WriteReal64L(TReal64 aValue) ;
  1547. protected:
  1548. inline void Attach(MStreamBuf* aSink);
  1549. inline void Detach();
  1550. private:
  1551. __declspec(dllexport) void WriteRefL(TStreamRef aRef);
  1552. private:
  1553. MStreamBuf* iSnk;
  1554. const MExternalizer<TStreamRef> * iExterL;
  1555. private:
  1556. friend class TStreamRef;
  1557. };
  1558. template <class T>
  1559. inline RWriteStream& operator<<(RWriteStream& aStream,const T& anObject);
  1560. template <class T>
  1561. inline RReadStream& operator>>(RReadStream& aStream,T& anObject);
  1562. #line 142
  1563. class TCardinality
  1564. {
  1565. public:
  1566. TCardinality() {}
  1567. inline TCardinality(TInt aCount);
  1568. inline operator TInt() const;
  1569. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  1570. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1571. private:
  1572. TInt iCount;
  1573. private:
  1574. __declspec(dllexport) static void __DbgChkRange(TInt aCount);
  1575. };
  1576. typedef void (*TExternalizeFunction)(const TAny* aPtr,RWriteStream& aStream);
  1577. typedef void (*TInternalizeFunction)(TAny* aPtr,RReadStream& aStream);
  1578. #line 171
  1579. template <class T>
  1580. class TExternalizer
  1581. {
  1582. public:
  1583. inline void operator()(const T& anObject,RWriteStream& aStream) const;
  1584. inline static TExternalizeFunction Function();
  1585. private:
  1586. static void ExternalizeAsL(const TAny* aPtr,RWriteStream& aStream);
  1587. };
  1588. #line 188
  1589. template<> class TExternalizer<TAny>
  1590. {
  1591. public:
  1592. TExternalizer() {}
  1593. inline TExternalizer(TExternalizeFunction aFunction);
  1594. inline void operator()(const TAny* aPtr,RWriteStream& aStream) const;
  1595. inline TExternalizeFunction Function() const;
  1596. private:
  1597. TExternalizeFunction iFunc;
  1598. };
  1599. template <class T>
  1600. class TInternalizer
  1601. {
  1602. public:
  1603. inline void operator()(T& anObject,RReadStream& aStream) const;
  1604. inline static TInternalizeFunction Function();
  1605. private:
  1606. static void InternalizeAsL(TAny* aPtr,RReadStream& aStream);
  1607. };
  1608. template<> class TInternalizer<TAny>
  1609. {
  1610. public:
  1611. TInternalizer() {}
  1612. inline TInternalizer(TInternalizeFunction aFunction);
  1613. inline void operator()(TAny* aPtr,RReadStream& aStream) const;
  1614. inline TInternalizeFunction Function() const;
  1615. private:
  1616. TInternalizeFunction iFunc;
  1617. };
  1618. #line 258
  1619. template <class T>
  1620. class MExternalizer
  1621. {
  1622. public:
  1623. inline void operator()(const T& anObject,RWriteStream& aStream) const;
  1624. private:
  1625. virtual void ExternalizeL(const T& anObject,RWriteStream& aStream) const=0;
  1626. };
  1627. #line 281
  1628. template <class T>
  1629. class MInternalizer
  1630. {
  1631. public:
  1632. inline void operator()(T& anObject,RReadStream& aStream) const;
  1633. private:
  1634. virtual void InternalizeL(T& anObject,RReadStream& aStream) const=0;
  1635. };
  1636. class TStreamRef
  1637. {
  1638. public:
  1639. inline TStreamRef(const TAny* aPtr,TExternalizeFunction aFunction);
  1640. inline const TAny* Ptr() const;
  1641. inline TExternalizeFunction Function() const;
  1642. inline void ExternalizeL(RWriteStream& aStream) const;
  1643. private:
  1644. const TAny* iPtr;
  1645. TExternalizeFunction iFunc;
  1646. };
  1647. class Externalize
  1648. {
  1649. public:
  1650. class Member {};
  1651. class Function {};
  1652. };
  1653. class Internalize
  1654. {
  1655. public:
  1656. class Member {};
  1657. class Function {};
  1658. };
  1659. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32strm.inl" /* stack depth 9 */
  1660. inline RReadStream::RReadStream()
  1661. : iSrc(0 )
  1662. {}
  1663. inline RReadStream::RReadStream(MStreamBuf* aSource)
  1664. : iSrc(aSource)
  1665. {}
  1666. inline MStreamBuf* RReadStream::Source()
  1667. #line 32
  1668. {return iSrc;}
  1669. inline void RReadStream::Close()
  1670. {Release();}
  1671. inline void RReadStream::ReadL(RWriteStream& aStream)
  1672. {aStream.WriteL(*this);}
  1673. inline void RReadStream::ReadL(RWriteStream& aStream,TInt aLength)
  1674. {aStream.WriteL(*this,aLength);}
  1675. inline void RReadStream::Pop()
  1676. {CleanupStack::Pop();}
  1677. inline void RReadStream::Attach(MStreamBuf* aSource)
  1678. #line 66
  1679. {iSrc=aSource;}
  1680. inline void RReadStream::Detach()
  1681. {iSrc=0 ;}
  1682. inline RWriteStream::RWriteStream()
  1683. : iSnk(0 ),iExterL(0 )
  1684. {}
  1685. inline RWriteStream::RWriteStream(const MExternalizer<TStreamRef>& anExter)
  1686. : iSnk(0 ),iExterL(&anExter)
  1687. {}
  1688. inline RWriteStream::RWriteStream(MStreamBuf* aSink)
  1689. : iSnk(aSink),iExterL(0 )
  1690. {}
  1691. inline MStreamBuf* RWriteStream::Sink()
  1692. {return iSnk;}
  1693. inline void RWriteStream::Pop()
  1694. {CleanupStack::Pop();}
  1695. inline void RWriteStream::Attach(MStreamBuf* aSink)
  1696. #line 119
  1697. {iSnk=aSink;}
  1698. inline void RWriteStream::Detach()
  1699. {iSnk=0 ;}
  1700. inline TCardinality::TCardinality(TInt aCount)
  1701. :iCount(aCount)
  1702. {
  1703. __DbgChkRange(aCount);
  1704. }
  1705. inline TCardinality::operator TInt() const
  1706. {
  1707. __DbgChkRange(iCount);
  1708. return iCount;
  1709. }
  1710. template <class T>
  1711. inline void TExternalizer<T>::operator()(const T& anObject,RWriteStream& aStream) const
  1712. {aStream<<anObject;}
  1713. template <class T>
  1714. inline TExternalizeFunction TExternalizer<T>::Function()
  1715. {return &ExternalizeAsL;}
  1716. template <class T>
  1717. void TExternalizer<T>::ExternalizeAsL(const TAny* aPtr,RWriteStream& aStream)
  1718. {aStream<<*((const T*)aPtr);}
  1719. inline TExternalizer<TAny>::TExternalizer(TExternalizeFunction aFunction)
  1720. : iFunc(aFunction)
  1721. {}
  1722. inline void TExternalizer<TAny>::operator()(const TAny* aPtr,RWriteStream& aStream) const
  1723. {(*iFunc)(aPtr,aStream);}
  1724. inline TExternalizeFunction TExternalizer<TAny>::Function() const
  1725. {return iFunc;}
  1726. template <class T>
  1727. inline void TInternalizer<T>::operator()(T& anObject,RReadStream& aStream) const
  1728. {aStream>>anObject;}
  1729. template <class T>
  1730. inline TInternalizeFunction TInternalizer<T>::Function()
  1731. {return &InternalizeAsL;}
  1732. template <class T>
  1733. void TInternalizer<T>::InternalizeAsL(TAny* aPtr,RReadStream& aStream)
  1734. {aStream>> *((T*)aPtr);}
  1735. inline TInternalizer<TAny>::TInternalizer(TInternalizeFunction aFunction)
  1736. : iFunc(aFunction)
  1737. {}
  1738. inline void TInternalizer<TAny>::operator()(TAny* aPtr,RReadStream& aStream) const
  1739. {(*iFunc)(aPtr,aStream);}
  1740. inline TInternalizeFunction TInternalizer<TAny>::Function() const
  1741. {return iFunc;}
  1742. template <class T>
  1743. inline void MExternalizer<T>::operator()(const T& anObject,RWriteStream& aStream) const
  1744. {ExternalizeL(anObject,aStream);}
  1745. template <class T>
  1746. inline void MInternalizer<T>::operator()(T& anObject,RReadStream& aStream) const
  1747. {InternalizeL(anObject,aStream);}
  1748. inline TStreamRef::TStreamRef(const TAny* aPtr,TExternalizeFunction aFunction)
  1749. : iPtr(aPtr),iFunc(aFunction)
  1750. {}
  1751. inline const TAny* TStreamRef::Ptr() const
  1752. {return iPtr;}
  1753. inline TExternalizeFunction TStreamRef::Function() const
  1754. {return iFunc;}
  1755. inline void TStreamRef::ExternalizeL(RWriteStream& aStream) const
  1756. {aStream.WriteRefL(*this);}
  1757. __declspec(dllexport) void ExternalizeL(TInt64 anInt64,RWriteStream& aStream);
  1758. __declspec(dllexport) void InternalizeL(TInt64& anInt64,RReadStream& aStream);
  1759. __declspec(dllexport) void ExternalizeL(const TDesC8& aDes8,RWriteStream& aStream);
  1760. __declspec(dllexport) void ExternalizeL(const TDesC16& aDes16,RWriteStream& aStream);
  1761. __declspec(dllexport) void InternalizeL(TDes8& aDes8,RReadStream& aStream);
  1762. __declspec(dllexport) void InternalizeL(TDes16& aDes16,RReadStream& aStream);
  1763. __declspec(dllexport) void ExternalizeL(const TCheckedUid& aUid,RWriteStream& aStream);
  1764. __declspec(dllexport) void InternalizeL(TCheckedUid& aUid,RReadStream& aStream);
  1765. __declspec(dllexport) void ExternalizeL(TPoint aPoint,RWriteStream& aStream);
  1766. __declspec(dllexport) void ExternalizeL(TSize aSize,RWriteStream& aStream);
  1767. __declspec(dllexport) void ExternalizeL(const TRect& aRect,RWriteStream& aStream);
  1768. __declspec(dllexport) void InternalizeL(TPoint& aPoint,RReadStream& aStream);
  1769. __declspec(dllexport) void InternalizeL(TSize& aSize,RReadStream& aStream);
  1770. __declspec(dllexport) void InternalizeL(TRect& aRect,RReadStream& aStream);
  1771. __declspec(dllexport) void ExternalizeL(const CBufBase& aBuf,RWriteStream& aStream);
  1772. __declspec(dllexport) void InternalizeL(CBufBase& aBuf,RReadStream& aStream);
  1773. __declspec(dllexport) void ArrayExternalizeCountL(TInt aCount,RWriteStream& aStream);
  1774. __declspec(dllexport) void DoExternalizeAllL(const CArrayFixBase& anArray,RWriteStream& aStream,TExternalizer<TAny> anExter);
  1775. __declspec(dllexport) TInt ArrayInternalizeCountL(RReadStream& aStream);
  1776. __declspec(dllexport) void DoInternalizeAllL(CArrayFixBase& anArray,RReadStream& aStream,TInternalizer<TAny> anInter);
  1777. template <class T>
  1778. inline void ExternalizeCountL(const CArrayFix<T>& anArray,RWriteStream& aStream)
  1779. {ArrayExternalizeCountL(anArray.Count(),aStream);}
  1780. template <class T>
  1781. inline void ExternalizeAllL(const CArrayFix<T>& anArray,RWriteStream& aStream)
  1782. {DoExternalizeAllL(anArray,aStream,TExternalizer<T>::Function());}
  1783. template <class T>
  1784. void InternalizeCountL(CArrayFix<T>& anArray,RReadStream& aStream)
  1785. {
  1786. TInt n=ArrayInternalizeCountL(aStream);
  1787. anArray.ResizeL(n);
  1788. }
  1789. template <class T>
  1790. inline void InternalizeAllL(CArrayFix<T>& anArray,RReadStream& aStream)
  1791. {DoInternalizeAllL(anArray,aStream,TInternalizer<T>::Function());}
  1792. template <class T>
  1793. void ExternalizeL(const CArrayFix<T>& anArray,RWriteStream& aStream)
  1794. {
  1795. ExternalizeCountL(anArray,aStream);
  1796. ExternalizeAllL(anArray,aStream);
  1797. }
  1798. template <class T>
  1799. void InternalizeL(CArrayFix<T>& anArray,RReadStream& aStream)
  1800. {
  1801. InternalizeCountL(anArray,aStream);
  1802. InternalizeAllL(anArray,aStream);
  1803. }
  1804. template <class T>
  1805. inline void ExternalizeL(const T* aPtr,RWriteStream& aStream)
  1806. {aStream<<TStreamRef(aPtr,TExternalizer<T>::Function());}
  1807. template <class T>
  1808. inline void DoExternalizeL(const T& anObject,RWriteStream& aStream,Externalize::Member)
  1809. {anObject.ExternalizeL(aStream);}
  1810. template <class T>
  1811. inline void DoInternalizeL(T& anObject,RReadStream& aStream,Internalize::Member)
  1812. {anObject.InternalizeL(aStream);}
  1813. template <class T>
  1814. inline void DoExternalizeL(const T& anObject,RWriteStream& aStream,Externalize::Function)
  1815. {ExternalizeL(anObject,aStream);}
  1816. template <class T>
  1817. inline void DoInternalizeL(T& anObject,RReadStream& aStream,Internalize::Function)
  1818. {InternalizeL(anObject,aStream);}
  1819. inline Externalize::Member Externalization(const TAny*)
  1820. {return Externalize::Member();}
  1821. inline Internalize::Member Internalization(TAny*)
  1822. {return Internalize::Member();}
  1823. inline Externalize::Function Externalization(const TDesC8*)
  1824. {return Externalize::Function();}
  1825. inline Externalize::Function Externalization(const TDesC16*)
  1826. {return Externalize::Function();}
  1827. inline Internalize::Function Internalization(TDes8*)
  1828. {return Internalize::Function();}
  1829. inline Internalize::Function Internalization(TDes16*)
  1830. {return Internalize::Function();}
  1831. inline Externalize::Function Externalization(const CBufBase*)
  1832. {return Externalize::Function();}
  1833. inline Externalize::Function Externalization(const CArrayFixBase*)
  1834. {return Externalize::Function();}
  1835. inline Internalize::Function Internalization(CBufBase*)
  1836. {return Internalize::Function();}
  1837. inline Internalize::Function Internalization(CArrayFixBase*)
  1838. {return Internalize::Function();}
  1839. template <class T>
  1840. inline Externalize::Function Externalization(T*const*)
  1841. {return Externalize::Function();}
  1842. template <class T>
  1843. inline RWriteStream& operator<<(RWriteStream& aStream,const T& anObject)
  1844. {DoExternalizeL(anObject,aStream,Externalization(&anObject));return aStream;}
  1845. template <class T>
  1846. inline RReadStream& operator>>(RReadStream& aStream,T& anObject)
  1847. {DoInternalizeL(anObject,aStream,Internalization(&anObject));return aStream;}
  1848. inline RWriteStream& operator<<(RWriteStream& aStream,const TInt8& anInt8)
  1849. {aStream.WriteInt8L(anInt8);return aStream;}
  1850. inline RWriteStream& operator<<(RWriteStream& aStream,const TInt16& anInt16)
  1851. {aStream.WriteInt16L(anInt16);return aStream;}
  1852. inline RWriteStream& operator<<(RWriteStream& aStream,const TInt32& anInt32)
  1853. {aStream.WriteInt32L(anInt32);return aStream;}
  1854. inline RWriteStream& operator<<(RWriteStream& aStream,const TUint8& aUint8)
  1855. {aStream.WriteUint8L(aUint8);return aStream;}
  1856. inline RWriteStream& operator<<(RWriteStream& aStream,const TUint16& aUint16)
  1857. {aStream.WriteUint16L(aUint16);return aStream;}
  1858. inline RWriteStream& operator<<(RWriteStream& aStream,const TUint32& aUint32)
  1859. {aStream.WriteUint32L(aUint32);return aStream;}
  1860. inline RWriteStream& operator<<(RWriteStream& aStream,const TReal32& aReal32)
  1861. {aStream.WriteReal32L(aReal32);return aStream;}
  1862. inline RWriteStream& operator<<(RWriteStream& aStream,const TReal64& aReal64)
  1863. {aStream.WriteReal64L(aReal64);return aStream;}
  1864. inline RReadStream& operator>>(RReadStream& aStream,TInt8& anInt8)
  1865. {anInt8=aStream.ReadInt8L();return aStream;}
  1866. inline RReadStream& operator>>(RReadStream& aStream,TInt16& anInt16)
  1867. {anInt16=aStream.ReadInt16L();return aStream;}
  1868. inline RReadStream& operator>>(RReadStream& aStream,TInt32& anInt32)
  1869. {anInt32=aStream.ReadInt32L();return aStream;}
  1870. inline RReadStream& operator>>(RReadStream& aStream,TUint8& aUint8)
  1871. {aUint8=aStream.ReadUint8L();return aStream;}
  1872. inline RReadStream& operator>>(RReadStream& aStream,TUint16& aUint16)
  1873. {aUint16=aStream.ReadUint16L();return aStream;}
  1874. inline RReadStream& operator>>(RReadStream& aStream,TUint32& aUint32)
  1875. {aUint32=aStream.ReadUint32L();return aStream;}
  1876. inline RReadStream& operator>>(RReadStream& aStream,TReal32& aReal32)
  1877. {aReal32=aStream.ReadReal32L();return aStream;}
  1878. inline RReadStream& operator>>(RReadStream& aStream,TReal64& aReal64)
  1879. {aReal64=aStream.ReadReal64L();return aStream;}
  1880. inline RWriteStream& operator<<(RWriteStream& aStream,const TInt64& anInt64)
  1881. {ExternalizeL(anInt64,aStream);return aStream;}
  1882. inline RReadStream& operator>>(RReadStream& aStream,TInt64& anInt64)
  1883. {InternalizeL(anInt64,aStream);return aStream;}
  1884. inline RWriteStream& operator<<(RWriteStream& aStream,const TUid& aUid)
  1885. {return aStream<<aUid.iUid;}
  1886. inline RWriteStream& operator<<(RWriteStream& aStream,const TCheckedUid& aUid)
  1887. {ExternalizeL(aUid,aStream);return aStream;}
  1888. inline RReadStream& operator>>(RReadStream& aStream,TUid& aUid)
  1889. {return aStream>>aUid.iUid;}
  1890. inline RReadStream& operator>>(RReadStream& aStream,TCheckedUid& aUid)
  1891. {InternalizeL(aUid,aStream);return aStream;}
  1892. inline RWriteStream& operator<<(RWriteStream& aStream,const TPoint& aPoint)
  1893. {ExternalizeL(aPoint,aStream);return aStream;}
  1894. inline RWriteStream& operator<<(RWriteStream& aStream,const TSize& aSize)
  1895. {ExternalizeL(aSize,aStream);return aStream;}
  1896. inline RWriteStream& operator<<(RWriteStream& aStream,const TRect& aRect)
  1897. {ExternalizeL(aRect,aStream);return aStream;}
  1898. inline RReadStream& operator>>(RReadStream& aStream,TPoint& aPoint)
  1899. {InternalizeL(aPoint,aStream);return aStream;}
  1900. inline RReadStream& operator>>(RReadStream& aStream,TSize& aSize)
  1901. {InternalizeL(aSize,aStream);return aStream;}
  1902. inline RReadStream& operator>>(RReadStream& aStream,TRect& aRect)
  1903. {InternalizeL(aRect,aStream);return aStream;}
  1904. inline RWriteStream& operator<<(RWriteStream& aStream,const TStreamRef& aRef)
  1905. {aRef.ExternalizeL(aStream);return aStream;}
  1906. #line 351 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32strm.h" /* stack depth 8 */
  1907. #line 8 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32std.h" /* stack depth 7 */
  1908. const TUint32 KNullStreamIdValue=0;
  1909. const TUint32 KMaxStreamIdValue=0xfffffff;
  1910. const TUint32 KMaskStreamIdValue=0xfffffff;
  1911. const TInt KShiftStreamIdValue=28;
  1912. #line 28
  1913. class TStreamId
  1914. {
  1915. public:
  1916. TStreamId() {}
  1917. inline TStreamId(TUint32 aValue);
  1918. inline TBool operator==(TStreamId anId) const;
  1919. inline TBool operator!=(TStreamId anId) const;
  1920. inline void ExternalizeL(RWriteStream& aStream) const;
  1921. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1922. inline TUint32 Value() const;
  1923. private:
  1924. TUint32 iVal;
  1925. private:
  1926. __declspec(dllexport) static void __DbgChkRange(TUint32 aValue);
  1927. };
  1928. class CStreamStore;
  1929. class RStoreReadStream : public RReadStream
  1930. {
  1931. public:
  1932. __declspec(dllexport) void OpenL(const CStreamStore& aStore,TStreamId anId);
  1933. __declspec(dllexport) void OpenLC(const CStreamStore& aStore,TStreamId anId);
  1934. };
  1935. #line 84
  1936. class RStoreWriteStream : public RWriteStream
  1937. {
  1938. public:
  1939. RStoreWriteStream() {}
  1940. inline RStoreWriteStream(const MExternalizer<TStreamRef>& anExter);
  1941. __declspec(dllexport) TStreamId CreateL(CStreamStore& aStore);
  1942. __declspec(dllexport) TStreamId CreateLC(CStreamStore& aStore);
  1943. __declspec(dllexport) void OpenL(CStreamStore& aStore,TStreamId anId);
  1944. __declspec(dllexport) void OpenLC(CStreamStore& aStore,TStreamId anId);
  1945. __declspec(dllexport) void ReplaceL(CStreamStore& aStore,TStreamId anId);
  1946. __declspec(dllexport) void ReplaceLC(CStreamStore& aStore,TStreamId anId);
  1947. __declspec(dllexport) void AppendL(CStreamStore& aStore,TStreamId anId);
  1948. __declspec(dllexport) void AppendLC(CStreamStore& aStore,TStreamId anId);
  1949. };
  1950. #line 115
  1951. class TSwizzleCBase
  1952. {
  1953. public:
  1954. inline TBool operator==(const TSwizzleCBase& aSwizzle) const;
  1955. inline TBool operator==(const TAny* aPtr) const;
  1956. inline TBool operator!=(const TSwizzleCBase& aSwizzle) const;
  1957. inline TBool operator!=(const TAny* aPtr) const;
  1958. inline TBool IsPtr() const;
  1959. inline TBool IsId() const;
  1960. __declspec(dllexport) TStreamId AsId() const;
  1961. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1962. protected:
  1963. TSwizzleCBase() {}
  1964. inline TSwizzleCBase(const TAny* aPtr);
  1965. __declspec(dllexport) TSwizzleCBase(TStreamId anId);
  1966. inline TSwizzleCBase(TStreamRef aRef);
  1967. inline const TAny* Ptr() const;
  1968. __declspec(dllexport) void DoExternalizeL(RWriteStream& aStream,TExternalizer<TAny> anExter) const;
  1969. private:
  1970. __declspec(dllexport) static TBool IsPtrRep(const TAny* aPtr);
  1971. __declspec(dllexport) static TBool IsIdRep(const TAny* aPtr);
  1972. private:
  1973. const TAny* iPtr;
  1974. private:
  1975. __declspec(dllexport) static void __DbgChkPtr(const TAny* aPtr);
  1976. __declspec(dllexport) static void __DbgChkRef(TStreamRef aRef);
  1977. };
  1978. inline TBool operator==(const TAny* aPtr,const TSwizzleCBase& aSwizzle);
  1979. inline TBool operator!=(const TAny* aPtr,const TSwizzleCBase& aSwizzle);
  1980. #line 158
  1981. class TSwizzleBase : public TSwizzleCBase
  1982. {
  1983. protected:
  1984. TSwizzleBase() {}
  1985. inline TSwizzleBase(TAny* aPtr);
  1986. inline TSwizzleBase(TStreamId anId);
  1987. inline TAny* Ptr() const;
  1988. };
  1989. #line 184
  1990. template <class T>
  1991. class TSwizzle : public TSwizzleBase
  1992. {
  1993. public:
  1994. TSwizzle() {}
  1995. inline TSwizzle(T* aPtr);
  1996. inline TSwizzle(TStreamId anId);
  1997. inline TSwizzle<T>& operator=(T* aPtr);
  1998. inline T* AsPtr() const;
  1999. inline operator T*() const;
  2000. inline T& operator*() const;
  2001. inline T* operator->() const;
  2002. inline void ExternalizeL(RWriteStream& aStream) const;
  2003. };
  2004. #line 208
  2005. template<> class TSwizzle<TAny> : public TSwizzleBase
  2006. {
  2007. public:
  2008. TSwizzle() {}
  2009. inline TSwizzle(TAny* aPtr);
  2010. inline TSwizzle(TStreamId anId);
  2011. inline TSwizzle(const TSwizzleBase& aSwizzle);
  2012. inline TSwizzle<TAny>& operator=(TAny* aPtr);
  2013. inline TSwizzle<TAny>& operator=(const TSwizzleBase& aSwizzle);
  2014. inline TAny* AsPtr() const;
  2015. inline operator TAny*() const;
  2016. };
  2017. #line 242
  2018. template <class T>
  2019. class TSwizzleC : public TSwizzleCBase
  2020. {
  2021. public:
  2022. TSwizzleC() {}
  2023. inline TSwizzleC(const T* aPtr);
  2024. inline TSwizzleC(TStreamId anId);
  2025. inline TSwizzleC(TSwizzle<T> aSwizzle);
  2026. inline TSwizzleC<T>& operator=(const T* aPtr);
  2027. inline const T* AsPtr() const;
  2028. inline operator const T*() const;
  2029. inline const T& operator*() const;
  2030. inline const T* operator->() const;
  2031. inline void ExternalizeL(RWriteStream& aStream) const;
  2032. };
  2033. template<> class TSwizzleC<TAny> : public TSwizzleCBase
  2034. {
  2035. public:
  2036. TSwizzleC() {}
  2037. inline TSwizzleC(const TAny* aPtr);
  2038. inline TSwizzleC(TStreamId anId);
  2039. inline TSwizzleC(const TSwizzleCBase& aSwizzle);
  2040. inline TSwizzleC(TStreamRef aRef);
  2041. inline TSwizzleC<TAny>& operator=(const TAny* aPtr);
  2042. inline TSwizzleC<TAny>& operator=(const TSwizzleCBase& aSwizzle);
  2043. inline const TAny* AsPtr() const;
  2044. inline operator const TAny*() const;
  2045. };
  2046. #line 296
  2047. class CStoreMap : public CBase,public MExternalizer<TStreamRef>
  2048. {
  2049. public:
  2050. struct TEntry {TSwizzleC<TAny> swizzle;TStreamId id;};
  2051. typedef const TEntry* TIterator;
  2052. public:
  2053. __declspec(dllexport) static CStoreMap* NewL(CStreamStore& aStore);
  2054. __declspec(dllexport) static CStoreMap* NewLC(CStreamStore& aStore);
  2055. __declspec(dllexport) CStoreMap(CStreamStore& aStore);
  2056. __declspec(dllexport) ~CStoreMap();
  2057. __declspec(dllexport) void BindL(TSwizzleC<TAny> aSwizzle,TStreamId anId);
  2058. __declspec(dllexport) void Unbind(TSwizzleC<TAny> aSwizzle);
  2059. __declspec(dllexport) void Forget(TStreamId anId);
  2060. __declspec(dllexport) void Reset();
  2061. __declspec(dllexport) void ResetAndDestroy();
  2062. __declspec(dllexport) TStreamId At(TSwizzleC<TAny> aSwizzle) const;
  2063. __declspec(dllexport) TSwizzleC<TAny> Label(TStreamId anId) const;
  2064. __declspec(dllexport) TIterator Begin() const;
  2065. __declspec(dllexport) TIterator End() const;
  2066. private:
  2067. void ExternalizeL(const TStreamRef& aRef,RWriteStream& aStream) const;
  2068. private:
  2069. CArrayFixFlat<TEntry> iArray;
  2070. TStreamId iFree;
  2071. CStreamStore* iStore;
  2072. };
  2073. #line 343
  2074. class CStreamDictionary : public CBase
  2075. {
  2076. public:
  2077. __declspec(dllexport) static CStreamDictionary* NewL();
  2078. __declspec(dllexport) static CStreamDictionary* NewLC();
  2079. __declspec(dllexport) CStreamDictionary();
  2080. __declspec(dllexport) ~CStreamDictionary();
  2081. __declspec(dllexport) void AssignL(TUid aUid,TStreamId anId);
  2082. __declspec(dllexport) void Remove(TUid aUid);
  2083. __declspec(dllexport) TStreamId At(TUid aUid) const;
  2084. __declspec(dllexport) TBool IsNull() const;
  2085. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  2086. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  2087. private:
  2088. class TEntry
  2089. {
  2090. public:
  2091. TEntry() {}
  2092. inline TEntry(TUid aUid,TStreamId anId);
  2093. void ExternalizeL(RWriteStream& aStream) const;
  2094. void InternalizeL(RReadStream& aStream);
  2095. public:
  2096. TUid iUid;
  2097. TStreamId iId;
  2098. };
  2099. private:
  2100. CArrayFixSeg<TEntry> iArray;
  2101. };
  2102. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32std.inl" /* stack depth 8 */
  2103. inline TStreamId::TStreamId(TUint32 aValue)
  2104. : iVal(aValue)
  2105. #line 22
  2106. {
  2107. __DbgChkRange(aValue);
  2108. }
  2109. inline TBool TStreamId::operator==(TStreamId anId) const
  2110. {return iVal==anId.iVal;}
  2111. inline TBool TStreamId::operator!=(TStreamId anId) const
  2112. {return iVal!=anId.iVal;}
  2113. inline void TStreamId::ExternalizeL(RWriteStream& aStream) const
  2114. {
  2115. __DbgChkRange(iVal);
  2116. aStream<<iVal;
  2117. }
  2118. inline TUint32 TStreamId::Value() const
  2119. {
  2120. __DbgChkRange(iVal);
  2121. return iVal;
  2122. }
  2123. inline RStoreWriteStream::RStoreWriteStream(const MExternalizer<TStreamRef>& anExter)
  2124. : RWriteStream(anExter)
  2125. {}
  2126. inline TSwizzleCBase::TSwizzleCBase(TStreamRef aRef)
  2127. : iPtr(aRef.Ptr())
  2128. {
  2129. __DbgChkRef(aRef);
  2130.     }
  2131. inline TBool TSwizzleCBase::operator==(const TSwizzleCBase& aSwizzle) const
  2132. #line 97
  2133. {return iPtr==aSwizzle.iPtr;}
  2134. inline TBool TSwizzleCBase::operator==(const TAny* aPtr) const
  2135. #line 110
  2136. {return iPtr==aPtr;}
  2137. inline TBool TSwizzleCBase::operator!=(const TSwizzleCBase& aSwizzle) const
  2138. #line 126
  2139. {return iPtr!=aSwizzle.iPtr;}
  2140. inline TBool TSwizzleCBase::operator!=(const TAny* aPtr) const
  2141. #line 139
  2142. {return iPtr!=aPtr;}
  2143. inline TBool TSwizzleCBase::IsPtr() const
  2144. {return IsPtrRep(iPtr);}
  2145. inline TBool TSwizzleCBase::IsId() const
  2146. {return IsIdRep(iPtr);}
  2147. inline TSwizzleCBase::TSwizzleCBase(const TAny* aPtr)
  2148. : iPtr(aPtr)
  2149. {
  2150. __DbgChkPtr(aPtr);
  2151.     }
  2152. inline const TAny* TSwizzleCBase::Ptr() const
  2153. {
  2154. __DbgChkPtr(iPtr);
  2155. return iPtr;
  2156. }
  2157. inline TBool operator==(const TAny* aPtr,const TSwizzleCBase& aSwizzle)
  2158. {return aSwizzle==aPtr;}
  2159. inline TBool operator!=(const TAny* aPtr,const TSwizzleCBase& aSwizzle)
  2160. {return aSwizzle!=aPtr;}
  2161. inline TSwizzleBase::TSwizzleBase(TAny* aPtr)
  2162. : TSwizzleCBase(aPtr)
  2163. {}
  2164. inline TSwizzleBase::TSwizzleBase(TStreamId anId)
  2165. : TSwizzleCBase(anId)
  2166. {}
  2167. inline TAny* TSwizzleBase::Ptr() const
  2168. {return (TAny*)TSwizzleCBase::Ptr();}
  2169. template <class T>
  2170. inline TSwizzle<T>::TSwizzle(T* aPtr)
  2171. : TSwizzleBase(aPtr)
  2172. {}
  2173. template <class T>
  2174. inline TSwizzle<T>::TSwizzle(TStreamId anId)
  2175. : TSwizzleBase(anId)
  2176. {}
  2177. template <class T>
  2178. inline TSwizzle<T>& TSwizzle<T>::operator=(T* aPtr)
  2179. {return *this=TSwizzle<T>(aPtr);}
  2180. template <class T>
  2181. inline T* TSwizzle<T>::AsPtr() const
  2182. {return (T*)Ptr();}
  2183. template <class T>
  2184. inline TSwizzle<T>::operator T*() const
  2185. {return AsPtr();}
  2186. template <class T>
  2187. inline T& TSwizzle<T>::operator*() const
  2188. {return *AsPtr();}
  2189. template <class T>
  2190. inline T* TSwizzle<T>::operator->() const
  2191. {return AsPtr();}
  2192. template <class T>
  2193. inline void TSwizzle<T>::ExternalizeL(RWriteStream& aStream) const
  2194. #line 252
  2195. {TSwizzleBase::DoExternalizeL(aStream,TExternalizer<T>::Function());}
  2196. inline TSwizzle<TAny>::TSwizzle(TAny* aPtr)
  2197. : TSwizzleBase(aPtr)
  2198. {}
  2199. inline TSwizzle<TAny>::TSwizzle(TStreamId anId)
  2200. : TSwizzleBase(anId)
  2201. {}
  2202. inline TSwizzle<TAny>::TSwizzle(const TSwizzleBase& aSwizzle)
  2203. : TSwizzleBase(aSwizzle)
  2204. {}
  2205. inline TSwizzle<TAny>& TSwizzle<TAny>::operator=(TAny* aPtr)
  2206. {return *this=TSwizzle<TAny>(aPtr);}
  2207. inline TSwizzle<TAny>& TSwizzle<TAny>::operator=(const TSwizzleBase& aSwizzle)
  2208. {return *this=TSwizzle<TAny>(aSwizzle);}
  2209. inline TAny* TSwizzle<TAny>::AsPtr() const
  2210. {return Ptr();}
  2211. inline TSwizzle<TAny>::operator TAny*() const
  2212. {return AsPtr();}
  2213. template <class T>
  2214. inline TSwizzleC<T>::TSwizzleC(const T* aPtr)
  2215. : TSwizzleCBase(aPtr)
  2216. {}
  2217. template <class T>
  2218. inline TSwizzleC<T>::TSwizzleC(TStreamId anId)
  2219. : TSwizzleCBase(anId)
  2220. {}
  2221. template <class T>
  2222. inline TSwizzleC<T>::TSwizzleC(TSwizzle<T> aSwizzle)
  2223. : TSwizzleCBase(aSwizzle)
  2224. #line 328
  2225. {}
  2226. template <class T>
  2227. inline TSwizzleC<T>& TSwizzleC<T>::operator=(const T* aPtr)
  2228. {return *this=TSwizzleC<T>(aPtr);}
  2229. template <class T>
  2230. inline const T* TSwizzleC<T>::AsPtr() const
  2231. #line 350
  2232. {return (const T*)Ptr();}
  2233. template <class T>
  2234. inline TSwizzleC<T>::operator const T*() const
  2235. {return AsPtr();}
  2236. template <class T>
  2237. inline const T& TSwizzleC<T>::operator*() const
  2238. {return *AsPtr();}
  2239. template <class T>
  2240. inline const T* TSwizzleC<T>::operator->() const
  2241. #line 373
  2242. {return AsPtr();}
  2243. template <class T>
  2244. inline void TSwizzleC<T>::ExternalizeL(RWriteStream& aStream) const
  2245. #line 393
  2246. {TSwizzleCBase::DoExternalizeL(aStream,TExternalizer<T>::Function());}
  2247. inline TSwizzleC<TAny>::TSwizzleC(const TAny* aPtr)
  2248. : TSwizzleCBase(aPtr)
  2249. {}
  2250. inline TSwizzleC<TAny>::TSwizzleC(TStreamId anId)
  2251. : TSwizzleCBase(anId)
  2252. {}
  2253. inline TSwizzleC<TAny>::TSwizzleC(const TSwizzleCBase& aSwizzle)
  2254. : TSwizzleCBase(aSwizzle)
  2255. {}
  2256. inline TSwizzleC<TAny>::TSwizzleC(TStreamRef aRef)
  2257. : TSwizzleCBase(aRef)
  2258.   {}
  2259. inline TSwizzleC<TAny>& TSwizzleC<TAny>::operator=(const TAny* aPtr)
  2260. {return *this=TSwizzleC<TAny>(aPtr);}
  2261. inline TSwizzleC<TAny>& TSwizzleC<TAny>::operator=(const TSwizzleCBase& aSwizzle)
  2262. {return *this=TSwizzleC<TAny>(aSwizzle);}
  2263. inline const TAny* TSwizzleC<TAny>::AsPtr() const
  2264. {return Ptr();}
  2265. inline TSwizzleC<TAny>::operator const TAny*() const
  2266. {return AsPtr();}
  2267. #line 375 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32std.h" /* stack depth 7 */
  2268. #line 21 "C:\Symbian\9.1\S60_3rd\epoc32\include\gdi.h" /* stack depth 6 */
  2269. const TInt KDefaultScreenNo = 0;
  2270. class TOpenFontCharMetrics;
  2271. const TInt KTwipsPerInch=1440;
  2272. const TInt KTwipsPerPoint=20;
  2273. const TInt KPointsPerInch=72;
  2274. const TInt KTwipsPerCm=567;
  2275. #line 131
  2276. enum TGdiPanic
  2277. {
  2278. EGdiPanic_Unknown = 0,
  2279. EGdiPanic_InvalidInputParam = 1,
  2280. EGdiPanic_OutOfText = 2,
  2281. EGdiPanic_Invariant = 3
  2282. };
  2283. #line 178
  2284. class TRgb
  2285. {
  2286. public:
  2287. inline TRgb();
  2288. inline TRgb(TUint32 aValue);
  2289. inline TRgb(TUint32 aInternalValue, TInt aAlpha);
  2290. inline TRgb(TInt aRed,TInt aGreen,TInt aBlue);
  2291. inline TRgb(TInt aRed, TInt aGreen, TInt aBlue, TInt aAlpha);
  2292. inline TInt Red() const;
  2293. inline TInt Green() const;
  2294. inline TInt Blue() const;
  2295. inline TInt Alpha() const;
  2296. __declspec(dllexport) void SetRed(TInt aRed);
  2297. __declspec(dllexport) void SetGreen(TInt aGreen);
  2298. __declspec(dllexport) void SetBlue(TInt aBlue);
  2299. __declspec(dllexport) void SetAlpha(TInt aAlpha);
  2300. __declspec(dllexport) static TRgb Gray2(TInt aGray2);
  2301. __declspec(dllexport) static TRgb Gray4(TInt aGray4);
  2302. __declspec(dllexport) static TRgb Gray16(TInt aGray16);
  2303. __declspec(dllexport) static TRgb Gray256(TInt aGray256);
  2304. __declspec(dllexport) static TRgb Color16(TInt aColor16);
  2305. __declspec(dllexport) static TRgb Color256(TInt aColor256);
  2306. __declspec(dllexport) static TRgb Color4K(TInt aColor4K);
  2307. __declspec(dllexport) static TRgb Color64K(TInt aColor64K);
  2308. __declspec(dllexport) static TRgb Color16M(TInt aColor16M);
  2309. __declspec(dllexport) TInt Gray2() const;
  2310. __declspec(dllexport) TInt Gray4() const;
  2311. __declspec(dllexport) TInt Gray16() const;
  2312. __declspec(dllexport) TInt Gray256() const;
  2313. __declspec(dllexport) TInt Color16() const;
  2314. __declspec(dllexport) TInt Color256() const;
  2315. __declspec(dllexport) TInt Color4K() const;
  2316. __declspec(dllexport) TInt Color64K() const;
  2317. __declspec(dllexport) TInt Color16M() const;
  2318. inline TBool operator==(const TRgb& aColor) const;
  2319. inline TBool operator!=(const TRgb& aColor) const;
  2320. inline TRgb operator~() const;
  2321. inline TRgb operator&(const TRgb& aColor);
  2322. inline TRgb operator|(const TRgb& aColor);
  2323. inline TRgb operator^(const TRgb& aColor);
  2324. inline TRgb& operator&=(const TRgb& aColor);
  2325. inline TRgb& operator|=(const TRgb& aColor);
  2326. inline TRgb& operator^=(const TRgb& aColor);
  2327. inline TUint32 Value() const;
  2328. inline TUint32 Internal() const;
  2329. inline void SetInternal(TUint32 aInternal);
  2330. __declspec(dllexport) TInt Difference(const TRgb& aColor) const;
  2331. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  2332. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  2333. __declspec(dllexport) static TRgb Color16MU(TInt a0RGB);
  2334. __declspec(dllexport) TInt Color16MU() const;
  2335. __declspec(dllexport) static TRgb Color16MA(TUint aARGB);
  2336. __declspec(dllexport) TUint Color16MA() const;
  2337. inline TInt _Gray2() const;
  2338. inline TInt _Gray4() const;
  2339. inline TInt _Gray16() const;
  2340. inline TInt _Gray256() const;
  2341. inline TInt _Color4K() const;
  2342. inline TInt _Color64K() const;
  2343. inline TInt _Color16M() const;
  2344. inline TInt _Color16MU() const;
  2345. inline TUint _Color16MA() const;
  2346. inline static TRgb _Gray2(TInt aGray2);
  2347. inline static TRgb _Gray4(TInt aGray4);
  2348. inline static TRgb _Gray16(TInt aGray16);
  2349. inline static TRgb _Gray256(TInt aGray256);
  2350. inline static TRgb _Color4K(TInt aColor4K);
  2351. inline static TRgb _Color64K(TInt aColor64K);
  2352. inline static TRgb _Color16M(TInt aColor16M);
  2353. inline static TRgb _Color16MU(TInt a0RGB);
  2354. inline static TRgb _Color16MA(TUint aARGB);
  2355. private:
  2356. TUint32 iValue;
  2357. };
  2358. #line 279
  2359. enum TDisplayMode
  2360. {
  2361. ENone,
  2362. EGray2,
  2363. EGray4,
  2364. EGray16,
  2365. EGray256,
  2366. EColor16,
  2367. EColor256,
  2368. EColor64K,
  2369. EColor16M,
  2370. ERgb,
  2371. EColor4K,
  2372. EColor16MU,
  2373. EColor16MA,
  2374. EColorLast
  2375. };
  2376. class TDisplayModeUtils
  2377. {
  2378. public:
  2379. __declspec(dllexport) static TBool IsDisplayModeColor(TDisplayMode aDispMode);
  2380. __declspec(dllexport) static TInt NumDisplayModeColors(TDisplayMode aDispMode);
  2381. __declspec(dllexport) static TInt NumDisplayModeBitsPerPixel(TDisplayMode aDispMode);
  2382. };
  2383. #line 351
  2384. class CPalette : public CBase
  2385. {
  2386. public:
  2387. __declspec(dllexport) static CPalette* NewL(TInt aNumberOfEntries);
  2388. __declspec(dllexport) static CPalette* NewDefaultL(TDisplayMode aDispMode);
  2389. __declspec(dllexport) ~CPalette();
  2390. __declspec(dllexport) void Clear();
  2391. inline TInt Entries() const;
  2392. __declspec(dllexport) TRgb GetEntry(TInt aPaletteIndex) const;
  2393. __declspec(dllexport) TRgb NearestEntry(const TRgb& aColor) const;
  2394. __declspec(dllexport) TInt NearestIndex(const TRgb& aColor) const;
  2395. __declspec(dllexport) void SetEntry(TInt aPaletteIndex,const TRgb& aPaletteEntry);
  2396. __declspec(dllexport) void GetDataPtr(TInt aFirstColor,TInt aNumColors,TPtr8& aPtr);
  2397. protected:
  2398. __declspec(dllexport) CPalette();
  2399. void ConstructL(TInt aNumberOfEntries);
  2400. protected:
  2401. TRgb* iArray;
  2402. TInt iNumEntries;
  2403. };
  2404. class TColor256Util
  2405. {
  2406. public:
  2407. __declspec(dllexport) void Construct(const CPalette& aPalette);
  2408. __declspec(dllexport) TInt Color256(TRgb aRgb) const;
  2409. __declspec(dllexport) void Color256(TUint8* aDestination,const TRgb* aSource,TInt aNumPixels) const;
  2410. inline TRgb Color256(TInt aColor256) const;
  2411. __declspec(dllexport) static const TColor256Util* Default();
  2412. public:
  2413. TUint32 iColorTable[256];
  2414. #line 404
  2415. TUint8 iInverseColorTable[0x1000];
  2416. };
  2417. #line 419
  2418. class TLinearDDA
  2419. {
  2420. public:
  2421. enum TLineMode
  2422. {
  2423. ECenter,
  2424. ELeft
  2425. };
  2426. public:
  2427. __declspec(dllexport) TLinearDDA();
  2428. __declspec(dllexport) TLinearDDA(const TLinearDDA& aLine);
  2429. __declspec(dllexport) void Construct(const TPoint& aStart,const TPoint& aFinish,TLineMode aMode=ECenter);
  2430. __declspec(dllexport) TBool SingleStep(TPoint& aPosition);
  2431. __declspec(dllexport) TBool SingleScanline(TPoint& aStartPosition,TPoint& aEndPosition);
  2432. __declspec(dllexport) TBool NextStep(TPoint& aPosition);
  2433. __declspec(dllexport) void JumpToRect(const TRect& aRect);
  2434. __declspec(dllexport) void JumpToXCoord(const TInt aXCoord,TInt& aYCoord);
  2435. __declspec(dllexport) void JumpToYCoord(TInt& aXCoord,const TInt aYCoord);
  2436. private:
  2437. void UpdatePosition();
  2438. private:
  2439. enum TLineStatus
  2440. {
  2441. EInitialised,
  2442. ECurrent,
  2443. EComplete
  2444. };
  2445. private:
  2446. TInt iCount;
  2447. TSize iDifference;
  2448. TPoint iFinish;
  2449. TInt iGradient;
  2450. TPoint iInc;
  2451. TPoint iPos;
  2452. TPoint iStart;
  2453. TRect iBoundingRect;
  2454. TBool iBoundingRectSet;
  2455. TBool iInside;
  2456. TLineStatus iStatus;
  2457. };
  2458. #line 471
  2459. enum TFontPosture
  2460. {
  2461. EPostureUpright,
  2462. EPostureItalic
  2463. };
  2464. enum TFontStrokeWeight
  2465. {
  2466. EStrokeWeightNormal,
  2467. EStrokeWeightBold
  2468. };
  2469. enum TFontPrintPosition
  2470. {
  2471. EPrintPosNormal,
  2472. EPrintPosSuperscript,
  2473. EPrintPosSubscript
  2474. };
  2475. enum TFontUnderline
  2476. {
  2477. EUnderlineOff,
  2478. EUnderlineOn
  2479. };
  2480. enum TFontStrikethrough
  2481. {
  2482. EStrikethroughOff,
  2483. EStrikethroughOn
  2484. };
  2485. const TInt KMaxTypefaceNameLength=0x18;
  2486. #line 556
  2487. class TTypeface
  2488.     {
  2489. public:
  2490. enum
  2491. {
  2492. EProportional=1,
  2493. ESerif=2,
  2494. ESymbol=4
  2495. };
  2496. public:
  2497. __declspec(dllexport) TTypeface();
  2498. __declspec(dllexport) TBool operator==(const TTypeface& aTypeface) const;
  2499. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  2500. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  2501. __declspec(dllexport) void SetAttributes(TInt aMask);
  2502. __declspec(dllexport) void SetIsProportional(TBool aIsProportional);
  2503. __declspec(dllexport) void SetIsSerif(TBool aIsSerif);
  2504. __declspec(dllexport) void SetIsSymbol(TBool aIsSymbol);
  2505. __declspec(dllexport) TInt Attributes() const;
  2506. __declspec(dllexport) TBool IsProportional() const;
  2507. __declspec(dllexport) TBool IsSerif() const;
  2508. __declspec(dllexport) TBool IsSymbol() const;
  2509. public:
  2510.     TBufC<KMaxTypefaceNameLength> iName;
  2511. private:
  2512.     TUint32 iFlags;
  2513.     };
  2514. #line 600
  2515. enum TGlyphBitmapType
  2516. {
  2517. EDefaultGlyphBitmap = 0,
  2518. EMonochromeGlyphBitmap,
  2519. EAntiAliasedGlyphBitmap
  2520. };
  2521. #line 618
  2522. class FontEffect
  2523. {
  2524. public:
  2525. enum TEffect
  2526. {
  2527. ENone = 0x0,
  2528. EAlgorithmicBold= 0x10,
  2529. EDropShadow = 0x20,
  2530. EOutline = 0x40,
  2531. EEmbossed = 0x80,
  2532. EEngraved      = 0x100,
  2533. ESoftEdge = 0x200,
  2534. EUserDefined1 = 0x400,
  2535. EUserDefined2 = 0x800,
  2536. EUserDefined3 = 0x1000,
  2537. EUserDefined4 = 0x2000,
  2538. EUserDefined5 = 0x4000,
  2539. EUserDefined6 = 0x8000,
  2540. };
  2541. public:
  2542. __declspec(dllexport) static TBool IsEffectOn(TEffect aEffect, TUint32 aFontEffect);
  2543. __declspec(dllexport) static void SetEffect(TEffect aEffect, TBool aOn, TUint32& aFontEffect);
  2544. };
  2545. #line 661
  2546. class TFontStyle
  2547. {
  2548. public:
  2549. __declspec(dllexport) TFontStyle();
  2550. __declspec(dllexport) TFontStyle(TFontPosture aPost,TFontStrokeWeight aStrWgt,TFontPrintPosition aPrintPos);
  2551. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  2552. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  2553. __declspec(dllexport) TFontPosture Posture() const;
  2554. __declspec(dllexport) TFontStrokeWeight StrokeWeight() const;
  2555. __declspec(dllexport) TFontPrintPosition PrintPosition() const;
  2556. __declspec(dllexport) void SetPosture(TFontPosture aPosture);
  2557. __declspec(dllexport) void SetStrokeWeight(TFontStrokeWeight aStrokeWeight);
  2558. __declspec(dllexport) void SetPrintPosition(TFontPrintPosition aPrintPosition);
  2559. inline TGlyphBitmapType BitmapType() const;
  2560. inline void SetBitmapType(TGlyphBitmapType aBitmapType);
  2561. inline TBool operator==(const TFontStyle& aFontStyle) const;
  2562. __declspec(dllexport) TUint32 Effects() const;
  2563. __declspec(dllexport) TBool IsEffectOn(FontEffect::TEffect aEffect) const;
  2564. __declspec(dllexport) void SetEffects(TUint32 aEffects);
  2565. __declspec(dllexport) void SetEffects(FontEffect::TEffect aEffect, TBool aOn);
  2566. private:
  2567. enum
  2568. {
  2569. EItalic=0x1,
  2570. EBold=0x2,
  2571. ESuper=0x4,
  2572. ESub=0x8
  2573. };
  2574. private:
  2575. TUint32 iFlags;
  2576. TAny* iReserved1;
  2577. TAny* iReserved2;
  2578. };
  2579. #line 703
  2580. class TFontSpec
  2581. {
  2582. public:
  2583. __declspec(dllexport) TFontSpec();
  2584. __declspec(dllexport) TFontSpec(const TDesC& aTypefaceName,TInt aHeight);
  2585. __declspec(dllexport) TBool operator==(const TFontSpec& aFontSpec) const;
  2586. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  2587. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  2588. public:
  2589. TTypeface iTypeface;
  2590. TInt iHeight;
  2591. TFontStyle iFontStyle;
  2592. };
  2593. #line 731
  2594. class TTypefaceSupport
  2595.     {
  2596. public:
  2597.     TTypeface iTypeface;
  2598.     TInt iNumHeights;
  2599.     TInt iMinHeightInTwips;
  2600.     TInt iMaxHeightInTwips;
  2601.     TBool iIsScalable;
  2602.     };
  2603. const TInt KSuperSubScalingPercentage=67;
  2604. const TInt KSuperscriptOffsetPercentage=-28;
  2605. const TInt KSubscriptOffsetPercentage=14;
  2606. class CFont;
  2607. #line 783
  2608. class CTypefaceStore : public CBase
  2609. {
  2610. public:
  2611. __declspec(dllexport) ~CTypefaceStore();
  2612. #line 801
  2613. virtual TInt GetNearestFontInTwips(CFont*& aFont, const TFontSpec& aFontSpec) = 0;
  2614. #line 815
  2615. virtual TInt GetNearestFontToDesignHeightInTwips(CFont*& aFont, const TFontSpec& aFontSpec) = 0;
  2616. #line 836
  2617. virtual TInt GetNearestFontToMaxHeightInTwips(CFont*& aFont, const TFontSpec& aFontSpec, TInt aMaxHeight) = 0;
  2618. virtual TInt NumTypefaces() const=0;
  2619. #line 854
  2620. virtual void TypefaceSupport(TTypefaceSupport& aTypefaceSupport,TInt aTypefaceIndex) const=0;
  2621. #line 865
  2622. virtual TInt FontHeightInTwips(TInt aTypefaceIndex,TInt aHeightIndex) const=0;
  2623. __declspec(dllexport) void ReleaseFont(CFont* aFont);
  2624. __declspec(dllexport) static TInt BaselineOffset(TInt aHeight,TFontPrintPosition aPos);
  2625. __declspec(dllexport) static TInt SuperSubHeight(TInt aHeight,TFontPrintPosition aPos);
  2626. protected:
  2627. __declspec(dllexport) CTypefaceStore();
  2628. __declspec(dllexport) void ConstructL();
  2629. __declspec(dllexport) void AddFontL(CFont* aFont);
  2630. protected:
  2631. class TFontAccess
  2632. {
  2633. public:
  2634. CFont* iFont;
  2635. TInt iAccessCount;
  2636. };
  2637. protected:
  2638. #line 896
  2639. CArrayFixFlat<TFontAccess> * iFontAccess;
  2640. };
  2641. const TInt KMaxFontCacheEntries=32;
  2642. #line 919
  2643. class CFontCache : public CBase
  2644. {
  2645. public:
  2646. __declspec(dllexport) CFontCache();
  2647. __declspec(dllexport) CFontCache(TInt aMaxEntries);
  2648. __declspec(dllexport) ~CFontCache();
  2649. __declspec(dllexport) CFont* Search(const TFontSpec& aFontSpec);
  2650. __declspec(dllexport) CFont* AddEntryL(CFont* aFont,const TFontSpec& aFontSpec);
  2651. __declspec(dllexport) CFont* RemoveFirstEntry();
  2652. public:
  2653. TInt iNumHits;
  2654. TInt iNumMisses;
  2655. private:
  2656. class CFontCacheEntry : public CBase
  2657. {
  2658. public:
  2659. CFontCacheEntry(CFont* aFont,const TFontSpec& aFontSpec,CFontCacheEntry* aNext);
  2660. public:
  2661. CFont* iFont;
  2662. TFontSpec iSpec;
  2663. CFontCacheEntry* iNext;
  2664. };
  2665. private:
  2666. TInt iNumEntries;
  2667. TInt iMaxEntries;
  2668. CFontCacheEntry* iFirst;
  2669. };
  2670. #line 960
  2671. class MGraphicsDeviceMap
  2672.     {
  2673. public:
  2674. __declspec(dllexport) MGraphicsDeviceMap();
  2675. __declspec(dllexport) virtual ~MGraphicsDeviceMap();
  2676. __declspec(dllexport) TPoint TwipsToPixels(const TPoint& aTwipPoint) const;
  2677. __declspec(dllexport) TRect TwipsToPixels(const TRect& aTwipRect) const;
  2678. __declspec(dllexport) TPoint PixelsToTwips(const TPoint& aPixelPoint) const;
  2679. __declspec(dllexport) TRect PixelsToTwips(const TRect& aPixelRect) const;
  2680. virtual TInt HorizontalTwipsToPixels(TInt aTwips) const=0;
  2681. virtual TInt VerticalTwipsToPixels(TInt aTwips) const=0;
  2682. virtual TInt HorizontalPixelsToTwips(TInt aPixels) const=0;
  2683. virtual TInt VerticalPixelsToTwips(TInt aPixels) const=0;
  2684. #line 1016
  2685. virtual TInt GetNearestFontInTwips(CFont*& aFont,const TFontSpec& aFontSpec)=0;
  2686. #line 1034
  2687. virtual TInt GetNearestFontToDesignHeightInTwips(CFont*& , const TFontSpec& ){return 0;}
  2688. #line 1056
  2689. virtual TInt GetNearestFontToMaxHeightInTwips(CFont*& , const TFontSpec& , TInt ){return 0;}
  2690. #line 1068
  2691. virtual void ReleaseFont(CFont* aFont)=0;
  2692.     };
  2693. class CGraphicsContext;
  2694. #line 1083
  2695. class CGraphicsDevice : public CBase , public MGraphicsDeviceMap
  2696.     {
  2697. public:
  2698. virtual TDisplayMode DisplayMode() const=0;
  2699. virtual TSize SizeInPixels() const=0;
  2700. virtual TSize SizeInTwips() const=0;
  2701.     virtual TInt CreateContext(CGraphicsContext*& aGC)=0;
  2702.     virtual TInt NumTypefaces() const=0;
  2703. #line 1129
  2704.     virtual void TypefaceSupport(TTypefaceSupport& aTypefaceSupport,TInt aTypefaceIndex) const=0;
  2705. #line 1143
  2706. virtual TInt FontHeightInTwips(TInt aTypefaceIndex,TInt aHeightIndex) const=0;
  2707. virtual void PaletteAttributes(TBool& aModifiable,TInt& aNumEntries) const=0;
  2708. virtual void SetPalette(CPalette* aPalette)=0;
  2709. virtual TInt GetPalette(CPalette*& aPalette) const=0;
  2710.     };
  2711. #line 1175
  2712. class TCodeSection
  2713. {
  2714. public:
  2715. TInt iStart;
  2716. TInt iEnd;
  2717. };
  2718. const TUid KFontCapitalAscent = {0x1020498E};
  2719. const TUid KFontMaxAscent = {0x10204B10};
  2720. const TUid KFontStandardDescent = {0x10204B11};
  2721. const TUid KFontMaxDescent = {0x10205AFC};
  2722. const TUid KFontLineGap = {0x10204B12};
  2723. #line 1209
  2724. class CFont : public CBase
  2725. {
  2726. friend class CTypefaceStore;
  2727. public:
  2728. #line 1221
  2729. enum TTextDirection
  2730. {
  2731. EHorizontal,
  2732. EVertical
  2733. };
  2734. #line 1240
  2735. class TPositionParam
  2736. {
  2737. public:
  2738. TPositionParam():
  2739. iDirection(EHorizontal),
  2740. iFlags(0),
  2741. iPosInText(0),
  2742. iOutputGlyphs(0)
  2743. {
  2744. }
  2745. enum
  2746. {
  2747. EMaxInputChars = 18,
  2748. EMaxOutputGlyphs = 8
  2749. };
  2750. enum TFlags
  2751. {
  2752. EFLogicalOrder = 1
  2753. };
  2754. TInt16 iDirection;
  2755. TUint16 iFlags;
  2756. TPtrC iText;
  2757. TInt iPosInText;
  2758. TPoint iPen;
  2759. class TOutput
  2760. {
  2761. public:
  2762. TOutput() : iBitmapSize(TSize::EUninitialized),
  2763. iBounds(TRect::EUninitialized) {}
  2764. TUint iCode;
  2765. const TUint8* iBitmap;
  2766. TSize iBitmapSize;
  2767. TRect iBounds;
  2768. };
  2769. TOutput iOutput[EMaxOutputGlyphs];
  2770. TInt iOutputGlyphs;
  2771. };
  2772. #line 1317
  2773. class TMeasureTextInput
  2774. {
  2775. public:
  2776. TMeasureTextInput():
  2777. iStartInputChar(0),
  2778. iEndInputChar(KMaxTInt),
  2779. iDirection(EHorizontal),
  2780. iFlags(0),
  2781. iMaxAdvance(KMaxTInt),
  2782. iMaxBounds(KMaxTInt),
  2783. iCharJustNum(0),
  2784. iCharJustExcess(0),
  2785. iWordJustNum(0),
  2786. iWordJustExcess(0)
  2787. {
  2788. }
  2789. enum TFlags
  2790. {
  2791. EFVisualOrder = 1
  2792. };
  2793. TInt iStartInputChar;
  2794. TInt iEndInputChar;
  2795. TUint16 iDirection;
  2796. TUint16 iFlags;
  2797. TInt iMaxAdvance;
  2798. TInt iMaxBounds;
  2799. TInt iCharJustNum;
  2800. TInt iCharJustExcess;
  2801. TInt iWordJustNum;
  2802. TInt iWordJustExcess;
  2803. };
  2804. #line 1389
  2805. class TMeasureTextOutput
  2806. {
  2807. public:
  2808. TInt iChars;
  2809. TInt iGlyphs;
  2810. TInt iGroups;
  2811. TInt iSpaces;
  2812. TRect iBounds;
  2813. TSize iMaxGlyphSize;
  2814. };
  2815. #line 1422
  2816. enum TCharacterDataAvailability
  2817. {
  2818. ENoCharacterData,
  2819. ECharacterWidthOnly,
  2820. EAllCharacterData
  2821. };
  2822. private:
  2823. virtual TUid DoTypeUid() const=0;
  2824. virtual TInt DoHeightInPixels() const=0;
  2825. virtual TInt DoAscentInPixels() const=0;
  2826. __declspec(dllexport) virtual TInt DoDescentInPixels() const;
  2827. virtual TInt DoCharWidthInPixels(TChar aChar) const=0;
  2828. virtual TInt DoTextWidthInPixels(const TDesC& aText) const=0;
  2829. virtual TInt DoBaselineOffsetInPixels() const=0;
  2830. virtual TInt DoTextCount(const TDesC& aText,TInt aWidthInPixels) const=0;
  2831. virtual TInt DoTextCount(const TDesC& aText,TInt aWidthInPixels,TInt& aExcessWidthInPixels) const=0;
  2832. virtual TInt DoMaxCharWidthInPixels() const=0;
  2833. virtual TInt DoMaxNormalCharWidthInPixels() const=0;
  2834. virtual TFontSpec DoFontSpecInTwips() const=0;
  2835. protected:
  2836. __declspec(dllexport) virtual TCharacterDataAvailability DoGetCharacterData(TUint aCode, TOpenFontCharMetrics& aMetrics,const TUint8*& aBitmap,TSize& aBitmapSize) const;
  2837. __declspec(dllexport) virtual TBool DoGetCharacterPosition(TPositionParam& aParam) const;
  2838. __declspec(dllexport) virtual TInt DoExtendedFunction(TUid aFunctionId, TAny* aParam = 0 ) const;
  2839. protected:
  2840. __declspec(dllexport) virtual ~CFont();
  2841. public:
  2842. inline TInt FontCapitalAscent() const;
  2843. inline TInt FontMaxAscent() const;
  2844. inline TInt FontStandardDescent() const;
  2845. inline TInt FontMaxDescent() const;
  2846. inline TInt FontLineGap() const;
  2847. inline TInt FontMaxHeight() const;
  2848. public:
  2849. #line 1475
  2850. __declspec(dllexport) TUid TypeUid() const;
  2851. __declspec(dllexport) TInt HeightInPixels() const;
  2852. __declspec(dllexport) TInt AscentInPixels() const;
  2853. __declspec(dllexport) TInt DescentInPixels() const;
  2854. __declspec(dllexport) TInt CharWidthInPixels(TChar aChar) const;
  2855. __declspec(dllexport) TInt TextWidthInPixels(const TDesC& aText) const;
  2856. __declspec(dllexport) TInt BaselineOffsetInPixels() const;
  2857. #line 1528
  2858. __declspec(dllexport) TInt TextCount(const TDesC& aText,TInt aWidthInPixels) const;
  2859. #line 1544
  2860. __declspec(dllexport) TInt TextCount(const TDesC& aText,TInt aWidthInPixels,TInt& aExcessWidthInPixels) const;
  2861. __declspec(dllexport) TInt MaxCharWidthInPixels() const;
  2862. __declspec(dllexport) TInt MaxNormalCharWidthInPixels() const;
  2863. __declspec(dllexport) TFontSpec FontSpecInTwips() const;
  2864. __declspec(dllexport) TCharacterDataAvailability GetCharacterData(TUint aCode, TOpenFontCharMetrics& aMetrics,const TUint8*& aBitmap,TSize& aBitmapSize) const;
  2865. __declspec(dllexport) TBool GetCharacterPosition(TPositionParam& aParam) const;
  2866. __declspec(dllexport) TInt WidthZeroInPixels() const;
  2867. __declspec(dllexport) TInt MeasureText(const TDesC& aText, const TMeasureTextInput* aInput = 0 , TMeasureTextOutput* aOutput = 0 ) const;
  2868. __declspec(dllexport) static TBool CharactersJoin(TInt aLeftCharacter, TInt aRightCharacter);
  2869. __declspec(dllexport) TInt ExtendedFunction(TUid aFunctionId, TAny* aParam = 0 ) const;
  2870. };
  2871. class CFbsBitmap;
  2872. class CWsBitmap;
  2873. #line 1602
  2874. class CGraphicsContext : public CBase
  2875. {
  2876. public:
  2877. enum TTextAlign
  2878. {
  2879. ELeft,
  2880. ECenter,
  2881. ERight
  2882. };
  2883. #line 1628
  2884. enum TDrawModeComponents
  2885. {
  2886. EInvertScreen=1,
  2887. EXor=2,
  2888. EOr=4,
  2889. EAnd=8,
  2890. ELogicalOp=14,
  2891. EInvertPen=16,
  2892. EPenmode=32,
  2893. EWriteAlpha=64,
  2894. };
  2895. #line 1682
  2896. enum TDrawMode
  2897. {
  2898. EDrawModeAND=EAnd,
  2899. EDrawModeNOTAND=EInvertScreen|EAnd,
  2900. EDrawModePEN=EPenmode,
  2901. EDrawModeANDNOT=EAnd|EInvertPen,
  2902. EDrawModeXOR=EXor,
  2903. EDrawModeOR=EOr,
  2904. EDrawModeNOTANDNOT=EInvertScreen|EAnd|EInvertPen,
  2905. EDrawModeNOTXOR=EInvertScreen|EXor,
  2906. EDrawModeNOTSCREEN=EInvertScreen,
  2907. EDrawModeNOTOR=EInvertScreen|EOr,
  2908. EDrawModeNOTPEN=EInvertPen|EPenmode,
  2909. EDrawModeORNOT=EOr|EInvertPen,
  2910. EDrawModeNOTORNOT=EInvertScreen|EOr|EInvertPen,
  2911. EDrawModeWriteAlpha=EWriteAlpha,
  2912. };
  2913. #line 1730
  2914. enum TPenStyle
  2915. {
  2916. ENullPen,
  2917. ESolidPen,
  2918. EDottedPen,
  2919. EDashedPen,
  2920. EDotDashPen,
  2921. EDotDotDashPen
  2922. };
  2923. enum TBrushStyle
  2924. {
  2925. ENullBrush,
  2926. ESolidBrush,
  2927. EPatternedBrush,
  2928. EVerticalHatchBrush,
  2929. EForwardDiagonalHatchBrush,
  2930. EHorizontalHatchBrush,
  2931. ERearwardDiagonalHatchBrush,
  2932. ESquareCrossHatchBrush,
  2933. EDiamondCrossHatchBrush
  2934. };
  2935. #line 1799
  2936. enum TFillRule
  2937. {
  2938. EAlternate,
  2939. EWinding
  2940. };
  2941. struct TDrawTextParam
  2942. {
  2943. public:
  2944. TDrawTextParam():
  2945. iDirection(CFont::EHorizontal),
  2946. iCharJustNum(0),
  2947. iCharJustExcess(0),
  2948. iWordJustNum(0),
  2949. iWordJustExcess(0)
  2950. {}
  2951. public:
  2952. CFont::TTextDirection iDirection;
  2953. TInt iCharJustNum;
  2954. TInt iCharJustExcess;
  2955. TInt iWordJustNum;
  2956. TInt iWordJustExcess;
  2957. };
  2958. struct TDrawTextExtendedParam : public TDrawTextParam
  2959. {
  2960. public:
  2961. TDrawTextExtendedParam():
  2962. iParRightToLeft(EFalse)
  2963. {}
  2964. public:
  2965. TBool iParRightToLeft;
  2966. };
  2967. public:
  2968. virtual CGraphicsDevice* Device() const=0;
  2969. virtual void SetOrigin(const TPoint& aPos=TPoint(0,0))=0;
  2970. #line 1912
  2971. virtual void SetDrawMode(TDrawMode aDrawingMode)=0;
  2972. virtual void SetClippingRect(const TRect& aRect)=0;
  2973. virtual void CancelClippingRect()=0;
  2974. #line 1941
  2975. virtual void Reset()=0;
  2976. #line 1964
  2977. virtual void UseFont(const CFont* aFont)=0;
  2978. virtual void DiscardFont()=0;
  2979. virtual void SetUnderlineStyle(TFontUnderline aUnderlineStyle)=0;
  2980. virtual void SetStrikethroughStyle(TFontStrikethrough aStrikethroughStyle)=0;
  2981. __declspec(dllexport) static TInt JustificationInPixels(TInt aExcessPixels,TInt aTotalUnits,TInt aFirstUnit,TInt aNumUnits);
  2982. __declspec(dllexport) static TInt JustificationInPixels(TInt& aExcessPixels,TInt& aTotalUnits);
  2983. #line 2034
  2984. virtual void SetWordJustification(TInt aExcessWidth,TInt aNumGaps)=0;
  2985. #line 2110
  2986. virtual void SetCharJustification(TInt aExcessWidth,TInt aNumChars)=0;
  2987. #line 2125
  2988. virtual void SetPenColor(const TRgb& aColor)=0;
  2989. #line 2165
  2990. virtual void SetPenStyle(TPenStyle aPenStyle)=0;
  2991. #line 2204
  2992. virtual void SetPenSize(const TSize& aSize)=0;
  2993. #line 2221
  2994. virtual void SetBrushColor(const TRgb& aColor)=0;
  2995. #line 2242
  2996. virtual void SetBrushStyle(TBrushStyle aBrushStyle)=0;
  2997. #line 2270
  2998. virtual void SetBrushOrigin(const TPoint& aOrigin)=0;
  2999. #line 2295
  3000. virtual void UseBrushPattern(const CFbsBitmap* aBitmap)=0;
  3001. #line 2309
  3002. virtual void DiscardBrushPattern()=0;
  3003. #line 2327
  3004. virtual void MoveTo(const TPoint& aPoint)=0;
  3005. #line 2344
  3006. virtual void MoveBy(const TPoint& aVector)=0;
  3007. #line 2358
  3008. virtual void Plot(const TPoint& aPoint)=0;
  3009. #line 2397
  3010. virtual void DrawArc(const TRect& aRect,const TPoint& aStart,const TPoint& aEnd)=0;
  3011. virtual void DrawLine(const TPoint& aPoint1,const TPoint& aPoint2)=0;
  3012. virtual void DrawLineTo(const TPoint& aPoint)=0;
  3013. #line 2424
  3014. virtual void DrawLineBy(const TPoint& aVector)=0;