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

Symbian

开发平台:

C/C++

  1. #line 22 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikenv.h" /* stack depth 5 */
  2. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\lafmain.h" /* stack depth 6 */
  3. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\frmtlay.h" /* stack depth 7 */
  4. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtfrmat.h" /* stack depth 8 */
  5. #line 15
  6. class TTabStop;
  7. class TParaBorder;
  8. class TBullet;
  9. class TParaBorderArray;
  10. class CParaFormat;
  11. class TParaFormatMask;
  12. class TFontPresentation;
  13. class TCharFormat;
  14. class TCharFormatMask;
  15. #line 53
  16. class TLogicalRgb : public TRgb
  17. {
  18. public:
  19. enum
  20. {
  21. ESystemSelectionForegroundIndex = 252,
  22. ESystemSelectionBackgroundIndex = 253,
  23. ESystemForegroundIndex = 254,
  24. ESystemBackgroundIndex = 255
  25. };
  26. enum TSystemColor
  27. {
  28. ESystemSelectionForegroundColor = ESystemSelectionForegroundIndex << 24,
  29. ESystemSelectionBackgroundColor = ESystemSelectionBackgroundIndex << 24,
  30. ESystemForegroundColor = ESystemForegroundIndex << 24,
  31. ESystemBackgroundColor = (ESystemBackgroundIndex << 24) | 0xFFFFFF
  32. };
  33. TLogicalRgb() :
  34. iValue2(0)
  35. {
  36. }
  37. TLogicalRgb(TUint32 aValue):
  38. iValue2(aValue & 0xFF000000)
  39. {
  40. SetInternal((TUint32)aValue | 0xFF000000);
  41. }
  42. TLogicalRgb(TSystemColor aValue) :
  43. iValue2((TUint32)aValue & 0xFF000000)
  44. {
  45. SetInternal((TUint32)aValue | 0xFF000000);
  46. }
  47. TLogicalRgb(const TRgb& aRgb) :
  48. TRgb(aRgb),
  49. iValue2(0)
  50. {
  51. }
  52. TUint SystemColorIndex() const
  53. {
  54. return iValue2 >> 24;
  55. }
  56. void SetSystemColorIndex(TUint aIndex)
  57. {
  58. iValue2 = aIndex << 24;
  59. }
  60. private:
  61. TUint32 iValue2;
  62. };
  63. enum TTextFormatAttribute
  64. {
  65. EAttParaLanguage,
  66. EAttFillColor,
  67. EAttLeftMargin,
  68. EAttRightMargin,
  69. EAttIndent,
  70. EAttAlignment,
  71. EAttVerticalAlignment,
  72. EAttLineSpacing,
  73. EAttLineSpacingControl,
  74. EAttSpaceBefore,
  75. EAttSpaceAfter,
  76. EAttKeepTogether,
  77. EAttKeepWithNext,
  78. EAttStartNewPage,
  79. EAttWidowOrphan,
  80. EAttWrap,
  81. EAttBorderMargin,
  82. EAttTopBorder,
  83. EAttBottomBorder,
  84. EAttLeftBorder,
  85. EAttRightBorder,
  86. EAttBullet,
  87. EAttDefaultTabWidth,
  88. EAttTabStop,
  89. EAttCharLanguage,
  90. EAttColor,
  91. EAttFontHighlightColor,
  92. EAttFontHighlightStyle,
  93. EAttFontHeight,
  94. EAttFontPosture,
  95. EAttFontStrokeWeight,
  96. EAttFontPrintPos,
  97. EAttFontUnderline,
  98. EAttFontStrikethrough,
  99. EAttFontTypeface,
  100. EAttFontPictureAlignment,
  101. EAttFontHiddenText,
  102. ETextFormatAttributeCount
  103. };
  104. enum {EVariableLengthValue = 0};
  105. const TInt KMaxStyleName = 0x20;
  106. const TInt KMaxParaAttributes = EAttTabStop;
  107. const TInt KMaxCharAttributes = EAttFontHiddenText - KMaxParaAttributes;
  108. const TInt KTabNotFound = -1;
  109. #line 258
  110. class TTabStop
  111. {
  112. public:
  113. enum TTabType
  114. {
  115. ENullTab,
  116. ELeftTab,
  117. ECenteredTab,
  118. ERightTab
  119. };
  120. public:
  121. __declspec(dllexport) TTabStop();
  122. __declspec(dllexport) TTabStop(const TTabStop& aTabStop);
  123. __declspec(dllexport) TTabStop& operator=(const TTabStop& aTabStop);
  124. __declspec(dllexport) TBool operator==(const TTabStop& aTabStop) const;
  125. inline TBool operator!=(const TTabStop& aTabStop) const;
  126. public:
  127. TUint32 iTwipsPosition;
  128. TTabType iType;
  129. };
  130. #line 300
  131. class TParaBorder
  132. {
  133. public:
  134. enum TLineStyle
  135. {
  136. ENullLineStyle,
  137. ESolid,
  138. EDouble,
  139. EDotted,
  140. EDashed,
  141. EDotDash,
  142. EDotDotDash
  143. };
  144. __declspec(dllexport) TParaBorder();
  145. __declspec(dllexport) TBool operator==(const TParaBorder& aParaBorder) const;
  146. inline TBool operator!=(const TParaBorder& aParaBorder) const;
  147. public:
  148. TLineStyle iLineStyle;
  149. TInt iThickness;
  150. TLogicalRgb iColor;
  151. TBool iAutoColor;
  152. };
  153. #line 347
  154. class TParaBorderArray
  155. {
  156. public:
  157. TParaBorder iBorder[4];
  158. };
  159. #line 366
  160. class TBullet
  161. {
  162. public:
  163. __declspec(dllexport) TBullet();
  164. __declspec(dllexport) TBool operator ==(const TBullet& aBullet) const;
  165. inline TBool operator !=(const TBullet& aBullet) const;
  166. enum TStyle
  167. {
  168. ENullStyle,
  169. EBulletStyle,
  170. EArabicNumberStyle,
  171. ESmallRomanNumberStyle,
  172. ECapitalRomanNumberStyle,
  173. ESmallLetterStyle,
  174. ECapitalLetterStyle
  175. };
  176. enum TAlignment
  177. {
  178. ELeftAlign,
  179. ECenterAlign,
  180. ERightAlign
  181. };
  182. TChar iCharacterCode;
  183. TUint iHeightInTwips;
  184. TTypeface iTypeface;
  185. TBool iHangingIndent;
  186. TLogicalRgb iColor;
  187. TStyle iStyle;
  188. TInt iStartNumber;
  189. TAlignment iAlignment;
  190. };
  191. #line 429
  192. class CParaFormat: public CBase
  193. {
  194. public:
  195. enum
  196. {
  197. EMaxParaBorder = 4
  198. };
  199. enum TParaBorderSide
  200. {
  201. EParaBorderTop,
  202. EParaBorderBottom,
  203. EParaBorderLeft,
  204. EParaBorderRight
  205. };
  206. enum TLineSpacingControl
  207. {
  208. ELineSpacingAtLeastInTwips,
  209. ELineSpacingExactlyInTwips,
  210. ELineSpacingAtLeastInPixels,
  211. ELineSpacingExactlyInPixels
  212. };
  213. enum TAlignment
  214. {
  215. ELeftAlign,
  216. ETopAlign = ELeftAlign,
  217. ECenterAlign,
  218. ERightAlign,
  219. EBottomAlign = ERightAlign,
  220. EJustifiedAlign,
  221. EUnspecifiedAlign,
  222. ECustomAlign,
  223. EAbsoluteLeftAlign,
  224. EAbsoluteRightAlign
  225. };
  226. enum TParaFormatGetMode
  227. {
  228. EAllAttributes,
  229. EFixedAttributes
  230. };
  231. __declspec(dllexport) static CParaFormat* NewL();
  232. __declspec(dllexport) static CParaFormat* NewLC();
  233. __declspec(dllexport) static CParaFormat* NewL(const CParaFormat& aFormat);
  234. __declspec(dllexport) CParaFormat();
  235. __declspec(dllexport) ~CParaFormat();
  236. __declspec(dllexport) void ResetNonDestructive();
  237. __declspec(dllexport) void Reset();
  238. __declspec(dllexport) void CopyL(const CParaFormat& aFormat, const TParaFormatMask& aMask);
  239. __declspec(dllexport) void CopyL(const CParaFormat& aFormat);
  240. __declspec(dllexport) void Strip();
  241. __declspec(dllexport) TBool IsEqual(const CParaFormat& aFormat, const TParaFormatMask& aMask) const;
  242. __declspec(dllexport) TBool IsEqual(const CParaFormat& aFormat) const;
  243. __declspec(dllexport) void StoreTabL(const TTabStop& aTabStop);
  244. __declspec(dllexport) void RemoveTab(TInt aTabTwipsPosition);
  245. inline void RemoveAllTabs();
  246. __declspec(dllexport) const TTabStop TabStop(TInt aTabIndex) const;
  247. inline TInt TabCount() const;
  248. __declspec(dllexport) TInt LocateTab(TInt aTabTwipsPosition) const;
  249. __declspec(dllexport) void SetParaBorderL(TParaBorderSide aSide, const TParaBorder& aBorder);
  250. __declspec(dllexport) void RemoveAllBorders();
  251. __declspec(dllexport) const TParaBorder ParaBorder(TParaBorderSide aSide) const;
  252. inline TBool BordersPresent() const { return iParaBorderArray != 0 ;}
  253.     inline TParaBorder* ParaBorderPtr(TParaBorderSide aSide)
  254. { return iParaBorderArray ? &iParaBorderArray->iBorder[aSide] : 0 ; }
  255. __declspec(dllexport) TBool AllBordersEqual(const CParaFormat& aFormat) const;
  256. __declspec(dllexport) TBool IsBorderEqual(TParaBorderSide aSide, const CParaFormat& aFormat) const;
  257. private:
  258. CParaFormat(const CParaFormat& aFormat);
  259. void CreateTabListL();
  260. enum
  261. {
  262. ETabStoreGranularity = 2
  263. };
  264. CParaFormat& operator=(const CParaFormat& aParaFormat);
  265. private:
  266. CArrayFixFlat<TTabStop> * iTabList;
  267. TParaBorderArray* iParaBorderArray;
  268. public:
  269. TLogicalRgb iFillColor;
  270. TInt32 iLanguage;
  271. TInt32 iLeftMarginInTwips;
  272. TInt32 iRightMarginInTwips;
  273. TInt32 iIndentInTwips;
  274. TAlignment iHorizontalAlignment;
  275. TAlignment iVerticalAlignment;
  276. TInt32 iLineSpacingInTwips;
  277. TLineSpacingControl iLineSpacingControl;
  278. TInt32 iSpaceBeforeInTwips;
  279. TInt32 iSpaceAfterInTwips;
  280. TBool iKeepTogether;
  281. TBool iKeepWithNext;
  282. TBool iStartNewPage;
  283. TBool iWidowOrphan;
  284. TBool iWrap;
  285. TInt32 iBorderMarginInTwips;
  286. TBullet* iBullet;
  287. TUint32 iDefaultTabWidthInTwips;
  288. };
  289. #line 632
  290. class TParaFormatMask
  291. {
  292. public:
  293. inline TParaFormatMask();
  294. inline void SetAttrib(TTextFormatAttribute aAttribute);
  295. inline void ClearAttrib(TTextFormatAttribute aAttribute);
  296. __declspec(dllexport) void SetAll();
  297. __declspec(dllexport) void ClearAll();
  298. inline TBool AttribIsSet(TTextFormatAttribute aAttribute) const;
  299. inline TBool IsNull() const;
  300. __declspec(dllexport) TBool operator==(const TParaFormatMask& aMask) const;
  301. inline TBool operator!=(const TParaFormatMask& aMask) const;
  302. private:
  303. TUint32 iGuard;
  304. };
  305. #line 658
  306. class TFontPresentation
  307. {
  308. public:
  309. enum TFontHighlightStyle
  310. {
  311. EFontHighlightNone,
  312. EFontHighlightNormal,
  313. EFontHighlightRounded,
  314. EFontHighlightShadow,
  315. EFontHighlightNoMatchesIndicator,
  316. EFontHighlightFirstCustomStyle = 128,
  317. EFontHighlightLastCustomStyle = 255
  318. };
  319. enum TAlignment
  320. {
  321. EAlignTop,
  322. EAlignBottom,
  323. EAlignCentered,
  324. EAlignBaseLine
  325. };
  326. __declspec(dllexport) TFontPresentation();
  327. __declspec(dllexport) TBool IsEqual(const TFontPresentation& aFontPresentation, const TCharFormatMask& aMask) const;
  328. public:
  329. TLogicalRgb iTextColor;
  330. TLogicalRgb iHighlightColor;
  331. TFontHighlightStyle iHighlightStyle;
  332. TFontStrikethrough iStrikethrough;
  333. TFontUnderline iUnderline;
  334. TBool iHiddenText;
  335. TAlignment iPictureAlignment;
  336. };
  337. #line 743
  338. class TCharFormat
  339. {
  340. public:
  341. __declspec(dllexport) TCharFormat();
  342. __declspec(dllexport) TCharFormat(const TDesC &aTypefaceName, TInt aHeight);
  343. __declspec(dllexport) TBool IsEqual(const TCharFormat& aFormat, const TCharFormatMask& aMask) const;
  344. __declspec(dllexport) TBool IsEqual(const TCharFormat& aFormat) const;
  345. public:
  346. TInt32 iLanguage;
  347. TFontPresentation iFontPresentation;
  348. TFontSpec iFontSpec;
  349. };
  350. #line 779
  351. class TCharFormatMask
  352. {
  353. public:
  354. inline TCharFormatMask();
  355. inline void SetAttrib(TTextFormatAttribute aAttribute);
  356. inline void ClearAttrib(TTextFormatAttribute aAttribute);
  357. inline TBool AttribIsSet(TTextFormatAttribute aAttribute) const;
  358. __declspec(dllexport) void SetAll();
  359. __declspec(dllexport) void ClearAll();
  360. inline TBool IsNull()const;
  361. __declspec(dllexport) TBool operator==(const TCharFormatMask& aMask) const;
  362. inline TBool operator!=(const TCharFormatMask& aMask) const;
  363. private:
  364. TUint32 iGuard;
  365. };
  366. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtfrmat.inl" /* stack depth 9 */
  367. TBool TTabStop::operator!=(const TTabStop& aTabStop)const
  368. {return !(*this==aTabStop);}
  369. TBool TParaBorder::operator!=(const TParaBorder& aParaBorder)const
  370. {return !(*this==aParaBorder);}
  371. TBool TBullet::operator!=(const TBullet& aBullet)const
  372. {return !(*this==aBullet);}
  373. void CParaFormat::RemoveAllTabs()
  374. {
  375. if (iTabList)
  376. {
  377. delete iTabList;
  378. iTabList = 0 ;
  379. }
  380. }
  381. TInt CParaFormat::TabCount()const
  382. {return (iTabList)?iTabList->Count():0;}
  383. TParaFormatMask::TParaFormatMask()
  384. :iGuard(0)
  385. {}
  386. void TParaFormatMask::SetAttrib(TTextFormatAttribute aAttribute)
  387. {iGuard|=(1<<aAttribute);}
  388. void TParaFormatMask::ClearAttrib(TTextFormatAttribute aAttribute)
  389. {iGuard&=~(1<<aAttribute);}
  390. TBool TParaFormatMask::AttribIsSet(TTextFormatAttribute aAttribute)const
  391. {return (iGuard&(1<<aAttribute));}
  392. TBool TParaFormatMask::IsNull()const
  393. {return !iGuard;}
  394. TBool TParaFormatMask::operator!=(const TParaFormatMask& aMask)const
  395. {return !(*this==aMask);}
  396. TCharFormatMask::TCharFormatMask()
  397. :iGuard(0)
  398. {}
  399. void TCharFormatMask::SetAttrib(TTextFormatAttribute aAttribute)
  400. {iGuard|=(1<<((aAttribute-KMaxParaAttributes)-1));}
  401. void TCharFormatMask::ClearAttrib(TTextFormatAttribute aAttribute)
  402. {iGuard&=~(1<<((aAttribute-KMaxParaAttributes)-1));}
  403. TBool TCharFormatMask::AttribIsSet(TTextFormatAttribute aAttribute)const
  404. {return iGuard&(1<<((aAttribute-KMaxParaAttributes)-1));}
  405. TBool TCharFormatMask::IsNull()const
  406. {return !iGuard;}
  407. TBool TCharFormatMask::operator!=(const TCharFormatMask& aMask)const
  408. {return !(*this==aMask);}
  409. #line 796 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtfrmat.h" /* stack depth 8 */
  410. #line 12 "C:\Symbian\9.1\S60_3rd\epoc32\include\frmtlay.h" /* stack depth 7 */
  411. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtetext.h" /* stack depth 8 */
  412. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\fldset.h" /* stack depth 9 */
  413. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\fldinfo.h" /* stack depth 10 */
  414. #line 13
  415. class TFindFieldInfo
  416. #line 23
  417. {
  418. public:
  419. __declspec(dllexport) TBool operator==(const TFindFieldInfo& aInfo)const;
  420. __declspec(dllexport) TBool operator!=(const TFindFieldInfo& aInfo)const;
  421. public:
  422. TInt iFieldCountInRange;
  423. TInt iFirstFieldPos;
  424. TInt iFirstFieldLen;
  425. };
  426. #line 11 "C:\Symbian\9.1\S60_3rd\epoc32\include\fldset.h" /* stack depth 9 */
  427. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\fldbase.h" /* stack depth 10 */
  428. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32stor.h" /* stack depth 11 */
  429. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32share.h" /* stack depth 12 */
  430. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32buf.h" /* stack depth 13 */
  431. #line 17
  432. enum TStreamLocation
  433. {EStreamBeginning,
  434. EStreamMark,
  435. EStreamEnd};
  436. #line 46
  437. class TStreamPos
  438. {
  439. public:
  440. TStreamPos() {}
  441. inline TStreamPos(TInt anOffset);
  442. inline TBool operator==(TStreamPos aPos) const;
  443. inline TBool operator!=(TStreamPos aPos) const;
  444. inline TBool operator<(TStreamPos aPos) const;
  445. inline TBool operator<=(TStreamPos aPos) const;
  446. inline TBool operator>(TStreamPos aPos) const;
  447. inline TBool operator>=(TStreamPos aPos) const;
  448. inline TInt operator-(TStreamPos aPos) const;
  449. inline TStreamPos operator+(TInt anOffset) const;
  450. inline TStreamPos operator-(TInt anOffset) const;
  451. inline TStreamPos& operator+=(TInt anOffset);
  452. inline TStreamPos& operator-=(TInt anOffset);
  453. inline TInt Offset() const;
  454. private:
  455. TInt iOff;
  456. };
  457. inline TStreamPos operator+(TInt anOffset,TStreamPos aPos);
  458. #line 98
  459. class TStreamTransfer
  460. {
  461. public:
  462. enum TUnlimited {EUnlimited};
  463. public:
  464. #line 115
  465. TStreamTransfer() {}
  466. inline TStreamTransfer(TInt aMaxLength);
  467. inline TStreamTransfer(TUnlimited);
  468. inline TBool operator==(TInt aLength) const;
  469. inline TBool operator>(TInt aLength) const;
  470. inline TStreamTransfer operator-(TInt aLength) const;
  471. inline TInt operator[](TInt aMaxLength) const;
  472. inline TStreamTransfer& operator-=(TInt aLength);
  473. inline TInt Left() const;
  474. private:
  475. TInt iVal;
  476. private:
  477. __declspec(dllexport) static void __DbgChkNonNegative(TInt aLength);
  478. };
  479. inline TBool operator==(TInt aLength,TStreamTransfer aTransfer);
  480. inline TBool operator<(TInt aLength,TStreamTransfer aTransfer);
  481. #line 146
  482. class MStreamInput;
  483. class MStreamOutput;
  484. #line 184
  485. class MStreamBuf
  486. {
  487. public:
  488. enum TRead {ERead=0x01};
  489. enum TWrite {EWrite=0x02};
  490. #line 208
  491. typedef TInt TMark;
  492. public:
  493. __declspec(dllexport) void Close();
  494. inline void Release();
  495. __declspec(dllexport) TInt Synch();
  496. inline void SynchL();
  497. __declspec(dllexport) void PushL();
  498. inline TInt ReadL(TAny* aPtr,TInt aMaxLength);
  499. __declspec(dllexport) TInt Read(TDes8& aDes,TRequestStatus& aStatus);
  500. __declspec(dllexport) TInt Read(TDes8& aDes,TInt aMaxLength,TRequestStatus& aStatus);
  501. __declspec(dllexport) TInt ReadL(TDes8& aDes,TRequestStatus& aStatus);
  502. inline TInt ReadL(TDes8& aDes,TInt aMaxLength,TRequestStatus& aStatus);
  503. inline TStreamTransfer ReadL(MStreamInput& anInput,TStreamTransfer aTransfer);
  504. __declspec(dllexport) TInt ReadL(MStreamInput& anInput,TInt aMaxLength);
  505. inline void ReadL(MStreamInput& anInput);
  506. inline void WriteL(const TAny* aPtr,TInt aLength);
  507. __declspec(dllexport) TInt Write(const TDesC8& aDes,TRequestStatus& aStatus);
  508. __declspec(dllexport) TInt Write(const TDesC8& aDes,TInt aMaxLength,TRequestStatus& aStatus);
  509. __declspec(dllexport) TInt WriteL(const TDesC8& aDes,TRequestStatus& aStatus);
  510. inline TInt WriteL(const TDesC8& aDes,TInt aMaxLength,TRequestStatus& aStatus);
  511. inline TStreamTransfer WriteL(MStreamOutput& anOutput,TStreamTransfer aTransfer);
  512. __declspec(dllexport) TInt WriteL(MStreamOutput& anOutput,TInt aMaxLength);
  513. inline void WriteL(MStreamOutput& anOutput);
  514. inline void SeekL(TMark aMark,TStreamPos aPos);
  515. inline TStreamPos SeekL(TMark aMark,TStreamLocation aLocation,TInt anOffset=0);
  516. inline TStreamPos SeekL(TRead,TStreamLocation aLocation,TInt anOffset=0);
  517. inline TStreamPos SeekL(TWrite,TStreamLocation aLocation,TInt anOffset=0);
  518. inline TStreamPos SeekL(TRead,TInt anOffset);
  519. inline TStreamPos SeekL(TWrite,TInt anOffset);
  520. inline TStreamPos TellL(TRead) const;
  521. inline TStreamPos TellL(TWrite) const;
  522. inline TInt SizeL() const;
  523. protected:
  524. MStreamBuf() {}
  525. private:
  526. MStreamBuf(const MStreamBuf&);
  527. MStreamBuf& operator=(const MStreamBuf&);
  528. virtual __declspec(dllexport) void DoRelease();
  529. virtual __declspec(dllexport) void DoSynchL();
  530. virtual __declspec(dllexport) TInt DoReadL(TAny* aPtr,TInt aMaxLength);
  531. virtual __declspec(dllexport) TInt DoReadL(TDes8& aDes,TInt aMaxLength,TRequestStatus& aStatus);
  532. virtual __declspec(dllexport) TStreamTransfer DoReadL(MStreamInput& anInput,TStreamTransfer aTransfer);
  533. virtual __declspec(dllexport) void DoWriteL(const TAny* aPtr,TInt aLength);
  534. virtual __declspec(dllexport) TInt DoWriteL(const TDesC8& aDes,TInt aMaxLength,TRequestStatus& aStatus);
  535. virtual __declspec(dllexport) TStreamTransfer DoWriteL(MStreamOutput& anOutput,TStreamTransfer aTransfer);
  536. virtual __declspec(dllexport) TStreamPos DoSeekL(TMark aMark,TStreamLocation aLocation,TInt anOffset);
  537. };
  538. #line 276
  539. class MStreamInput
  540. {
  541. public:
  542. #line 291
  543. virtual TInt PushL(const TAny* aPtr,TInt aMaxLength)=0;
  544. #line 306
  545. virtual TStreamTransfer ReadFromL(MStreamBuf& aSource,TStreamTransfer aTransfer)=0;
  546. };
  547. #line 323
  548. class MStreamOutput
  549. {
  550. public:
  551. #line 338
  552. virtual TInt PullL(TAny* aPtr,TInt aMaxLength)=0;
  553. #line 353
  554. virtual TStreamTransfer WriteToL(MStreamBuf& aSink,TStreamTransfer aTransfer)=0;
  555. };
  556. #line 375
  557. class TStreamBuf : public MStreamBuf
  558. {
  559. protected:
  560. #line 391
  561. typedef TInt TArea;
  562. protected:
  563. __declspec(dllexport) TStreamBuf();
  564. __declspec(dllexport) void SetBuf(TArea anArea,TUint8* aPtr,TUint8* anEnd);
  565. __declspec(dllexport) void SetPtr(TArea anArea,TUint8* aPtr);
  566. __declspec(dllexport) void SetEnd(TArea anArea,TUint8* anEnd);
  567. __declspec(dllexport) TUint8* Ptr(TArea anArea) const;
  568. __declspec(dllexport) TUint8* End(TArea anArea) const;
  569. __declspec(dllexport) TInt Avail(TArea anArea) const;
  570. __declspec(dllexport) TInt DoReadL(TAny* aPtr,TInt aMaxLength);
  571. __declspec(dllexport) TStreamTransfer DoReadL(MStreamInput& anInput,TStreamTransfer aTransfer);
  572. __declspec(dllexport) void DoWriteL(const TAny* aPtr,TInt aLength);
  573. __declspec(dllexport) TStreamTransfer DoWriteL(MStreamOutput& anOutput,TStreamTransfer aTransfer);
  574. inline void SetBuf(TRead,TUint8* aPtr,TUint8* anEnd);
  575. inline void SetBuf(TWrite,TUint8* aPtr,TUint8* anEnd);
  576. inline void SetPtr(TRead,TUint8* aPtr);
  577. inline void SetPtr(TWrite,TUint8* aPtr);
  578. inline void SetEnd(TRead,TUint8* anEnd);
  579. inline void SetEnd(TWrite,TUint8* anEnd);
  580. inline TUint8* Ptr(TRead) const;
  581. inline TUint8* Ptr(TWrite) const;
  582. inline TUint8* End(TRead) const;
  583. inline TUint8* End(TWrite) const;
  584. inline TInt Avail(TRead) const;
  585. inline TInt Avail(TWrite) const;
  586. private:
  587. #line 429
  588. virtual TInt UnderflowL(TInt aMaxLength)=0;
  589. virtual void OverflowL()=0;
  590. private:
  591. TUint8* iRPtr;
  592. TUint8* iREnd;
  593. TUint8* iWPtr;
  594. TUint8* iWEnd;
  595. };
  596. #line 454
  597. class TStreamFilter : public MStreamBuf
  598. {
  599. public:
  600. enum {EAttached=0x10};
  601. protected:
  602. __declspec(dllexport) TStreamFilter();
  603. inline void Set(MStreamBuf* aHost,TInt aMode);
  604. inline void Committed();
  605. inline TBool IsCommitted() const;
  606. __declspec(dllexport) void EmitL(const TAny* aPtr,TInt aLength);
  607. __declspec(dllexport) void DoRelease();
  608. __declspec(dllexport) void DoSynchL();
  609. __declspec(dllexport) TInt DoReadL(TAny* aPtr,TInt aMaxLength);
  610. __declspec(dllexport) void DoWriteL(const TAny* aPtr,TInt aLength);
  611. private:
  612. virtual TInt Capacity(TInt aMaxLength)=0;
  613. #line 488
  614. virtual TInt FilterL(TAny* aPtr,TInt aMaxLength,const TUint8*& aFrom,const TUint8* anEnd)=0;
  615. private:
  616. MStreamBuf* iHost;
  617. TInt iMode;
  618. private:
  619. friend class TFilterInput;
  620. friend class TFilterOutput;
  621. private:
  622. __declspec(dllexport) static void __DbgChkMode(TInt aMode);
  623. };
  624. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32buf.inl" /* stack depth 14 */
  625. inline TStreamPos::TStreamPos(TInt anOffset)
  626. : iOff(anOffset)
  627. {}
  628. inline TBool TStreamPos::operator==(TStreamPos aPos) const
  629. {return iOff==aPos.iOff;}
  630. inline TBool TStreamPos::operator!=(TStreamPos aPos) const
  631. {return iOff!=aPos.iOff;}
  632. inline TBool TStreamPos::operator<(TStreamPos aPos) const
  633. {return iOff<aPos.iOff;}
  634. inline TBool TStreamPos::operator<=(TStreamPos aPos) const
  635. {return iOff<=aPos.iOff;}
  636. inline TBool TStreamPos::operator>(TStreamPos aPos) const
  637. {return iOff>aPos.iOff;}
  638. inline TBool TStreamPos::operator>=(TStreamPos aPos) const
  639. {return iOff>=aPos.iOff;}
  640. inline TInt TStreamPos::operator-(TStreamPos aPos) const
  641. {return iOff-aPos.iOff;}
  642. inline TStreamPos TStreamPos::operator+(TInt anOffset) const
  643. {return TStreamPos(iOff+anOffset);}
  644. inline TStreamPos TStreamPos::operator-(TInt anOffset) const
  645. {return TStreamPos(iOff-anOffset);}
  646. inline TStreamPos& TStreamPos::operator+=(TInt anOffset)
  647. {iOff+=anOffset;return *this;}
  648. inline TStreamPos& TStreamPos::operator-=(TInt anOffset)
  649. {iOff-=anOffset;return *this;}
  650. inline TInt TStreamPos::Offset() const
  651. {return iOff;}
  652. inline TStreamPos operator+(TInt anOffset,TStreamPos aPos)
  653. {return aPos+anOffset;}
  654. inline TStreamTransfer::TStreamTransfer(TInt aMaxLength)
  655. : iVal(aMaxLength)
  656. {
  657. __DbgChkNonNegative(aMaxLength);
  658. }
  659. inline TStreamTransfer::TStreamTransfer(TUnlimited)
  660. : iVal(-1)
  661. #line 124
  662. {}
  663. inline TBool TStreamTransfer::operator==(TInt aLength) const
  664. {
  665. __DbgChkNonNegative(aLength);
  666. return iVal==aLength;
  667. }
  668. inline TBool TStreamTransfer::operator>(TInt aLength) const
  669. {
  670. __DbgChkNonNegative(aLength);
  671. return TUint(iVal)>TUint(aLength);
  672. }
  673. inline TStreamTransfer TStreamTransfer::operator-(TInt aLength) const
  674. #line 161
  675. {
  676. __DbgChkNonNegative(aLength);
  677. return iVal<0?*this:TStreamTransfer(iVal-aLength);
  678. }
  679. inline TInt TStreamTransfer::operator[](TInt aMaxLength) const
  680. {return *this>aMaxLength?aMaxLength:iVal;}
  681. inline TStreamTransfer& TStreamTransfer::operator-=(TInt aLength)
  682. #line 184
  683. {
  684. __DbgChkNonNegative(aLength);
  685. if (iVal>=0)
  686. {
  687. iVal-=aLength;
  688. __DbgChkNonNegative(iVal);
  689. }
  690. return *this;
  691. }
  692. inline TInt TStreamTransfer::Left() const
  693. {
  694. __DbgChkNonNegative(iVal);
  695. return iVal;
  696. }
  697. inline TBool operator==(TInt aLength,TStreamTransfer aTransfer)
  698. {return aTransfer==aLength;}
  699. inline TBool operator<(TInt aLength,TStreamTransfer aTransfer)
  700. {return aTransfer>aLength;}
  701. inline void MStreamBuf::Release()
  702. #line 223
  703. {DoRelease();}
  704. inline void MStreamBuf::SynchL()
  705. {DoSynchL();}
  706. inline TInt MStreamBuf::ReadL(TAny* aPtr,TInt aMaxLength)
  707. #line 244
  708. {return DoReadL(aPtr,aMaxLength);}
  709. inline TInt MStreamBuf::ReadL(TDes8& aDes,TInt aMaxLength,TRequestStatus& aStatus)
  710. #line 261
  711. {return DoReadL(aDes,aMaxLength,aStatus);}
  712. inline TStreamTransfer MStreamBuf::ReadL(MStreamInput& anInput,TStreamTransfer aTransfer)
  713. #line 271
  714. {return DoReadL(anInput,aTransfer);}
  715. inline void MStreamBuf::ReadL(MStreamInput& anInput)
  716. #line 281
  717. {DoReadL(anInput,TStreamTransfer(TStreamTransfer::EUnlimited) );}
  718. inline void MStreamBuf::WriteL(const TAny* aPtr,TInt aLength)
  719. #line 292
  720. {DoWriteL(aPtr,aLength);}
  721. inline TInt MStreamBuf::WriteL(const TDesC8& aDes,TInt aMaxLength,TRequestStatus& aStatus)
  722. #line 310
  723. {return DoWriteL(aDes,aMaxLength,aStatus);}
  724. inline TStreamTransfer MStreamBuf::WriteL(MStreamOutput& anOutput,TStreamTransfer aTransfer)
  725. #line 321
  726. {return DoWriteL(anOutput,aTransfer);}
  727. inline void MStreamBuf::WriteL(MStreamOutput& anOutput)
  728. #line 332
  729. {DoWriteL(anOutput,TStreamTransfer(TStreamTransfer::EUnlimited) );}
  730. inline void MStreamBuf::SeekL(TMark aMark,TStreamPos aPos)
  731. #line 346
  732. {DoSeekL(aMark,EStreamBeginning,aPos.Offset());}
  733. inline TStreamPos MStreamBuf::SeekL(TMark aMark,TStreamLocation aLocation,TInt anOffset)
  734. #line 372
  735. {return DoSeekL(aMark,aLocation,anOffset);}
  736. inline TStreamPos MStreamBuf::SeekL(TRead,TStreamLocation aLocation,TInt anOffset)
  737. #line 394
  738. {return DoSeekL(ERead,aLocation,anOffset);}
  739. inline TStreamPos MStreamBuf::SeekL(TWrite,TStreamLocation aLocation,TInt anOffset)
  740. #line 416
  741. {return DoSeekL(EWrite,aLocation,anOffset);}
  742. inline TStreamPos MStreamBuf::SeekL(TRead,TInt anOffset)
  743. #line 429
  744. {return DoSeekL(ERead,EStreamMark,anOffset);}
  745. inline TStreamPos MStreamBuf::SeekL(TWrite,TInt anOffset)
  746. #line 442
  747. {return DoSeekL(EWrite,EStreamMark,anOffset);}
  748. inline TStreamPos MStreamBuf::TellL(TRead) const
  749. {return (const_cast<MStreamBuf*>(this)) ->DoSeekL(ERead,EStreamMark,0);}
  750. inline TStreamPos MStreamBuf::TellL(TWrite) const
  751. {return (const_cast<MStreamBuf*>(this)) ->DoSeekL(EWrite,EStreamMark,0);}
  752. inline TInt MStreamBuf::SizeL() const
  753. {return (const_cast<MStreamBuf*>(this)) ->DoSeekL(0,EStreamEnd,0).Offset();}
  754. inline void TStreamBuf::SetBuf(TRead,TUint8* aPtr,TUint8* anEnd)
  755. #line 478
  756. {iRPtr=aPtr;iREnd=anEnd;}
  757. inline void TStreamBuf::SetBuf(TWrite,TUint8* aPtr,TUint8* anEnd)
  758. #line 489
  759. {iWPtr=aPtr;iWEnd=anEnd;}
  760. inline void TStreamBuf::SetPtr(TRead,TUint8* aPtr)
  761. {iRPtr=aPtr;}
  762. inline void TStreamBuf::SetPtr(TWrite,TUint8* aPtr)
  763. {iWPtr=aPtr;}
  764. inline void TStreamBuf::SetEnd(TRead,TUint8* anEnd)
  765. {iREnd=anEnd;}
  766. inline void TStreamBuf::SetEnd(TWrite,TUint8* anEnd)
  767. {iWEnd=anEnd;}
  768. inline TUint8* TStreamBuf::Ptr(TRead) const
  769. {return iRPtr;}
  770. inline TUint8* TStreamBuf::Ptr(TWrite) const
  771. {return iWPtr;}
  772. inline TUint8* TStreamBuf::End(TRead) const
  773. {return iREnd;}
  774. inline TUint8* TStreamBuf::End(TWrite) const
  775. {return iWEnd;}
  776. inline TInt TStreamBuf::Avail(TRead) const
  777. {return iREnd-iRPtr;}
  778. inline TInt TStreamBuf::Avail(TWrite) const
  779. {return iWEnd-iWPtr;}
  780. inline void TStreamFilter::Set(MStreamBuf* aHost,TInt aMode)
  781. #line 577
  782. {
  783. __DbgChkMode(aMode);
  784. iHost=aHost;iMode=aMode;
  785. }
  786. inline void TStreamFilter::Committed()
  787. {iMode&=~EWrite;}
  788. inline TBool TStreamFilter::IsCommitted() const
  789. {return iHost==0 ||!(iMode&EWrite);}
  790. #line 499 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32buf.h" /* stack depth 13 */
  791. #line 8 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32share.h" /* stack depth 12 */
  792. class TStreamExchange;
  793. #line 29
  794. class TStreamMark
  795. {
  796. public:
  797. inline TStreamMark();
  798. inline TStreamMark(TStreamPos aPos);
  799. inline TStreamMark& operator=(TStreamPos aPos);
  800. inline operator TStreamMark*();
  801. inline operator const TStreamMark*() const;
  802. inline TBool operator==(const TStreamMark& aMark) const;
  803. inline TBool operator==(const TStreamMark* aPtr) const;
  804. inline TBool operator!=(const TStreamMark& aMark) const;
  805. inline TBool operator!=(const TStreamMark* aPtr) const;
  806. inline TBool IsEmpty() const;
  807. inline void Clear();
  808. inline TStreamPos Position() const;
  809. inline TBool IsWith(TStreamExchange& aHost) const;
  810. inline TBool RelatesTo(TStreamExchange& aHost) const;
  811. inline void Withdraw(TStreamExchange& aHost);
  812. inline void ExtractL(TStreamExchange& aHost);
  813. inline TInt ReadL(TStreamExchange& aHost,TAny* aPtr,TInt aMaxLength);
  814. __declspec(dllexport) TInt ReadL(TStreamExchange& aHost,TDes8& aDes,TRequestStatus& aStatus);
  815. inline TInt ReadL(TStreamExchange& aHost,TDes8& aDes,TInt aMaxLength,TRequestStatus& aStatus);
  816. inline TStreamTransfer ReadL(TStreamExchange& aHost,MStreamInput& anInput,TStreamTransfer aTransfer);
  817. inline TInt ReadL(TStreamExchange& aHost,MStreamInput& anInput,TInt aMaxLength);
  818. inline void ReadL(TStreamExchange& aHost,MStreamInput& anInput);
  819. inline void WriteL(TStreamExchange& aHost,const TAny* aPtr,TInt aLength);
  820. __declspec(dllexport) TInt WriteL(TStreamExchange& aHost,const TDesC8& aDes,TRequestStatus& aStatus);
  821. inline TInt WriteL(TStreamExchange& aHost,const TDesC8& aDes,TInt aMaxLength,TRequestStatus& aStatus);
  822. inline TStreamTransfer WriteL(TStreamExchange& aHost,MStreamOutput& anOutput,TStreamTransfer aTransfer);
  823. inline TInt WriteL(TStreamExchange& aHost,MStreamOutput& anOutput,TInt aMaxLength);
  824. inline void WriteL(TStreamExchange& aHost,MStreamOutput& anOutput);
  825. inline void SeekL(TStreamExchange& aHost,TStreamPos aPos);
  826. inline TStreamPos SeekL(TStreamExchange& aHost,TStreamLocation aLocation,TInt anOffset=0);
  827. inline TStreamPos SeekL(TStreamExchange& aHost,TInt anOffset);
  828. inline TStreamPos TellL(TStreamExchange& aHost) const;
  829. private:
  830. TStreamMark(const TStreamMark&);
  831. TStreamMark& operator=(const TStreamMark&);
  832. private:
  833. TStreamPos iPos;
  834. private:
  835. inline TBool IsTracking(TStreamMark*const& aRef) const;
  836. inline void Track(TStreamMark*const& aRef);
  837. private:
  838. friend class TStreamExchange;
  839. private:
  840. __declspec(dllexport) static void __DbgChkPos(TStreamPos aPos);
  841. };
  842. #line 106
  843. class TStreamExchange
  844. {
  845. public:
  846. inline TStreamExchange();
  847. inline TStreamExchange(MStreamBuf* aHost);
  848. inline void Share(MStreamBuf* aHost);
  849. inline TBool IsActive() const;
  850. __declspec(dllexport) MStreamBuf* Host();
  851. __declspec(dllexport) MStreamBuf* HostL();
  852. __declspec(dllexport) void Release();
  853. __declspec(dllexport) TInt SizeL() const;
  854. private:
  855. #line 132
  856. typedef MStreamBuf::TMark TMark;
  857. private:
  858. TStreamExchange(const TStreamExchange&);
  859. TStreamExchange& operator=(const TStreamExchange&);
  860. __declspec(dllexport) TBool RefersTo(const TStreamMark& aMark);
  861. __declspec(dllexport) void Drop(const TStreamMark& aMark);
  862. __declspec(dllexport) void GetL(TStreamMark& aMark);
  863. __declspec(dllexport) TInt DoReadL(TAny* aPtr,TInt aMaxLength,TStreamMark& aMark);
  864. __declspec(dllexport) TInt DoReadL(TDes8& aDes,TInt aMaxLength,TRequestStatus& aStatus,TStreamMark& aMark);
  865. __declspec(dllexport) TStreamTransfer DoReadL(MStreamInput& anInput,TStreamTransfer aTransfer,TStreamMark& aMark);
  866. __declspec(dllexport) void DoWriteL(const TAny* aPtr,TInt aLength,TStreamMark& aMark);
  867. __declspec(dllexport) TInt DoWriteL(const TDesC8& aDes,TInt aMaxLength,TRequestStatus& aStatus,TStreamMark& aMark);
  868. __declspec(dllexport) TStreamTransfer DoWriteL(MStreamOutput& anOutput,TStreamTransfer aTransfer,TStreamMark& aMark);
  869. __declspec(dllexport) TStreamPos DoSeekL(TStreamMark& aMark,TStreamLocation aLocation,TInt anOffset);
  870. void PrepareForReadingL(TStreamMark& aMark);
  871. void PrepareForWritingL(TStreamMark& aMark);
  872. TInt PrepareAndReadL(TAny* aPtr,TInt aMaxLength,TStreamMark& aMark);
  873. TInt PrepareAndReadL(TDes8& aDes,TInt aMaxLength,TRequestStatus& aStatus,TStreamMark& aMark);
  874. TStreamTransfer PrepareAndReadL(MStreamInput& anInput,TStreamTransfer aTransfer,TStreamMark& aMark);
  875. void PrepareAndWriteL(const TAny* aPtr,TInt aLength,TStreamMark& aMark);
  876. TInt PrepareAndWriteL(const TDesC8& aDes,TInt aMaxLength,TRequestStatus& aStatus,TStreamMark& aMark);
  877. TStreamTransfer PrepareAndWriteL(MStreamOutput& anOutput,TStreamTransfer aTransfer,TStreamMark& aMark);
  878. TStreamPos MarkSeekL(TStreamMark& aMark,TStreamLocation aLocation,TInt anOffset);
  879. inline MStreamBuf& BufL() const;
  880. inline MStreamBuf& Buf() const;
  881. private:
  882. MStreamBuf* iHost;
  883. TStreamMark* iRMrk;
  884. TStreamMark* iWMrk;
  885. private:
  886. friend class TStreamMark;
  887. };
  888. #line 197
  889. class RShareBuf : public MStreamBuf
  890. {
  891. public:
  892. __declspec(dllexport) RShareBuf();
  893. __declspec(dllexport) void Open(TStreamExchange& aHost,TStreamPos aPos,TInt aMode=ERead|EWrite);
  894. inline void Open(TStreamExchange& aHost,TInt aMode=ERead|EWrite);
  895. protected:
  896. __declspec(dllexport) void DoRelease();
  897. __declspec(dllexport) TInt DoReadL(TAny* aPtr,TInt aMaxLength);
  898. __declspec(dllexport) TInt DoReadL(TDes8& aDes,TInt aMaxLength,TRequestStatus& aStatus);
  899. __declspec(dllexport) TStreamTransfer DoReadL(MStreamInput& anInput,TStreamTransfer aTransfer);
  900. __declspec(dllexport) void DoWriteL(const TAny* aPtr,TInt aLength);
  901. __declspec(dllexport) TInt DoWriteL(const TDesC8& aDes,TInt aMaxLength,TRequestStatus& aStatus);
  902. __declspec(dllexport) TStreamTransfer DoWriteL(MStreamOutput& anOutput,TStreamTransfer aTransfer);
  903. __declspec(dllexport) TStreamPos DoSeekL(TMark aMark,TStreamLocation aLocation,TInt anOffset);
  904. private:
  905. inline TStreamExchange& Host() const;
  906. private:
  907. TStreamExchange* iHost;
  908. TStreamMark iRMark;
  909. TStreamMark iWMark;
  910. };
  911. #line 233
  912. class RShareReadStream : public RReadStream
  913. {
  914. public:
  915. RShareReadStream() {}
  916. __declspec(dllexport) RShareReadStream(TStreamExchange& aHost,TStreamPos aPos=TStreamPos(0) );
  917. __declspec(dllexport) void Open(TStreamExchange& aHost,TStreamPos aPos=TStreamPos(0) );
  918. private:
  919. RShareBuf iSource;
  920. };
  921. #line 261
  922. class RShareWriteStream : public RWriteStream
  923. {
  924. public:
  925. RShareWriteStream() {}
  926. inline RShareWriteStream(const MExternalizer<TStreamRef>& anExter);
  927. __declspec(dllexport) RShareWriteStream(TStreamExchange& aHost,TStreamPos aPos=TStreamPos(0) );
  928. __declspec(dllexport) void Open(TStreamExchange& aHost,TStreamPos aPos=TStreamPos(0) );
  929. private:
  930. RShareBuf iSink;
  931. };
  932. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32share.inl" /* stack depth 13 */
  933. inline TStreamMark::TStreamMark()
  934. : iPos(TStreamPos(0) -1)
  935. {}
  936. inline TStreamMark::TStreamMark(TStreamPos aPos)
  937. : iPos(aPos)
  938. {
  939. __DbgChkPos(aPos);
  940. }
  941. inline TStreamMark& TStreamMark::operator=(TStreamPos aPos)
  942. {
  943. __DbgChkPos(aPos);
  944. iPos=aPos;
  945. return *this;
  946. }
  947. inline TStreamMark::operator TStreamMark*()
  948. {return this;}
  949. inline TStreamMark::operator const TStreamMark*() const
  950. {return this;}
  951. inline TBool TStreamMark::operator==(const TStreamMark& aMark) const
  952. {return this==&aMark;}
  953. inline TBool TStreamMark::operator==(const TStreamMark* aPtr) const
  954. {return this==aPtr;}
  955. inline TBool TStreamMark::operator!=(const TStreamMark& aMark) const
  956. {return this!=&aMark;}
  957. inline TBool TStreamMark::operator!=(const TStreamMark* aPtr) const
  958. {return this!=aPtr;}
  959. inline TBool TStreamMark::IsEmpty() const
  960. {return iPos<TStreamPos(0) ;}
  961. inline void TStreamMark::Clear()
  962. {iPos=TStreamPos(0) -1;}
  963. inline TStreamPos TStreamMark::Position() const
  964. {
  965. __DbgChkPos(iPos);
  966. return iPos;
  967. }
  968. inline TBool TStreamMark::IsWith(TStreamExchange& aHost) const
  969. {return aHost.RefersTo(*this);}
  970. inline TBool TStreamMark::RelatesTo(TStreamExchange& aHost) const
  971. #line 104
  972. {return iPos>=TStreamPos(0) ||aHost.RefersTo(*this);}
  973. inline void TStreamMark::Withdraw(TStreamExchange& aHost)
  974. {aHost.Drop(*this);}
  975. inline void TStreamMark::ExtractL(TStreamExchange& aHost)
  976. {aHost.GetL(*this);}
  977. inline TInt TStreamMark::ReadL(TStreamExchange& aHost,TAny* aPtr,TInt aMaxLength)
  978. {return aHost.DoReadL(aPtr,aMaxLength,*this);}
  979. inline TInt TStreamMark::ReadL(TStreamExchange& aHost,TDes8& aDes,TInt aMaxLength,TRequestStatus& aStatus)
  980. #line 139
  981. {return aHost.DoReadL(aDes,aMaxLength,aStatus,*this);}
  982. inline TStreamTransfer TStreamMark::ReadL(TStreamExchange& aHost,MStreamInput& anInput,TStreamTransfer aTransfer)
  983. {return aHost.DoReadL(anInput,aTransfer,*this);}
  984. inline TInt TStreamMark::ReadL(TStreamExchange& aHost,MStreamInput& anInput,TInt aMaxLength)
  985. {return aMaxLength-aHost.DoReadL(anInput,TStreamTransfer(aMaxLength),*this).Left();}
  986. inline void TStreamMark::ReadL(TStreamExchange& aHost,MStreamInput& anInput)
  987. {aHost.DoReadL(anInput,TStreamTransfer(TStreamTransfer::EUnlimited) ,*this);}
  988. inline void TStreamMark::WriteL(TStreamExchange& aHost,const TAny* aPtr,TInt aLength)
  989. {aHost.DoWriteL(aPtr,aLength,*this);}
  990. inline TInt TStreamMark::WriteL(TStreamExchange& aHost,const TDesC8& aDes,TInt aMaxLength,TRequestStatus& aStatus)
  991. #line 189
  992. {return aHost.DoWriteL(aDes,aMaxLength,aStatus,*this);}
  993. inline TStreamTransfer TStreamMark::WriteL(TStreamExchange& aHost,MStreamOutput& anOutput,TStreamTransfer aTransfer)
  994. {return aHost.DoWriteL(anOutput,aTransfer,*this);}
  995. inline TInt TStreamMark::WriteL(TStreamExchange& aHost,MStreamOutput& anOutput,TInt aMaxLength)
  996. {return aMaxLength-aHost.DoWriteL(anOutput,TStreamTransfer(aMaxLength),*this).Left();}
  997. inline void TStreamMark::WriteL(TStreamExchange& aHost,MStreamOutput& anOutput)
  998. {aHost.DoWriteL(anOutput,TStreamTransfer(TStreamTransfer::EUnlimited) ,*this);}
  999. inline void TStreamMark::SeekL(TStreamExchange& aHost,TStreamPos aPos)
  1000. {aHost.DoSeekL(*this,EStreamBeginning,aPos.Offset());}
  1001. inline TStreamPos TStreamMark::SeekL(TStreamExchange& aHost,TStreamLocation aLocation,TInt anOffset)
  1002. #line 233
  1003. {return aHost.DoSeekL(*this,aLocation,anOffset);}
  1004. inline TStreamPos TStreamMark::SeekL(TStreamExchange& aHost,TInt anOffset)
  1005. {return aHost.DoSeekL(*this,EStreamMark,anOffset);}
  1006. inline TStreamPos TStreamMark::TellL(TStreamExchange& aHost) const
  1007. {return aHost.DoSeekL((const_cast<TStreamMark&>(*this)) ,EStreamMark,0);}
  1008. inline TStreamExchange::TStreamExchange()
  1009. : iHost(0 ),iRMrk(0 ),iWMrk(0 )
  1010. {}
  1011. inline TStreamExchange::TStreamExchange(MStreamBuf* aHost)
  1012. : iHost(aHost),iRMrk(0 ),iWMrk(0 )
  1013. {}
  1014. inline void TStreamExchange::Share(MStreamBuf* aHost)
  1015. {iHost=aHost;}
  1016. inline TBool TStreamExchange::IsActive() const
  1017. {return iHost!=0 ;}
  1018. inline void RShareBuf::Open(TStreamExchange& aHost,TInt aMode)
  1019. #line 289
  1020. {Open(aHost,TStreamPos(0) ,aMode);}
  1021. inline RShareWriteStream::RShareWriteStream(const MExternalizer<TStreamRef>& anExter)
  1022. : RWriteStream(anExter)
  1023. {}
  1024. #line 277 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32share.h" /* stack depth 12 */
  1025. #line 11 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32stor.h" /* stack depth 11 */
  1026. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32page.h" /* stack depth 12 */
  1027. #line 12
  1028. const TInt KPoolPageSize=512;
  1029. const TUint32 KNullPageRefValue=0;
  1030. #line 23
  1031. class TPageRef
  1032. {
  1033. public:
  1034. inline TPageRef() {}
  1035. inline TPageRef(TUint32 aValue);
  1036. inline TBool operator==(TPageRef aRef) const;
  1037. inline TBool operator!=(TPageRef aRef) const;
  1038. inline void ExternalizeL(RWriteStream& aStream) const;
  1039. inline void InternalizeL(RReadStream& aStream);
  1040. inline TUint32 Value() const;
  1041. private:
  1042. TUint32 iVal;
  1043. };
  1044. class MPagePool;
  1045. typedef void (*TPageAbandonFunction)(MPagePool& aPool);
  1046. enum TPageReclamation
  1047. {EPageDeleteOnly,
  1048. EPageReclaimable};
  1049. enum TPageChange
  1050. {EPageNoChange,
  1051. EPageDirty,
  1052. EPageUpdate,
  1053. EPageAbandon=-1};
  1054. #line 92
  1055. class MPagePool
  1056. {
  1057. public:
  1058. __declspec(dllexport) void PushL();
  1059. inline void Pop();
  1060. virtual TPageAbandonFunction AcquireL()=0;
  1061. virtual TAny* AllocL()=0;
  1062. virtual TAny* LockL(TPageRef aRef)=0;
  1063. virtual TPageRef AssignL(const TAny* aPage,TPageReclamation aReclamation=EPageDeleteOnly)=0;
  1064. virtual void UpdateL(const TAny* aPage)=0;
  1065. virtual void Unlock(const TAny* aPage,TPageChange aChange=EPageNoChange)=0;
  1066. __declspec(dllexport) void Delete(TPageRef aRef);
  1067. __declspec(dllexport) void DeleteL(TPageRef aRef);
  1068. protected:
  1069. virtual void DoDeleteL(TPageRef aRef)=0;
  1070. };
  1071. #line 140
  1072. class CMemPagePool : public CBase,public MPagePool
  1073. {
  1074. public:
  1075. __declspec(dllexport) static CMemPagePool* NewL();
  1076. __declspec(dllexport) static CMemPagePool* NewLC();
  1077. __declspec(dllexport) CMemPagePool();
  1078. __declspec(dllexport) ~CMemPagePool();
  1079. __declspec(dllexport) TPageAbandonFunction AcquireL();
  1080. __declspec(dllexport) TAny* AllocL();
  1081. __declspec(dllexport) TAny* LockL(TPageRef aRef);
  1082. __declspec(dllexport) TPageRef AssignL(const TAny* aPage,TPageReclamation aReclamation=EPageDeleteOnly);
  1083. __declspec(dllexport) void UpdateL(const TAny* aPage);
  1084. __declspec(dllexport) void Unlock(const TAny* aPage,TPageChange aChange=EPageNoChange);
  1085. protected:
  1086. __declspec(dllexport) void DoDeleteL(TPageRef aRef);
  1087. private:
  1088. TAny*& PageL(TPageRef aRef);
  1089. static void DoAbandon(MPagePool& aPool);
  1090. private:
  1091. CArrayFixSeg<TAny*> iPages;
  1092. };
  1093. class TCachePage;
  1094. struct SCachePage;
  1095. class TCachePagePool;
  1096. #line 179
  1097. class CPageCache : public CBase
  1098. {
  1099. public:
  1100. enum {EDefaultPages=20};
  1101. #line 206
  1102. public:
  1103. __declspec(dllexport) static CPageCache* NewL(TInt aPages=EDefaultPages);
  1104. __declspec(dllexport) static CPageCache* NewLC(TInt aPages=EDefaultPages);
  1105. __declspec(dllexport) CPageCache();
  1106. __declspec(dllexport) void ConstructL(TInt aPages=EDefaultPages);
  1107. __declspec(dllexport) ~CPageCache();
  1108. private:
  1109. TCachePage* Find(TCachePagePool* aPool,TPageRef aRef);
  1110. private:
  1111. SCachePage* iPages;
  1112. SCachePage* iEnd;
  1113. TDblQue<TCachePage> iFree;
  1114. private:
  1115. friend class TCachePagePool;
  1116. };
  1117. #line 241
  1118. class TCachePagePool : public MPagePool
  1119. {
  1120. public:
  1121. inline void Set(CPageCache& aCache);
  1122. __declspec(dllexport) TPageAbandonFunction AcquireL();
  1123. __declspec(dllexport) TAny* AllocL();
  1124. __declspec(dllexport) TAny* LockL(TPageRef aRef);
  1125. __declspec(dllexport) TPageRef AssignL(const TAny* aPage,TPageReclamation aReclamation=EPageDeleteOnly);
  1126. __declspec(dllexport) void UpdateL(const TAny* aPage);
  1127. __declspec(dllexport) void Unlock(const TAny* aPage,TPageChange aChange=EPageNoChange);
  1128. __declspec(dllexport) TInt Flush();
  1129. __declspec(dllexport) void FlushL();
  1130. __declspec(dllexport) void Purge();
  1131. protected:
  1132. inline TCachePagePool();
  1133. inline TCachePagePool(CPageCache& aCache);
  1134. __declspec(dllexport) void DoDeleteL(TPageRef aRef);
  1135. private:
  1136. virtual TPageRef ExtendL(const TAny* aPage,TPageReclamation aReclamation)=0;
  1137. virtual void WriteL(TPageRef aRef,const TAny* aPage,TPageChange aChange)=0;
  1138. virtual void ReadL(TPageRef aRef,TAny* aPage)=0;
  1139. static void DoAbandon(MPagePool& aPool);
  1140. static TCachePage* DoAllocL(CPageCache& aCache);
  1141. private:
  1142. CPageCache* iCache;
  1143. };
  1144. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32page.inl" /* stack depth 13 */
  1145. inline TPageRef::TPageRef(TUint32 aValue)
  1146. : iVal(aValue)
  1147. {}
  1148. inline TBool TPageRef::operator==(TPageRef aRef) const
  1149. {return iVal==aRef.iVal;}
  1150. inline TBool TPageRef::operator!=(TPageRef aRef) const
  1151. {return iVal!=aRef.iVal;}
  1152. inline void TPageRef::ExternalizeL(RWriteStream& aStream) const
  1153. {aStream<<iVal;}
  1154. inline void TPageRef::InternalizeL(RReadStream& aStream)
  1155. {aStream>>iVal;}
  1156. inline TUint32 TPageRef::Value() const
  1157. {return iVal;}
  1158. inline void MPagePool::Pop()
  1159. {CleanupStack::Pop();}
  1160. #line 68
  1161. inline void TCachePagePool::Set(CPageCache& aCache)
  1162. {iCache=&aCache;}
  1163. inline TCachePagePool::TCachePagePool()
  1164. : iCache(0 )
  1165. {}
  1166. inline TCachePagePool::TCachePagePool(CPageCache& aCache)
  1167. : iCache(&aCache)
  1168. {}
  1169. #line 271 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32page.h" /* stack depth 12 */
  1170. #line 14 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32stor.h" /* stack depth 11 */
  1171. class MIncrementalCollector;
  1172. class CStreamStore : public CBase
  1173. {
  1174. public:
  1175. inline TStreamId ExtendL();
  1176. __declspec(dllexport) void Delete(TStreamId anId);
  1177. __declspec(dllexport) void DeleteL(TStreamId anId);
  1178. __declspec(dllexport) TInt Commit();
  1179. inline void CommitL();
  1180. __declspec(dllexport) void Revert();
  1181. inline void RevertL();
  1182. __declspec(dllexport) TInt ReclaimL();
  1183. __declspec(dllexport) TInt CompactL();
  1184. private:
  1185. virtual __declspec(dllexport) TStreamId DoExtendL();
  1186. virtual __declspec(dllexport) void DoDeleteL(TStreamId anId);
  1187. #line 52
  1188. virtual MStreamBuf* DoReadL(TStreamId anId) const=0;
  1189. #line 61
  1190. virtual MStreamBuf* DoCreateL(TStreamId& anId)=0;
  1191. virtual __declspec(dllexport) MStreamBuf* DoWriteL(TStreamId anId);
  1192. virtual __declspec(dllexport) MStreamBuf* DoReplaceL(TStreamId anId);
  1193. virtual __declspec(dllexport) void DoCommitL();
  1194. virtual __declspec(dllexport) void DoRevertL();
  1195. virtual __declspec(dllexport) MIncrementalCollector* DoReclaimL();
  1196. virtual __declspec(dllexport) MIncrementalCollector* DoCompactL();
  1197. private:
  1198. friend class RStoreReadStream;
  1199. friend class RStoreWriteStream;
  1200. friend class RStoreReclaim;
  1201. };
  1202. #line 86
  1203. class CPersistentStore : public CStreamStore
  1204. {
  1205. public:
  1206. inline TStreamId Root() const;
  1207. inline void SetRootL(TStreamId anId);
  1208. protected:
  1209. inline CPersistentStore();
  1210. private:
  1211. virtual __declspec(dllexport) void DoSetRootL(TStreamId anId);
  1212. protected:
  1213. TStreamId iRoot;
  1214. };
  1215. #line 123
  1216. class RStoreReclaim
  1217. {
  1218. public:
  1219. inline RStoreReclaim();
  1220. __declspec(dllexport) void OpenL(CStreamStore& aStore,TInt& aCount);
  1221. __declspec(dllexport) void OpenLC(CStreamStore& aStore,TInt& aCount);
  1222. __declspec(dllexport) void CompactL(CStreamStore& aStore,TInt& aCount);
  1223. __declspec(dllexport) void CompactLC(CStreamStore& aStore,TInt& aCount);
  1224. inline void Close();
  1225. __declspec(dllexport) void Release();
  1226. __declspec(dllexport) void ResetL(TInt& aCount);
  1227. __declspec(dllexport) void NextL(TInt& aStep);
  1228. __declspec(dllexport) void Next(TPckgBuf<TInt>& aStep,TRequestStatus& aStatus);
  1229. __declspec(dllexport) void NextL(TPckgBuf<TInt>& aStep,TRequestStatus& aStatus);
  1230. __declspec(dllexport) TInt Next(TInt& aStep);
  1231. inline TInt Available() const;
  1232. private:
  1233. MIncrementalCollector* iCol;
  1234. TPckgBuf<TInt> iAvail;
  1235. };
  1236. #line 162
  1237. class CEmbeddedStore : public CPersistentStore
  1238. {
  1239. public:
  1240. __declspec(dllexport) static CEmbeddedStore* FromL(RReadStream& aHost);
  1241. __declspec(dllexport) static CEmbeddedStore* FromLC(RReadStream& aHost);
  1242. __declspec(dllexport) static CEmbeddedStore* NewL(RWriteStream& aHost);
  1243. __declspec(dllexport) static CEmbeddedStore* NewLC(RWriteStream& aHost);
  1244. inline static TStreamPos Position(TStreamId anId);
  1245. __declspec(dllexport) void Detach();
  1246. inline void Reattach(MStreamBuf* aHost);
  1247. inline MStreamBuf* Host() const;
  1248. inline TStreamPos Start() const;
  1249. __declspec(dllexport) CEmbeddedStore(MStreamBuf* aHost);
  1250. __declspec(dllexport) void MarshalL(RReadStream& aStream);
  1251. __declspec(dllexport) void ConstructL(RWriteStream& aStream);
  1252. __declspec(dllexport) ~CEmbeddedStore();
  1253. protected:
  1254. __declspec(dllexport) MStreamBuf* DoReadL(TStreamId anId) const;
  1255. __declspec(dllexport) MStreamBuf* DoCreateL(TStreamId& anId);
  1256. private:
  1257. __declspec(dllexport) void DoSetRootL(TStreamId anId);
  1258. __declspec(dllexport) void DoCommitL();
  1259. static CEmbeddedStore* DoNewLC(MStreamBuf* aHost);
  1260. private:
  1261. TStreamExchange iHost;
  1262. TStreamPos iStart;
  1263. };
  1264. #line 218
  1265. class CDictionaryStore : public CBase
  1266. {
  1267. public:
  1268. __declspec(dllexport) TBool IsNullL() const;
  1269. __declspec(dllexport) TBool IsPresentL(TUid aUid) const;
  1270. __declspec(dllexport) void Remove(TUid aUid);
  1271. __declspec(dllexport) void RemoveL(TUid aUid);
  1272. __declspec(dllexport) TInt Commit();
  1273. __declspec(dllexport) void CommitL();
  1274. __declspec(dllexport) void Revert();
  1275. __declspec(dllexport) void RevertL();
  1276. __declspec(dllexport) ~CDictionaryStore();
  1277. protected:
  1278. __declspec(dllexport) void ConstructL();
  1279. private:
  1280. CStreamDictionary* DictionaryL() const;
  1281. MStreamBuf* GetSourceL(TUid aUid) const;
  1282. MStreamBuf* GetSinkL(TUid aUid);
  1283. protected:
  1284. CPersistentStore* iStore;
  1285. private:
  1286. CStreamDictionary* iDictionary;
  1287. TBool iDictionaryHasChanged;
  1288. private:
  1289. friend class RDictionaryReadStream;
  1290. friend class RDictionaryWriteStream;
  1291. friend class HDictionaryStoreBuf;
  1292. };
  1293. const TInt KDictionaryCommitThreshold = 1024;
  1294. #line 261
  1295. class RDictionaryReadStream : public RReadStream
  1296. {
  1297. public:
  1298. __declspec(dllexport) void OpenL(const CDictionaryStore& aDictStore,TUid aUid);
  1299. __declspec(dllexport) void OpenLC(const CDictionaryStore& aDictStore,TUid aUid);
  1300. };
  1301. #line 275
  1302. class RDictionaryWriteStream : public RWriteStream
  1303. {
  1304. public:
  1305. RDictionaryWriteStream() {}
  1306. inline RDictionaryWriteStream(const MExternalizer<TStreamRef>& anExter);
  1307. __declspec(dllexport) void AssignL(CDictionaryStore& aDictStore,TUid aUid);
  1308. __declspec(dllexport) void AssignLC(CDictionaryStore& aDictStore,TUid aUid);
  1309. };
  1310. #line 293
  1311. class TStorePagePoolToken
  1312. {
  1313. public:
  1314. enum TEmpty
  1315. {EEmpty};
  1316. public:
  1317. TStorePagePoolToken() {}
  1318. inline TStorePagePoolToken(TEmpty);
  1319. inline void Touch();
  1320. inline TBool HasAvailable() const;
  1321. inline TBool IsEmpty() const;
  1322. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  1323. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1324. private:
  1325. inline TStorePagePoolToken(TStreamId aHead,TPageRef anAvail);
  1326. private:
  1327. TStreamId iHead;
  1328. TPageRef iAvail;
  1329. private:
  1330. friend class RStorePagePool;
  1331. };
  1332. #line 354
  1333. class RStorePagePool : public TCachePagePool
  1334. {
  1335. friend class StorePagePool;
  1336. public:
  1337. __declspec(dllexport) RStorePagePool();
  1338. __declspec(dllexport) RStorePagePool(CPageCache& aCache);
  1339. __declspec(dllexport) RStorePagePool(CStreamStore& aStore);
  1340. __declspec(dllexport) RStorePagePool(CStreamStore& aStore,const TStorePagePoolToken& aToken);
  1341. __declspec(dllexport) void Create(CStreamStore& aStore);
  1342. __declspec(dllexport) void Open(CStreamStore& aStore,const TStorePagePoolToken& aToken);
  1343. __declspec(dllexport) TStorePagePoolToken Token() const;
  1344. __declspec(dllexport) void Close();
  1345. inline void Release();
  1346. inline TBool IsDirty() const;
  1347. inline void MarkCurrent();
  1348. inline void MarkDirty();
  1349. inline TBool HasAvailable() const;
  1350. inline void Discard();
  1351. inline TBool IsEmpty() const;
  1352. __declspec(dllexport) TBool ReclaimL();
  1353. __declspec(dllexport) void ReclaimAllL();
  1354. protected:
  1355. __declspec(dllexport) TPageRef ExtendL(const TAny* aPage,TPageReclamation aReclamation);
  1356. __declspec(dllexport) void WriteL(TPageRef aRef,const TAny* aPage,TPageChange aChange);
  1357. __declspec(dllexport) void ReadL(TPageRef aRef,TAny* aPage);
  1358. __declspec(dllexport) void DoDeleteL(TPageRef aRef);
  1359. private:
  1360. inline void CacheDeleteL(TPageRef aRef);
  1361. private:
  1362. CStreamStore* iStore;
  1363. TStreamId iHead;
  1364. TPageRef iAvail;
  1365. TBool iDirty;
  1366. };
  1367. #line 413
  1368. class MIncrementalCollector
  1369. {
  1370. public:
  1371. inline void Close();
  1372. inline void Release();
  1373. inline void ResetL(TInt& aCount);
  1374. inline void NextL(TInt& aStep,TInt& aTotal);
  1375. inline void NextL(TPckgBuf<TInt>& aStep,TRequestStatus& aStatus,TPckgBuf<TInt>& aTotal);
  1376. protected:
  1377. #line 431
  1378. MIncrementalCollector() {}
  1379. private:
  1380. #line 441
  1381. MIncrementalCollector(const MIncrementalCollector&);
  1382. MIncrementalCollector& operator=(const MIncrementalCollector&);
  1383. virtual __declspec(dllexport) void DoRelease();
  1384. virtual void DoResetL(TInt& aCount)=0;
  1385. #line 466
  1386. virtual void DoNextL(TInt& aStep,TInt& aTotal)=0;
  1387. virtual __declspec(dllexport) void DoNextL(TPckgBuf<TInt>& aStep,TRequestStatus& aStatus,TPckgBuf<TInt>& aTotal);
  1388. };
  1389. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32stor.inl" /* stack depth 12 */
  1390. inline TStreamId CStreamStore::ExtendL()
  1391. {return DoExtendL();}
  1392. inline void CStreamStore::CommitL()
  1393. {DoCommitL();}
  1394. inline void CStreamStore::RevertL()
  1395. {DoRevertL();}
  1396. inline CPersistentStore::CPersistentStore()
  1397. {}
  1398. inline TStreamId CPersistentStore::Root() const
  1399. {return iRoot;}
  1400. inline void CPersistentStore::SetRootL(TStreamId anId)
  1401. {DoSetRootL(anId);}
  1402. inline RStoreReclaim::RStoreReclaim()
  1403. : iCol(0 )
  1404. {}
  1405. inline void RStoreReclaim::Close()
  1406. #line 62
  1407. {Release();}
  1408. inline TInt RStoreReclaim::Available() const
  1409. {return (const_cast<TPckgBuf<TInt>&>(iAvail)) ();}
  1410. inline TStreamPos CEmbeddedStore::Position(TStreamId anId)
  1411. {return TStreamPos(anId.Value());}
  1412. inline void CEmbeddedStore::Reattach(MStreamBuf* aHost)
  1413. {iHost.Share(aHost);}
  1414. inline MStreamBuf* CEmbeddedStore::Host() const
  1415. {return (const_cast<TStreamExchange&>(iHost)) .Host();}
  1416. inline TStreamPos CEmbeddedStore::Start() const
  1417. {return iStart;}
  1418. inline RDictionaryWriteStream::RDictionaryWriteStream(const MExternalizer<TStreamRef>& anExter)
  1419. : RWriteStream(anExter)
  1420. {}
  1421. inline TStorePagePoolToken::TStorePagePoolToken(TEmpty)
  1422. : iHead(TStreamId(KNullStreamIdValue) ),iAvail(TPageRef(KNullPageRefValue) )
  1423. {}
  1424. inline void TStorePagePoolToken::Touch()
  1425. {iAvail=TPageRef(KNullPageRefValue) ;}
  1426. inline TBool TStorePagePoolToken::HasAvailable() const
  1427. {return iAvail!=TPageRef(KNullPageRefValue) ;}
  1428. inline TBool TStorePagePoolToken::IsEmpty() const
  1429. {return iHead==TStreamId(KNullStreamIdValue) ;}
  1430. inline void RStorePagePool::Release()
  1431. {Purge();iStore=0 ;}
  1432. inline TBool RStorePagePool::IsDirty() const
  1433. {return iDirty;}
  1434. inline void RStorePagePool::MarkCurrent()
  1435. {iDirty=EFalse;}
  1436. inline void RStorePagePool::MarkDirty()
  1437. {iDirty=ETrue;}
  1438. inline TBool RStorePagePool::HasAvailable() const
  1439. {return iAvail!=TPageRef(KNullPageRefValue) ;}
  1440. inline void RStorePagePool::Discard()
  1441. {iAvail=TPageRef(KNullPageRefValue) ;}
  1442. inline TBool RStorePagePool::IsEmpty() const
  1443. {return iHead==TStreamId(KNullStreamIdValue) ;}
  1444. inline void MIncrementalCollector::Close()
  1445. {DoRelease();}
  1446. inline void MIncrementalCollector::Release()
  1447. {DoRelease();}
  1448. inline void MIncrementalCollector::ResetL(TInt& aCount)
  1449. {DoResetL(aCount);}
  1450. inline void MIncrementalCollector::NextL(TInt& aStep,TInt& aTotal)
  1451. #line 198
  1452. {DoNextL(aStep,aTotal);}
  1453. inline void MIncrementalCollector::NextL(TPckgBuf<TInt>& aStep,TRequestStatus& aStatus,TPckgBuf<TInt>& aTotal)
  1454. #line 217
  1455. {DoNextL(aStep,aStatus,aTotal);}
  1456. #line 470 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32stor.h" /* stack depth 11 */
  1457. #line 11 "C:\Symbian\9.1\S60_3rd\epoc32\include\fldbase.h" /* stack depth 10 */
  1458. class CTextField;
  1459. class MTextFieldFactory;
  1460. class CTextField : public CBase
  1461. #line 34
  1462. {
  1463. public:
  1464. __declspec(dllexport) virtual TStreamId StoreL(CStreamStore& aStore)const;
  1465. __declspec(dllexport) virtual void RestoreL(const CStreamStore& aStore,TStreamId aId);
  1466. __declspec(dllexport) virtual void ExternalizeL(RWriteStream& aStream)const;
  1467. virtual void InternalizeL(RReadStream& aStream)=0;
  1468. #line 54
  1469. virtual TInt Value(TPtr& aValueText)=0;
  1470. virtual TUid Type()const=0;
  1471. };
  1472. class MTextFieldFactory
  1473. #line 90
  1474. {
  1475. public:
  1476. virtual CTextField* NewFieldL(TUid aFieldType)=0;
  1477. };
  1478. #line 12 "C:\Symbian\9.1\S60_3rd\epoc32\include\fldset.h" /* stack depth 9 */
  1479. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\fldbltin.h" /* stack depth 10 */
  1480. #line 14
  1481. class MFieldPageNumInfo;
  1482. class MFieldNumPagesInfo;
  1483. class MFieldFileNameInfo;
  1484. class CDateTimeField;
  1485. class CPageNumField;
  1486. class CNumPagesField;
  1487. class CFileNameField;
  1488. class TRomanNumeral;
  1489. class RReadStream;
  1490. class RWriteStream;
  1491. #line 39
  1492. class MFieldPageNumInfo
  1493. {
  1494. public:
  1495. virtual TInt UpdateFieldPageNum()const=0;
  1496. };
  1497. #line 60
  1498. class MFieldNumPagesInfo
  1499. {
  1500. public:
  1501. virtual TInt UpdateFieldNumPages()const=0;
  1502. };
  1503. #line 83
  1504. class MFieldFileNameInfo
  1505. {
  1506. public:
  1507. #line 96
  1508. virtual TInt UpdateFieldFileName(TPtr& aValueText)const=0;
  1509. };
  1510. #line 111
  1511. class CDateTimeField : public CTextField
  1512. {
  1513. public:
  1514. __declspec(dllexport) CDateTimeField();
  1515. __declspec(dllexport) void SetFormat(const TDesC& aFormat);
  1516. __declspec(dllexport) virtual TInt Value(TPtr& aValueText);
  1517. __declspec(dllexport) virtual void InternalizeL(RReadStream& aStream);
  1518. __declspec(dllexport) virtual void ExternalizeL(RWriteStream& aStream)const;
  1519. __declspec(dllexport) const TDesC& FormatString()const;
  1520. __declspec(dllexport) TUid Type()const;
  1521. protected:
  1522. TBuf<64> iFormatString;
  1523. };
  1524. #line 140
  1525. class CPageFieldBase : public CTextField
  1526. {
  1527. public:
  1528. enum TNumberStyle {
  1529. EArabic,
  1530. ERomanUpper,
  1531. ERomanLower,
  1532. EAlphabeticUpper,
  1533. EAlphabeticLower
  1534. };
  1535. public:
  1536. inline void SetNumberStyle(TNumberStyle aStyle) { iStyle = aStyle; }
  1537. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1538. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream)const;
  1539. __declspec(dllexport) TNumberStyle NumberStyle()const;
  1540. protected:
  1541. TInt InsertValue(TPtr& aValueText,TInt aValue);
  1542. protected:
  1543. TNumberStyle iStyle;
  1544. };
  1545. #line 184
  1546. class CPageNumField : public CPageFieldBase
  1547. {
  1548. public:
  1549. inline void SetPageNumInfo(MFieldPageNumInfo* aInfo) { iPageNumInfo=aInfo; }
  1550. __declspec(dllexport) TInt Value(TPtr& aValueText);
  1551. __declspec(dllexport) TUid Type()const;
  1552. protected:
  1553. MFieldPageNumInfo* iPageNumInfo;
  1554. };
  1555. #line 210
  1556. class CNumPagesField : public CPageFieldBase
  1557. {
  1558. public:
  1559. inline void SetNumPagesInfo(MFieldNumPagesInfo* aInfo) { iNumPagesInfo=aInfo; }
  1560. __declspec(dllexport) TInt Value(TPtr& aValueText);
  1561. __declspec(dllexport) TUid Type()const;
  1562. protected:
  1563. MFieldNumPagesInfo* iNumPagesInfo;
  1564. };
  1565. #line 238
  1566. class CFileNameField : public CTextField
  1567. {
  1568. public:
  1569. inline void SetFileNameInfo(MFieldFileNameInfo* aInfo) { iFileNameInfo=aInfo; }
  1570. __declspec(dllexport) virtual TStreamId StoreL(CStreamStore& aStore)const;
  1571. __declspec(dllexport) virtual void RestoreL(const CStreamStore& aStore,TStreamId aId);
  1572. __declspec(dllexport) virtual TInt Value(TPtr& aValueText);
  1573. inline virtual void InternalizeL(RReadStream& ) {};
  1574. __declspec(dllexport) TUid Type()const;
  1575. protected:
  1576. MFieldFileNameInfo* iFileNameInfo;
  1577. };
  1578. #line 13 "C:\Symbian\9.1\S60_3rd\epoc32\include\fldset.h" /* stack depth 9 */
  1579. class CTextFieldSet;
  1580. class RReadStream;
  1581. class RWriteStream;
  1582. class TTextFieldEntry;
  1583. class CStreamStore;
  1584. class CStoreMap;
  1585. class TRollbackInfo;
  1586. const TInt KFieldArrayGranularity=1;
  1587. class CTextFieldSet : public CBase
  1588. {
  1589. public:
  1590. enum {ENoPasteLimit=-1};
  1591. public:
  1592. __declspec(dllexport) static CTextFieldSet* NewL(TInt aDocumentLength=0);
  1593. __declspec(dllexport) static CTextFieldSet* NewL(const MTextFieldFactory* aFactory,const CStreamStore& aStore,TStreamId aStreamId);
  1594. __declspec(dllexport) ~CTextFieldSet();
  1595. __declspec(dllexport) void SetFieldFactory(MTextFieldFactory* aFactory);
  1596. __declspec(dllexport) MTextFieldFactory* FieldFactory()const;
  1597. __declspec(dllexport) void Reset();
  1598. __declspec(dllexport) TStreamId StoreL(CStreamStore& aStore)const;
  1599. __declspec(dllexport) void RestoreL(const CStreamStore& aFieldStore,TStreamId aStreamId);
  1600. __declspec(dllexport) void StoreFieldsL(CStreamStore& aStore,CStoreMap& aMap)const;
  1601. __declspec(dllexport) void RestoreFieldsL(const CStreamStore& aFieldStore);
  1602. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1603. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream)const;
  1604. __declspec(dllexport) TStreamId CopyToStoreL(CStreamStore& aStore,TInt aPos,TInt aLength)const;
  1605. __declspec(dllexport) void CopyComponentsL(CStreamStore& aStore,CStoreMap& aMap,TInt aPos,TInt aLength)const;
  1606. __declspec(dllexport) void CopyToStreamL(RWriteStream& aStream,TInt aPos,TInt aLength)const;
  1607. __declspec(dllexport) void PasteFromStoreL(const CStreamStore& aFieldStore,TStreamId aStreamId,TInt aPos,TInt aMaxLen=ENoPasteLimit);
  1608. __declspec(dllexport) void PasteComponentsL(const CStreamStore& aFieldStore,TInt aPos);
  1609. __declspec(dllexport) void PasteFromStreamL(RReadStream& aStream,TInt aPos,TInt aMaxLen=ENoPasteLimit);
  1610. __declspec(dllexport) CTextField* NewFieldL(TUid aFieldType);
  1611. __declspec(dllexport) TInt InsertFieldL(TInt aPos,CTextField* aField,TUid aFieldType);
  1612. __declspec(dllexport) TInt RemoveField(TInt aPos);
  1613. __declspec(dllexport) TInt NewFieldValueL(HBufC*& aBuf, TInt aPos);
  1614. __declspec(dllexport) void NotifyInsertion(TInt aPos, TInt aNumberAdded);
  1615. __declspec(dllexport) void NotifyDeletion(TInt aPos, TInt aNumberRemoved);
  1616. __declspec(dllexport) void NotifyFieldUpdate(TInt aPos, TInt aNewFieldValueLength);
  1617. __declspec(dllexport) TInt FieldCount() const;
  1618. __declspec(dllexport) TInt CharCount() const;
  1619. __declspec(dllexport) TBool FindFields(TInt aPos) const;
  1620. __declspec(dllexport) TBool FindFields(TFindFieldInfo& aInfo,TInt aPos,TInt aRange=0) const;
  1621. __declspec(dllexport) const CTextField* TextField(TInt aPos)const;
  1622. __declspec(dllexport) void RollbackPaste();
  1623. protected:
  1624. CTextFieldSet();
  1625. void ConstructL(TInt aDocumentLength);
  1626. void ConstructL(const CStreamStore& aFieldStore,TStreamId aStreamId);
  1627. private:
  1628. void StoreFieldsL(CStreamStore& aStore,CStoreMap& aMap,CArrayFixSeg<TTextFieldEntry> * aArray)const;
  1629. void DoRestoreL(const CStreamStore& aFieldStore,TStreamId aStreamId);
  1630. void DoRestoreFieldsL(CArrayFixSeg<TTextFieldEntry> * aArray,const CStreamStore& aFieldStore,TInt aStartIndex=0);
  1631. void InternalizeL(CArrayFixSeg<TTextFieldEntry> * aArray,RReadStream& aStream);
  1632. void ExternalizeL(RWriteStream& aStream,CArrayFixSeg<TTextFieldEntry> * aArray)const;
  1633. void DoPasteL(CArrayFixSeg<TTextFieldEntry> * aSourceArray,TInt aPos);
  1634. void AddInitialFieldEntryL(CArrayFixSeg<TTextFieldEntry> * aArray,TInt aDocumentLength);
  1635. void InsertEntryL(TInt aIndex,TTextFieldEntry& aEntry);
  1636. void InsertEntryL(TInt aIndex,TTextFieldEntry& aEntry,CArrayFixSeg<TTextFieldEntry> * aArray);
  1637. void AppendEntryL(TTextFieldEntry& aEntry);
  1638. void AppendEntryL(TTextFieldEntry& aEntry,CArrayFixSeg<TTextFieldEntry> * aArray);
  1639. void CopyToArrayL(CArrayFixSeg<TTextFieldEntry> * aArray,TInt aPos,TInt aLength)const;
  1640. TBool InField(const TInt aPos, TInt& anIndex, TInt& anOffset) const;
  1641. void DeleteFieldEntry(TInt anIndex);
  1642. void DeleteFieldEntry(CArrayFixSeg<TTextFieldEntry> * aArray,TInt anIndex);
  1643. TTextFieldEntry SplitEntry(TInt aIndex,TInt aOffset,TInt aRange)const;
  1644. TInt EntryLen(const TTextFieldEntry& aEntry)const;
  1645. TInt EntryLen(TInt aIndex)const;
  1646. void RecordRollbackInfoL(TInt aPastePos);
  1647. private:
  1648. MTextFieldFactory* iFieldFactory;
  1649. CArrayFixSeg<TTextFieldEntry> * iFieldArray;
  1650. TRollbackInfo* iRollbackInfo;
  1651. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1652. };
  1653. class TFieldMapExternalizer : public MExternalizer<TStreamRef>
  1654. {
  1655. private:
  1656. friend class CPlainText;
  1657. friend class CTextFieldSet;
  1658. private:
  1659. __declspec(dllexport) TFieldMapExternalizer(const CStoreMap& aMap);
  1660. __declspec(dllexport) void ExternalizeL(const TStreamRef& anObject,RWriteStream& aStream) const;
  1661. private:
  1662. const CStoreMap* iMap;
  1663. };
  1664. #line 11 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtetext.h" /* stack depth 8 */
  1665. class CParaFormatLayer;
  1666. class CCharFormatLayer;
  1667. class MTextFieldFactory;
  1668. class CTextFieldSet;
  1669. class CTextField;
  1670. class TFindFieldInfo;
  1671. class CInlineEditData;
  1672. class MFepInlineTextFormatRetriever;
  1673. class TCharFormat;
  1674. class CEditableTextOptionalData;
  1675. class RFs;
  1676. const TUid KPlainTextFieldDataUid = {268435555};
  1677. const TUid KEditableTextUid = {268450334};
  1678. const TUid KPlainTextCharacterDataUid = {268450341};
  1679. const TUid KClipboardUidTypePlainText = {268450333};
  1680. const TUid KUidRichText = {271013233};
  1681. const TInt KMaxFieldBufferSize=0x14;
  1682. #line 64
  1683. class CEditableText : public CBase
  1684. {
  1685. public:
  1686. __declspec(dllexport) ~CEditableText();
  1687. __declspec(dllexport) TStreamId StoreL(CStreamStore& aStore) const;
  1688. __declspec(dllexport) void RestoreL(const CStreamStore& aStore,TStreamId aStreamId);
  1689. virtual void ExternalizeL(RWriteStream& aStream) const;
  1690. virtual void InternalizeL(RReadStream& aStream);
  1691. #line 82
  1692. virtual void StoreComponentsL(CStreamStore& aStore,CStoreMap& aMap) const = 0;
  1693. virtual void RestoreComponentsL(const CStreamStore& aStore) = 0;
  1694. virtual void Reset() = 0;
  1695. virtual void InsertL(TInt aInsertPos,const TChar& aChar) = 0;
  1696. virtual void InsertL(TInt aInsertPos,const TDesC& aBuf) = 0;
  1697. #line 121
  1698. virtual TBool DeleteL(TInt aPos,TInt aLength) = 0;
  1699. #line 132
  1700.   virtual TPtrC Read(TInt aStartPos) const = 0;
  1701. #line 142
  1702. virtual TPtrC Read(TInt aStartPos,TInt aLength) const = 0;
  1703. #line 153
  1704.   virtual void Extract(TDes& aBuf,TInt aPos=0) const = 0;
  1705. #line 163
  1706. virtual void Extract(TDes& aBuf,TInt aPos,TInt aLength) const = 0;
  1707. #line 172
  1708. virtual void CopyToStoreL(CStreamStore& aStore,CStreamDictionary& aDictionary,TInt aPos,TInt aLength) const = 0;
  1709. #line 181
  1710. virtual TInt PasteFromStoreL(const CStreamStore& aStore,const CStreamDictionary& aDictionary,TInt aPos) = 0;
  1711. virtual TInt WordCount() const = 0;
  1712. virtual TInt ParagraphCount() const = 0;
  1713. virtual TInt DocumentLength() const = 0;
  1714. virtual TInt ToParagraphStart(TInt& aPos) const = 0;
  1715. inline TBool HasChanged() const;
  1716. #line 226
  1717. virtual void GetWordInfo(TInt aCurrentPos,TInt& aStartPos,TInt& aLength,
  1718.  TBool aPictureIsDelimiter,TBool aPunctuationIsDelimiter) const = 0;
  1719. __declspec(dllexport) virtual TInt ScanWords(TInt& aPos,TUint& aScanMask) const;
  1720. __declspec(dllexport) virtual TInt ScanParas(TInt& aPos,TUint& aScanMask) const;
  1721. __declspec(dllexport) virtual void SetHasChanged(TBool aHasChanged);
  1722. __declspec(dllexport) void StartFepInlineEditL(TBool& aParagraphContainingStartPositionOfInlineTextHasChangedFormat,TInt& aNumberOfCharactersSuccessfullyDeleted,TInt& aNumberOfCharactersSuccessfullyInserted,TInt& aPositionOfInsertionPointInDocument,TInt aNewPositionOfInsertionPointInDocument,const TDesC& aInitialInlineText,TInt aPositionOfInlineTextInDocument,TInt aNumberOfCharactersToHide,MFepInlineTextFormatRetriever& aInlineTextFormatRetriever);
  1723. __declspec(dllexport) void UpdateFepInlineTextL(TBool& aParagraphContainingStartPositionOfInlineTextHasChangedFormat,TInt& aNumberOfCharactersSuccessfullyDeleted,TInt& aNumberOfCharactersSuccessfullyInserted,TInt& aPositionOfInsertionPointInDocument,TInt aNewPositionOfInsertionPointInDocument,const TDesC& aNewInlineText);
  1724. __declspec(dllexport) void CommitFepInlineEditL(TBool& aParagraphContainingStartPositionOfInlineTextHasChangedFormat,TInt& aNumberOfCharactersSuccessfullyDeleted,TInt& aNumberOfCharactersSuccessfullyInserted,TInt& aPositionOfInsertionPointInDocument,TInt aNewPositionOfInsertionPointInDocument);
  1725. __declspec(dllexport) void CancelFepInlineEdit(TBool& aParagraphContainingStartPositionOfInlineTextHasChangedFormat,TInt& aNumberOfCharactersSuccessfullyDeleted,TInt& aNumberOfCharactersSuccessfullyInserted,TInt& aPositionOfInsertionPointInDocument,TInt aNewPositionOfInsertionPointInDocument);
  1726. __declspec(dllexport) virtual void ExtendedInterface(TAny*& aInterface, TUid aInterfaceId);
  1727. enum TDocumentStorage
  1728. {
  1729. EFlatStorage,
  1730. ESegmentedStorage
  1731. };
  1732.   enum
  1733. {
  1734. EDefaultTextGranularity = 256
  1735. };
  1736. enum
  1737. {
  1738. ETabCharacter = 0x0009,
  1739. EPageBreak = 0x000C,
  1740. ESpace = 0x0020,
  1741. EApostrophe = 0x0027,
  1742. EHyphenMinus = 0x002D,
  1743. ENonBreakingSpace = 0x00A0,
  1744. EPotentialHyphen = 0x00AD,
  1745. EHyphen = 0x2010,
  1746. ENonBreakingHyphen = 0x2011,
  1747. ELeftSingleQuote = 0x2018,
  1748. ERightSingleQuote = 0x2019,
  1749. ELeftDoubleQuote = 0x201C,
  1750. ERightDoubleQuote = 0x201D,
  1751. EBullet = 0x2022,
  1752. EEllipsis = 0x2026,
  1753. ELineBreak = 0x2028,
  1754. EParagraphDelimiter = 0x2029,
  1755. EPictureCharacter = 0xFFFC,
  1756. EZeroWidthNoBreakSpace = 0xFEFF,
  1757. EByteOrderMark = 0xFEFF,
  1758. EReversedByteOrderMark = 0xFFFE
  1759. };
  1760. protected:
  1761. __declspec(dllexport) void OverrideFormatOfInlineTextIfApplicable(TPtrC& aView,TCharFormat& aFormat,TInt aStartPos) const;
  1762. TBool iHasChanged;
  1763. private:
  1764. void SetAndTransferOwnershipOfInlineEditDataL(CInlineEditData* aInlineEditData);
  1765. CInlineEditData* InlineEditData() const;
  1766. void DeleteInlineEditDataAndSetToNull();
  1767. TBool DeleteWithoutDestroyingFormatL(TInt aPos, TInt aLength);
  1768. CEditableTextOptionalData* iOptionalData;
  1769. };
  1770. #line 328
  1771. class TEtextComponentInfo
  1772. {
  1773. public:
  1774. __declspec(dllexport) TEtextComponentInfo();
  1775. __declspec(dllexport) TEtextComponentInfo(TInt aFieldCount,TInt aPictureCount,TInt aStyleCount);
  1776. public:
  1777. TInt iFieldCount;
  1778. TInt iPictureCount;
  1779. TInt iStyleCount;
  1780. };
  1781. #line 350
  1782. typedef CArrayFix<TInt> TPageTable;
  1783. #line 372
  1784. class CPlainText: public CEditableText
  1785. {
  1786. public:
  1787. enum TTextOrganisation
  1788. {
  1789. EOrganiseByParagraph,
  1790. EOrganiseByLine
  1791. };
  1792. enum
  1793. {
  1794. EScanBackwards = 0x01,
  1795. EScanStayIfBoundary = 0x02,
  1796. EScanToUnitStart = 0x04,
  1797. EScanToUnitEnd = 0x08,
  1798. EScanJoinDelimiters = 0x10,
  1799. EScanPictureIsDelimiter = 0x20,
  1800. EScanPunctuationIsDelimiter = 0x40
  1801. };
  1802. enum TScanDataEnd
  1803. {
  1804. EScanEndOfData = -1
  1805. };
  1806. class TImportExportParam
  1807. {
  1808. public:
  1809. TImportExportParam():
  1810. iOrganisation(EOrganiseByParagraph),
  1811. iMaxOutputChars(KMaxTInt),
  1812. iMaxInputChars(KMaxTInt),
  1813. iMaxLineLength(KMaxTInt),
  1814. iOutputInternal(0 ),
  1815. iInputInternal(0 ),
  1816. iForeignEncoding(0),
  1817. iGuessForeignEncoding(0 ),
  1818. iFileSession(0 ),
  1819. iReserved(0)
  1820. {
  1821. }
  1822. TTextOrganisation iOrganisation;
  1823. TInt iMaxOutputChars;
  1824. TInt iMaxInputChars;
  1825. TInt iMaxLineLength;
  1826. TBool iOutputInternal;
  1827. TBool iInputInternal;
  1828. TUint iForeignEncoding;
  1829. TBool iGuessForeignEncoding;
  1830. RFs* iFileSession;
  1831. TUint iReserved;
  1832. };
  1833.   class TImportExportResult
  1834. {
  1835. public:
  1836. TImportExportResult():
  1837. iOutputChars(0),
  1838. iInputChars(0),
  1839. iForeignEncoding(0),
  1840. iReserved(0)
  1841. {
  1842. }
  1843. TInt iOutputChars;
  1844. TInt iInputChars;
  1845. TUint iForeignEncoding;
  1846. TUint iReserved;
  1847. };
  1848. __declspec(dllexport) static CPlainText* NewL(TDocumentStorage aStorage = ESegmentedStorage,
  1849.  TInt aDefaultTextGranularity = EDefaultTextGranularity);
  1850. __declspec(dllexport) static CPlainText* NewL(const CStreamStore& aStore,TStreamId aStreamId,
  1851.  MTextFieldFactory* aFieldFactory = 0 ,
  1852.  TDocumentStorage aStorage = ESegmentedStorage);
  1853. __declspec(dllexport) virtual ~CPlainText();
  1854. __declspec(dllexport) virtual void StoreComponentsL(CStreamStore& aStore,CStoreMap& aMap) const;
  1855. __declspec(dllexport) virtual void RestoreComponentsL(const CStreamStore& aStore);
  1856. __declspec(dllexport) virtual void ExternalizeL(RWriteStream& aStream) const;
  1857. __declspec(dllexport) virtual void InternalizeL(RReadStream& aStream);
  1858. __declspec(dllexport) void ExternalizePlainTextL(RWriteStream& aStream) const;
  1859. __declspec(dllexport) void InternalizePlainTextL(RReadStream& aStream);
  1860. __declspec(dllexport) void ExternalizePlainTextNoLengthCountL(RWriteStream& aStream) const;
  1861. __declspec(dllexport) void InternalizePlainTextL(RReadStream& aStream,TInt aLength);
  1862. __declspec(dllexport) void ImportTextL(TInt aPos,RReadStream& aInput,TTextOrganisation aTextOrganisation,
  1863.   TInt aMaxOutputChars = KMaxTInt,TInt aMaxInputChars = KMaxTInt,
  1864.   TInt* aOutputChars = 0 ,TInt* aInputChars = 0 );
  1865. __declspec(dllexport) void ExportTextL(TInt aPos,RWriteStream& aOutput,TTextOrganisation aTextOrganisation,
  1866.   TInt aMaxOutputChars = KMaxTInt,TInt aMaxInputChars = KMaxTInt,
  1867.   TInt aMaxLineLength = KMaxTInt,
  1868.   TInt* aOutputChars = 0 ,TInt* aInputChars = 0 ) const;
  1869. __declspec(dllexport) virtual TInt ImportTextFileL(TInt aPos,const TDes& aFileName,TTextOrganisation aTextOrganisation);
  1870. __declspec(dllexport) virtual void ExportAsTextL(const TDes& aFileName,TTextOrganisation aTextOrganisation,
  1871. TInt aMaxLineLength) const;
  1872. __declspec(dllexport) void ImportTextL(TInt aPos,RReadStream& aInput,
  1873.   const TImportExportParam& aParam,TImportExportResult& aResult);
  1874. __declspec(dllexport) void ExportTextL(TInt aPos,RWriteStream& aOutput,
  1875.   const TImportExportParam& aParam,TImportExportResult& aResult) const;
  1876. __declspec(dllexport) void StoreFieldComponentsL(CStreamStore& aStore,CStoreMap& aMap) const;
  1877. __declspec(dllexport) void RestoreFieldComponentsL(const CStreamStore& aStore);
  1878. __declspec(dllexport) void ExternalizeFieldDataL(RWriteStream& aStream) const;
  1879. __declspec(dllexport) void InternalizeFieldDataL(RReadStream& aStream);
  1880. __declspec(dllexport) virtual void Reset();
  1881. __declspec(dllexport) virtual void InsertL(TInt aPos,const TChar& aChar);
  1882. __declspec(dllexport) virtual void InsertL(TInt aPos,const TDesC& aBuf);
  1883. __declspec(dllexport) virtual TBool DeleteL(TInt aPos,TInt aLength);
  1884. __declspec(dllexport) virtual TPtrC Read(TInt aStartPos) const;
  1885. __declspec(dllexport) virtual TPtrC Read(TInt aStartPos,TInt aLength) const;
  1886. __declspec(dllexport) virtual void Extract(TDes& aBuf,TInt aPos=0) const;
  1887. __declspec(dllexport) virtual void Extract(TDes& aBuf,TInt aPos,TInt aLength) const;
  1888. enum
  1889. {
  1890. EExtractAll = 0,
  1891. EExtractVisible = 1
  1892. };
  1893. __declspec(dllexport) void ExtractSelectively(TDes& aBuf,TInt aPos,TInt aLength,TUint aFlags);
  1894. __declspec(dllexport) virtual void CopyToStoreL(CStreamStore& aStore,CStreamDictionary& aDictionary,TInt aPos,TInt aLength) const;
  1895. __declspec(dllexport) virtual TInt PasteFromStoreL(const CStreamStore& aStore,const CStreamDictionary& aDictionary,TInt aPos);
  1896. __declspec(dllexport) void SetPageTable(TPageTable* aPageTable);
  1897. __declspec(dllexport) TInt PageContainingPos(TInt aPos) const;
  1898. __declspec(dllexport) virtual TInt DocumentLength() const;
  1899.   __declspec(dllexport) virtual TInt WordCount() const;
  1900. __declspec(dllexport) virtual TInt ParagraphCount() const;
  1901. __declspec(dllexport) virtual TInt ToParagraphStart(TInt& aPos) const;
  1902. __declspec(dllexport) virtual TInt CharPosOfParagraph(TInt& aLength,TInt aParaOffset) const;
  1903. __declspec(dllexport) virtual TInt ParagraphNumberForPos(TInt& aPos) const;
  1904. __declspec(dllexport) virtual void GetWordInfo(TInt aCurrentPos,TInt& aStartPos,TInt& aLength,
  1905. TBool aPictureIsDelimiter,TBool aPunctuationIsDelimiter) const;
  1906. __declspec(dllexport) virtual TInt ScanWords(TInt& aPos,TUint& aScanMask) const;
  1907. __declspec(dllexport) virtual TInt ScanParas(TInt& aPos,TUint& aScanMask) const;
  1908. __declspec(dllexport) virtual TEtextComponentInfo ComponentInfo() const;
  1909. __declspec(dllexport) void SetFieldFactory(MTextFieldFactory* aFactory);
  1910. inline const MTextFieldFactory* FieldFactory() const;
  1911. __declspec(dllexport) CTextField* NewTextFieldL(TUid aFieldType) const;
  1912. __declspec(dllexport) void InsertFieldL(TInt aPos,CTextField* aField,TUid aFieldType);
  1913. __declspec(dllexport) virtual void UpdateFieldL(TInt aPos);
  1914. __declspec(dllexport) void UpdateAllFieldsL();
  1915. __declspec(dllexport) TInt FieldCount() const;
  1916. __declspec(dllexport) const CTextField* TextField(TInt aPos) const;
  1917. __declspec(dllexport) TBool FindFields(TInt aPos) const;
  1918. __declspec(dllexport) TBool FindFields(TFindFieldInfo& aInfo,TInt aPos,TInt aRange=0) const;
  1919. __declspec(dllexport) TBool RemoveField(TInt aPos);
  1920. __declspec(dllexport) TBool ConvertFieldToText(TInt aPos);
  1921. __declspec(dllexport) void ConvertAllFieldsToText();
  1922. __declspec(dllexport) void ExtendedInterface(TAny*& aInterface, TUid aInterfaceId);
  1923. protected:
  1924. __declspec(dllexport) CPlainText();
  1925. __declspec(dllexport) void ConstructL(TDocumentStorage aStorage = ESegmentedStorage,
  1926.  TInt aDefaultTextGranularity = EDefaultTextGranularity);
  1927. __declspec(dllexport) void ConstructL(const CStreamStore& aStore,TStreamId aStreamId,MTextFieldFactory* aFieldFactory,
  1928.  TDocumentStorage aStorage = ESegmentedStorage);
  1929. __declspec(dllexport) void DoConstructL(TDocumentStorage aStorage,TInt aDefaultTextGranularity,
  1930.    MTextFieldFactory* aFieldFactory = 0 );
  1931. void DoExtract(TDes& aBuf,TInt aPos,TInt aLength,TUint aFlags = 0) const;
  1932. __declspec(dllexport) void PtInsertL(TInt aInsertPos,const TDesC& aBuf);
  1933. __declspec(dllexport) void DoPtInsertL(TInt aPos,const TDesC& aBuf);
  1934. __declspec(dllexport) TBool DoPtDelete(TInt aPos,TInt aLength);
  1935. void InsertL(TInt aPos,const CPlainText* aText);
  1936. TBool Delete(TInt aPos,TInt aLength);
  1937. __declspec(dllexport) void DoExternalizeFieldDataL(RWriteStream& aStream) const;
  1938. __declspec(dllexport) void DoInternalizeFieldDataL(RReadStream& aStream);
  1939. __declspec(dllexport) void DoExternalizePlainTextL(RWriteStream& aStream) const;
  1940. __declspec(dllexport) void DoInternalizePlainTextL(RReadStream& aStream);
  1941. TStreamId DoCopyToStoreL(CStreamStore& aStore,CStreamDictionary& aDictionary,TInt aPos,TInt aLength) const;
  1942. TInt DoPasteFromStoreL(const CStreamStore& aStore,TStreamId aStreamId,TInt aPos);
  1943. void CopyComponentsL(CStreamStore& aStore,CStoreMap& aMap,TInt aPos,TInt aLength) const;
  1944. void PasteComponentsL(const CStreamStore& aStore,TInt aPos);
  1945. void CopyToStreamL(RWriteStream& aStream,TInt aPos,TInt aLength) const;
  1946. inline static void ConsumeAdornmentL(RReadStream& aStream);
  1947. inline static TUid UidFromStreamL(RReadStream& aStream);
  1948. protected:
  1949. enum
  1950. {
  1951. EImportBufSize = 512,
  1952. EBiggestCharacterPaste=0x100000
  1953. };
  1954. enum TUnitOfText
  1955. {
  1956. EUnitIsWord,
  1957. EUnitIsParagraph
  1958. };
  1959. struct SScanData
  1960. {
  1961. TInt pos;
  1962. TInt oldPos;
  1963. TText* buf;
  1964. TInt currentSegLen;
  1965. TInt totalBufLen;
  1966. TInt delta;
  1967. TUint32 scanMask;
  1968. enum
  1969. {
  1970. EInsideUnit = 0x10000000,
  1971. EStopEnd = 0x20000000,
  1972. EStopBegin = 0x40000000,
  1973. EIsDelimiter = 0x80000000
  1974. };
  1975. };
  1976. private:
  1977. CPlainText(const CPlainText& aPlainTextDoc);
  1978. CPlainText& operator=(const CPlainText& aPlainTextDoc);
  1979. TInt PasteFromStreamL(RReadStream& aStream,TInt aPos);
  1980. TInt DoPasteFromStreamL(RReadStream& aStream, TInt aPos);
  1981. void InsertEodL();
  1982. void InitScanControl(TInt& aPos,TUint& aScanMask,TUnitOfText aContext,SScanData& aScanData) const;
  1983. void InitScanData(TInt aPos,SScanData& aScanData) const;
  1984. void KillFieldSet();
  1985. TInt CountUnits(TUnitOfText aContext) const;
  1986. TInt ScanUnit(TInt& aPos,TUnitOfText aContext,SScanData& aScanData) const;
  1987. TBool TestForDelimiter(TUnitOfText aContext,SScanData& aScanData) const;
  1988. TBool GetChar(SScanData& aScanData,TChar& aChar) const;
  1989. void UpdatePageTable(TInt aPos,TInt aLength);
  1990. inline TBool FieldSetPresent() const;
  1991. void CreateFieldSetL(TInt aDocumentLength);
  1992. __declspec(dllexport) virtual void Reserved_2();
  1993. void* iReserved_1;
  1994. protected:
  1995. CBufBase* iByteStore;
  1996. TSwizzle<CTextFieldSet> iFieldSet;
  1997. TPageTable* iPageTable;
  1998. MTextFieldFactory* iFieldFactory;
  1999. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  2000. };
  2001. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtetext.inl" /* stack depth 9 */
  2002. TBool CEditableText::HasChanged()const
  2003. {return iHasChanged;}
  2004. TBool CPlainText::FieldSetPresent()const
  2005. {return (iFieldSet.IsPtr() && iFieldSet.AsPtr()!=0 );}
  2006. const MTextFieldFactory* CPlainText::FieldFactory()const
  2007. {return (FieldSetPresent()) ? iFieldSet->FieldFactory() : 0 ;}
  2008. void CPlainText::ConsumeAdornmentL(RReadStream& aStream)
  2009. {
  2010. TStreamId id;
  2011. aStream>> id;
  2012. }
  2013. TUid CPlainText::UidFromStreamL(RReadStream& aStream)
  2014. {
  2015. TUid uid;
  2016. aStream>> uid;
  2017. return uid;
  2018. }
  2019. #line 714 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtetext.h" /* stack depth 8 */
  2020. #line 13 "C:\Symbian\9.1\S60_3rd\epoc32\include\frmtlay.h" /* stack depth 7 */
  2021. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\frmlaydt.h" /* stack depth 8 */
  2022. #line 23
  2023. class CLayoutData
  2024. {
  2025. public:
  2026. enum
  2027. {
  2028. EFLargeNumber = KMaxTInt / 3,
  2029. EFFontHeightIncreaseFactor = 7,
  2030. EFMinimumLineDescent = 3,
  2031. EFBaseLinePosition = 82
  2032. };
  2033. enum
  2034. {
  2035. EFHeightForFormattingAllText = EFLargeNumber,
  2036. EFBodyWidthForNoWrapping = EFLargeNumber
  2037. };
  2038. enum
  2039. {
  2040. EFIndividualChars = 0,
  2041. EFWholeLinesOnly = 1,
  2042. EFWholeTBoxesOnly=EFWholeLinesOnly,
  2043. EFDisambiguateEndOfLine = 2,
  2044. };
  2045. enum TFormatMode
  2046. {
  2047. EFScreenMode,
  2048. EFPrintMode,
  2049. EFPrintPreviewMode,
  2050. EFWysiwygMode
  2051. };
  2052. private:
  2053. CLayoutData(CLayoutData&);
  2054. };
  2055. #line 14 "C:\Symbian\9.1\S60_3rd\epoc32\include\frmtlay.h" /* stack depth 7 */
  2056. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\frmparam.h" /* stack depth 8 */
  2057. #line 36
  2058. class MFormParam
  2059. {
  2060. public:
  2061. #line 66
  2062. virtual TRgb SystemColor(TUint aColorIndex,TRgb aDefaultColor) const = 0;
  2063. __declspec(dllexport) virtual void Reserved();
  2064. __declspec(dllexport) static void Set(const MFormParam* aParam);
  2065. __declspec(dllexport) static const MFormParam* Get();
  2066. };
  2067. #line 15 "C:\Symbian\9.1\S60_3rd\epoc32\include\frmtlay.h" /* stack depth 7 */
  2068. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\frmvis.h" /* stack depth 8 */
  2069. #line 12
  2070. class RReadStream;
  2071. class RWriteStream;
  2072. #line 25
  2073. class TNonPrintingCharVisibility
  2074. {
  2075. private:
  2076. enum TShowFormatChars
  2077. {
  2078. EFNothingVisible=0x000,
  2079. EFTabsVisible=0x001,
  2080. EFSpacesVisible=0x002,
  2081. EFParagraphDelimitersVisible=0x004,
  2082. EFLineBreaksVisible=0x008,
  2083. EFPotentialHyphensVisible=0x010,
  2084. EFNonBreakingHyphensVisible=0x020,
  2085. EFNonBreakingSpacesVisible=0x040,
  2086. EFPageBreaksVisible=0x080,
  2087. EFEverythingVisible=0xffffffff
  2088. };
  2089. public:
  2090. __declspec(dllexport) TNonPrintingCharVisibility();
  2091. __declspec(dllexport) TNonPrintingCharVisibility(const TNonPrintingCharVisibility& aVisibility);
  2092. __declspec(dllexport) TNonPrintingCharVisibility& operator=(const TNonPrintingCharVisibility& aVisibility);
  2093. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream)const;
  2094. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  2095. __declspec(dllexport) void SetAllVisible();
  2096. __declspec(dllexport) void SetNoneVisible();
  2097. __declspec(dllexport) void SetTabsVisible(TBool aVisible);
  2098. __declspec(dllexport) void SetSpacesVisible(TBool aVisible);
  2099. __declspec(dllexport) void SetParagraphDelimitersVisible(TBool aVisible);
  2100. __declspec(dllexport) void SetLineBreaksVisible(TBool aVisible);
  2101. __declspec(dllexport) void SetPotentialHyphensVisible(TBool aVisible);
  2102. __declspec(dllexport) void SetNonBreakingHyphensVisible(TBool aVisible);
  2103. __declspec(dllexport) void SetNonBreakingSpacesVisible(TBool aVisible);
  2104. __declspec(dllexport) void SetPageBreaksVisible(TBool aVisible);
  2105. inline TBool AllVisible()const{return iVisible==EFEverythingVisible;};
  2106. inline TBool NoneVisible()const{return iVisible==EFNothingVisible;};
  2107. inline TBool TabsVisible()const{return iVisible&EFTabsVisible;};
  2108. inline TBool SpacesVisible()const{return iVisible&EFSpacesVisible;};
  2109. inline TBool ParagraphDelimitersVisible()const{return iVisible&EFParagraphDelimitersVisible;};
  2110. inline TBool LineBreaksVisible()const{return iVisible&EFLineBreaksVisible;};
  2111. inline TBool PotentialHyphensVisible()const{return iVisible&EFPotentialHyphensVisible;};
  2112. inline TBool NonBreakingHyphensVisible()const{return iVisible&EFNonBreakingHyphensVisible;};
  2113. inline TBool NonBreakingSpacesVisible()const{return iVisible&EFNonBreakingSpacesVisible;};
  2114. inline TBool PageBreaksVisible()const{return iVisible&EFPageBreaksVisible;};
  2115. private:
  2116. TUint32 iVisible;
  2117. };
  2118. #line 16 "C:\Symbian\9.1\S60_3rd\epoc32\include\frmtlay.h" /* stack depth 7 */
  2119. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\tagma.h" /* stack depth 8 */
  2120. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtstyle.h" /* stack depth 9 */
  2121. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtfmlyr.h" /* stack depth 10 */
  2122. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtfmstm.h" /* stack depth 11 */
  2123. #line 15
  2124. class RReadStream;
  2125. class RWriteStream;
  2126. class TCharFormatX;
  2127. class TCharFormatXMask;
  2128. class RFormatStream
  2129. {
  2130. public:
  2131. RFormatStream();
  2132. void CopyL(const RFormatStream& aSource);
  2133. void ExternalizeL(RWriteStream& aStream) const;
  2134. void InternalizeL(RReadStream& aStream);
  2135. void Reset();
  2136. const TUint8* Ptr(TInt& aSize) const;
  2137. void SetParaFormatL(const CParaFormat* aDesiredFormat,const TParaFormatMask& aDesiredMask,const CParaFormat* aCurrentFormat);
  2138. void SenseParaFormatL(CParaFormat* aParaFormat,TParaFormatMask& aMask,CParaFormat::TParaFormatGetMode aMode)const;
  2139. void SetCharFormatL(const TCharFormatX& aCharFormat,const TCharFormatXMask& aMask);
  2140. void SenseCharFormat(TCharFormatX& aCharFormat,TCharFormatXMask& aMask)const;
  2141. void Swap(RFormatStream& aStream);
  2142. private:
  2143. void AllocL(TInt aSize);
  2144. TInt Length(TUint8*& aPtr,TTextFormatAttribute aType)const;
  2145. TInt DoCalcSizeParaFormat(const CParaFormat* aDesiredFormat,TParaFormatMask aMask,const CParaFormat* aCurrentFormat);
  2146. void DoSetParaFormat(const CParaFormat* aDesiredFormat,TParaFormatMask aMask,const CParaFormat* aCurrentFormat);
  2147. void RemoveRedundantCharFormat(TCharFormatMask& aMask,const TCharFormatX& aFormat,const TCharFormatX& aEffectiveFormat);
  2148. TInt DoCalcSizeCharFormat(const TCharFormatX& aCharFormat,const TCharFormatXMask& aMask);
  2149. void DoStoreCharFormat(const TCharFormatX& aCharFormat,TCharFormatXMask aMask);
  2150. TUint8* StoreBullet(TUint8* aPtr,const TBullet& aSource);
  2151. TUint8* StoreBorder(TUint8* aPtr,TTextFormatAttribute aType,const TParaBorder& aSource);
  2152. TUint8* StoreTab(TUint8* aPtr,const TTabStop& aSource);
  2153. TInt StoreTabs(TUint8*& aPtr,const CParaFormat* aDesiredFormat,const CParaFormat* aCurrentFormat,TBool aStoreData);
  2154. TInt MergeTabLists(TUint8*& aPtr,const CParaFormat* aDesiredFormat,TInt aDesiredTabCount,
  2155.    const CParaFormat* aCurrentFormat,TInt aCurrentTabCount,TBool aStoreData);
  2156. void StoreAllTabs(TUint8*& aPtr,const CParaFormat* aSource);
  2157. TUint8* Store(TUint8* aPtr,const TLogicalRgb& aRgb);
  2158. TUint8* Store(TUint8* aPtr,const TTypeface& aTypeface);
  2159. TUint8* ReadValue(TUint8* aPtr,TLogicalRgb& aRgb)const;
  2160. TUint8* ReadValue(TUint8* aPtr,TTypeface& aTypeface)const;
  2161. TUint8* ReadValue(TUint8* aPtr,TParaBorder& aBorder)const;
  2162. TUint8* ReadValue(TUint8* aPtr,TBullet& aBullet)const;
  2163. TUint8* ReadTabL(TUint8* aPtr,CParaFormat* aTarget)const;
  2164. TUint8* iBase;
  2165. TUint8* iEnd;
  2166. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  2167. private:
  2168. void TestInvariantL() const;
  2169. TBool DoInvariantCheck() const;
  2170. };
  2171. #line 11 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtfmlyr.h" /* stack depth 10 */
  2172. class CFormatStream;
  2173. class RReadStream;
  2174. class RWriteStream;
  2175. class TCharFormatX;
  2176. const TUid KNormalParagraphStyleUid={268435531};
  2177. #line 55
  2178. class CFormatLayer : public CBase
  2179. {
  2180. public:
  2181. __declspec(dllexport) void Reset();
  2182. __declspec(dllexport) void SetBase(const CFormatLayer* aBaseFormatLayer);
  2183. __declspec(dllexport) const CFormatLayer* SenseBase()const;
  2184. __declspec(dllexport) TInt ChainCount()const;
  2185. #line 76
  2186. virtual void InternalizeL(RReadStream& aStream,const CFormatLayer* aBase=0 )=0;
  2187. #line 85
  2188. virtual void ExternalizeL(RWriteStream& aStream)const=0;
  2189. __declspec(dllexport) void InternalizeChainL(RReadStream& aStream,const CFormatLayer* aBase=0 );
  2190. __declspec(dllexport) void ExternalizeChainL(RWriteStream& aStream,TInt aExcludeCount=0)const;
  2191. #line 101
  2192. virtual TBool IsIdentical(CFormatLayer* aLayer,TBool aCheckBasedOnLink=ETrue)const=0;
  2193. __declspec(dllexport) TBool IsEmpty()const;
  2194. void Swap(CFormatLayer& aLayer);
  2195. private:
  2196. CFormatLayer(const CFormatLayer& aFormatLayer);
  2197. CFormatLayer& operator=(const CFormatLayer& aFormatLayer);
  2198. virtual CFormatLayer* DoCloneL()const=0;
  2199. protected:
  2200. CFormatLayer();
  2201. ~CFormatLayer();
  2202. virtual CFormatLayer* RestoreNewL(RReadStream& aStream)=0;
  2203. void ExternalizeLayersRecurseL(RWriteStream& aStream,TInt aDescendantCount)const;
  2204. TBool IsIdentical(const TUint8* aPtr,TInt aSize)const;
  2205. const TUint8* Ptr(TInt& aSize)const;
  2206. void CloneLayerL(CFormatLayer* aClone)const;
  2207. protected:
  2208. RFormatStream iStore;
  2209. const CFormatLayer* iBasedOn;
  2210. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  2211. };
  2212. #line 134
  2213. class CParaFormatLayer : public CFormatLayer
  2214. {
  2215. public:
  2216. __declspec(dllexport) static CParaFormatLayer* NewL();
  2217. __declspec(dllexport) static CParaFormatLayer* NewL(const CParaFormat* aParaFormat,const TParaFormatMask& aMask);
  2218. __declspec(dllexport) static CParaFormatLayer* NewL(RReadStream& aStream);
  2219. static CParaFormatLayer* NewL(const CParaFormatLayer* aLayer);
  2220. static CParaFormatLayer* NewCopyBaseL(const CParaFormatLayer* aLayer);
  2221. __declspec(dllexport) virtual void InternalizeL(RReadStream& aStream,const CFormatLayer* aBase=0 );
  2222. __declspec(dllexport) virtual void ExternalizeL(RWriteStream& aStream)const;
  2223. __declspec(dllexport) void SetL(const CParaFormat* aDesiredEffectiveFormat,const TParaFormatMask& aMask);
  2224. __declspec(dllexport) void SenseEffectiveL(CParaFormat* aParaFormat,CParaFormat::TParaFormatGetMode aMode=CParaFormat::EAllAttributes)const;
  2225. __declspec(dllexport) void SenseL(CParaFormat* aParaFormat,TParaFormatMask& aMask,CParaFormat::TParaFormatGetMode aMode=CParaFormat::EAllAttributes)const;
  2226. inline CParaFormatLayer* CloneL()const;
  2227. __declspec(dllexport) TBool IsIdenticalL(const CParaFormat* aParaFormat,const TParaFormatMask& aMask)const;
  2228. __declspec(dllexport) virtual TBool IsIdentical(CFormatLayer* aLayer,TBool aCheckBasedOnLink=ETrue)const;
  2229. __declspec(dllexport) virtual TUid Type()const;
  2230. __declspec(dllexport) const TUint8* Ptr(TInt& aSize)const;
  2231. private:
  2232. CParaFormatLayer(const CParaFormatLayer& aParaFormatLayer);
  2233. CParaFormatLayer& operator=(const CParaFormatLayer& aParaFormatLayer);
  2234. __declspec(dllexport) virtual CFormatLayer* DoCloneL()const;
  2235. void FillParaFormatL(CParaFormat* aParaFormat,TParaFormatMask& aMask,CParaFormat::TParaFormatGetMode aMode)const;
  2236. void CleanupEffectiveFormat(CParaFormat* aParaFormat,TParaFormatMask aMask)const;
  2237. void CleanupBorders(CParaFormat* aParaFormat)const;
  2238. protected:
  2239. CParaFormatLayer();
  2240. virtual CFormatLayer* RestoreNewL(RReadStream& aStream);
  2241. };
  2242. #line 185
  2243. class CCharFormatLayer : public CFormatLayer
  2244. {
  2245. public:
  2246. __declspec(dllexport) static CCharFormatLayer* NewL();
  2247. __declspec(dllexport) static CCharFormatLayer* NewL(const TCharFormat& aFormat,const TCharFormatMask& aMask);
  2248. __declspec(dllexport) static CCharFormatLayer* NewL(RReadStream& aStream);
  2249. __declspec(dllexport) virtual void InternalizeL(RReadStream& aStream,const CFormatLayer* aBase=0 );
  2250. __declspec(dllexport) virtual void ExternalizeL(RWriteStream& aStream)const;
  2251. __declspec(dllexport) void SetL(const TCharFormat& aCharFormat,const TCharFormatMask& aMask);
  2252. __declspec(dllexport) void SenseEffective(TCharFormat& aCharFormat)const;
  2253. __declspec(dllexport) void Sense(TCharFormat& aCharFormat,TCharFormatMask& aMask)const;
  2254. inline CCharFormatLayer* CloneL()const;
  2255. __declspec(dllexport) virtual TBool IsIdentical(CFormatLayer* aLayer,TBool aCheckBasedOnLink=ETrue)const;
  2256. __declspec(dllexport) TBool IsIdentical(const TCharFormat& aCharFormat,const TCharFormatMask& aMask)const;
  2257. __declspec(dllexport) const TUint8* Ptr(TInt& aSize)const;
  2258. static CCharFormatLayer* NewL(const CCharFormatLayer* aLayer);
  2259. static CCharFormatLayer* NewCopyBaseL(const CCharFormatLayer* aLayer);
  2260. static CCharFormatLayer* NewL(const TCharFormatX& aFormat,const TCharFormatXMask& aMask);
  2261. void SetL(const TCharFormatX& aCharFormat,const TCharFormatXMask& aMask);
  2262. void SenseEffective(TCharFormatX& aCharFormat)const;
  2263. void Sense(TCharFormatX& aCharFormat,TCharFormatXMask& aMask) const;
  2264. private:
  2265. CCharFormatLayer();
  2266. virtual CFormatLayer* RestoreNewL(RReadStream& aStream);
  2267. virtual void FillCharFormat(TCharFormatX& aCharFormat,TCharFormatXMask& aMask)const;
  2268. __declspec(dllexport) virtual CFormatLayer* DoCloneL()const;
  2269. };
  2270. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtfmlyr.inl" /* stack depth 11 */
  2271. #line 9
  2272. inline CParaFormatLayer* CParaFormatLayer::CloneL()const
  2273. {return (static_cast<CParaFormatLayer*>(DoCloneL())) ;}
  2274. inline CCharFormatLayer* CCharFormatLayer::CloneL()const
  2275. {return (static_cast<CCharFormatLayer*>(DoCloneL())) ;}
  2276. #line 217 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtfmlyr.h" /* stack depth 10 */
  2277. #line 11 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtstyle.h" /* stack depth 9 */
  2278. class CParagraphStyle;
  2279. class CStyleTable;
  2280. class RReadStream;
  2281. class RWriteStream;
  2282. const TInt KMaxParagraphStyleName=0x20;
  2283. typedef TBuf<KMaxParagraphStyleName> TParagraphStyleName;
  2284. const TUid KUserDefinedParagraphStyleUid={268435535};
  2285. class RParagraphStyleInfo
  2286. #line 62
  2287. {
  2288. public:
  2289. inline RParagraphStyleInfo();
  2290. inline RParagraphStyleInfo(CParagraphStyle* aStyle,CParagraphStyle* aStyleForNextPara=0 );
  2291. inline void Discard();
  2292. public:
  2293. CParagraphStyle* iStyle;
  2294. CParagraphStyle* iStyleForNextPara;
  2295. };
  2296. class CParagraphStyle : public CParaFormatLayer
  2297. #line 96
  2298. {
  2299. public:
  2300. friend class CStyleList;
  2301. friend class CRichTextIndex;
  2302. enum TStylePasteMode
  2303. {
  2304. EAddNewStyles,
  2305. EConvertNewStyles,
  2306. EIgnoreNewStyles
  2307. };
  2308. enum TApplyParaStyleMode
  2309. {
  2310. ERetainAllSpecificFormats,
  2311. ERetainNoSpecificFormats,
  2312. ERetainSpecificParaFormat,
  2313. ERetainSpecificCharFormat
  2314. };
  2315. public:
  2316. __declspec(dllexport) static CParagraphStyle* NewL(const CParaFormatLayer& aGlobalParaFormatLayer,const CCharFormatLayer& aGlobalCharFormatLayer);
  2317. __declspec(dllexport) ~CParagraphStyle();
  2318. inline CCharFormatLayer* CharFormatLayer()const;
  2319. inline TInt OutlineLevel()const;
  2320. inline void SetOutlineLevel(TInt aOutlineLevel);
  2321. __declspec(dllexport) virtual TUid Type()const;
  2322. inline void SetType(TUid aType);
  2323. inline CParagraphStyle* CloneL()const;
  2324. private:
  2325. CParagraphStyle();
  2326. void ConstructL(const CParaFormatLayer& aGlobalParaFormatLayer,
  2327.  const CCharFormatLayer& aGlobalCharFormatLayer);
  2328. __declspec(dllexport) virtual CFormatLayer* DoCloneL()const;
  2329. static CParagraphStyle* NewL(RReadStream& aStream,const CParaFormatLayer& aGlobalParaFormatLayer,const CCharFormatLayer& aGlobalCharFormatLayer);
  2330. virtual void InternalizeL(RReadStream& aStream,const CFormatLayer* aParaLayerBase,const CFormatLayer* aCharLayerBase);
  2331. virtual void ExternalizeL(RWriteStream& aStream)const;
  2332. private:
  2333. TUid iType;
  2334. TInt iOutlineLevel;
  2335. CCharFormatLayer* iCharFormatLayer;
  2336. public:
  2337. TParagraphStyleName iName;
  2338. };
  2339. const TInt KMaxStyleListGranularity=0x04;
  2340. class CStyleList : public CBase
  2341. #line 210
  2342. {
  2343. public:
  2344. __declspec(dllexport) static CStyleList* NewL(TInt aCapacity=KMaxStyleListGranularity);
  2345. __declspec(dllexport) static CStyleList* NewL(RReadStream& aStream,
  2346. const CParaFormatLayer* aGlobalParaFormatLayer,
  2347. const CCharFormatLayer* aGlobalCharFormatLayer);
  2348. __declspec(dllexport) ~CStyleList();
  2349. inline const RParagraphStyleInfo& operator[](TInt aIndex)const;
  2350. inline RParagraphStyleInfo& operator[](TInt aIndex);
  2351. __declspec(dllexport) const RParagraphStyleInfo& At(TInt aIndex)const;
  2352. __declspec(dllexport) RParagraphStyleInfo& At(TInt aIndex);
  2353. __declspec(dllexport) TStreamId StoreL(CStreamStore& aStore)const;
  2354. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream)const;
  2355. __declspec(dllexport) void InternalizeL(RReadStream& aStream,
  2356. const CParaFormatLayer* aGlobalParaFormatLayer,
  2357. const CCharFormatLayer* aGlobalCharFormatLayer);
  2358. __declspec(dllexport) void Reset();
  2359. __declspec(dllexport) TInt AppendL(RParagraphStyleInfo* aStyleSet);
  2360. __declspec(dllexport) void Remove(CParagraphStyle* aStyle);
  2361. __declspec(dllexport) TInt SetStyleToFollow(const RParagraphStyleInfo& aStyleSet);
  2362. __declspec(dllexport) CStyleList* DeepCloneL()const;
  2363. __declspec(dllexport) RParagraphStyleInfo* PtrByName(const TParagraphStyleName& aName)const;
  2364. __declspec(dllexport) RParagraphStyleInfo* PtrByType(const TUid aType)const;
  2365. __declspec(dllexport) TInt IndexByPtr(const CParaFormatLayer* aPtr)const;
  2366. __declspec(dllexport) TInt IndexByName(const TDesC& aName)const;
  2367. inline TInt Count()const;
  2368. protected:
  2369. __declspec(dllexport) CStyleList();
  2370. __declspec(dllexport) void ConstructL(TInt aGranularity);
  2371. private:
  2372. void KillStyleList();
  2373. private:
  2374. CArrayFixFlat<RParagraphStyleInfo> * iList;
  2375. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  2376. };
  2377. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtstyle.inl" /* stack depth 10 */
  2378. RParagraphStyleInfo::RParagraphStyleInfo()
  2379. : iStyle(0 ),iStyleForNextPara(0 )
  2380. {}
  2381. RParagraphStyleInfo::RParagraphStyleInfo(CParagraphStyle* aStyle,CParagraphStyle* aStyleForNextPara)
  2382. : iStyle(aStyle),iStyleForNextPara(aStyleForNextPara)
  2383. {}
  2384. void RParagraphStyleInfo::Discard()
  2385. {delete iStyle;}
  2386. CCharFormatLayer* CParagraphStyle::CharFormatLayer()const
  2387. {return iCharFormatLayer;}
  2388. TInt CParagraphStyle::OutlineLevel()const
  2389. {return iOutlineLevel;}
  2390. void CParagraphStyle::SetOutlineLevel(TInt aOutlineLevel)
  2391. {iOutlineLevel=aOutlineLevel;}
  2392. void CParagraphStyle::SetType(TUid aType)
  2393. {iType=aType;}
  2394. CParagraphStyle* CParagraphStyle::CloneL()const
  2395. {return (static_cast<CParagraphStyle*>(DoCloneL())) ;}
  2396. const RParagraphStyleInfo& CStyleList::operator[](TInt aIndex)const
  2397. #line 104
  2398. {return iList->At(aIndex);}
  2399. RParagraphStyleInfo& CStyleList::operator[](TInt aIndex)
  2400. {return iList->At(aIndex);}
  2401. TInt CStyleList::Count()const
  2402. {return (iList) ? iList->Count() : 0;}
  2403. #line 259 "C:\Symbian\9.1\S60_3rd\epoc32\include\txtstyle.h" /* stack depth 9 */
  2404. #line 18 "C:\Symbian\9.1\S60_3rd\epoc32\include\tagma.h" /* stack depth 8 */
  2405. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\LineBreak.h" /* stack depth 9 */
  2406. #line 10
  2407. class MContingentLineBreaker;
  2408. class MContingentLineBreakerL;
  2409. class TDesC16;
  2410. class TUid;
  2411. #line 22
  2412. enum TLineBreakPanic
  2413. {
  2414. ELineBreakPanic_Unknown = 0,
  2415. ELineBreakPanic_BadTable = 1,
  2416. ELineBreakPanic_InvalidInputParam = 2,
  2417. ELineBreakPanic_InvalidOutputParam = 3,
  2418. };
  2419. class MLineBreaker
  2420. {
  2421. public:
  2422. enum
  2423. {
  2424. EOpLineBreakClass,
  2425. EClLineBreakClass,
  2426. EQuLineBreakClass,
  2427. EGlLineBreakClass,
  2428. ENsLineBreakClass,
  2429. EExLineBreakClass,
  2430. ESyLineBreakClass,
  2431. EIsLineBreakClass,
  2432. EPrLineBreakClass,
  2433. EPoLineBreakClass,
  2434. ENuLineBreakClass,
  2435. EAlLineBreakClass,
  2436. EIdLineBreakClass,
  2437. EInLineBreakClass,
  2438. EHyLineBreakClass,
  2439. EBaLineBreakClass,
  2440. EBbLineBreakClass,
  2441. EB2LineBreakClass,
  2442. EZwLineBreakClass,
  2443. ECmLineBreakClass,
  2444. EBkLineBreakClass,
  2445. ECrLineBreakClass,
  2446. ELfLineBreakClass,
  2447. ESgLineBreakClass,
  2448. ECbLineBreakClass,
  2449. ESpLineBreakClass,
  2450. ESaLineBreakClass,
  2451. EAiLineBreakClass,
  2452. EXxLineBreakClass,
  2453. ELineBreakClasses
  2454. };
  2455. __declspec(dllexport) virtual TUint LineBreakClass(TUint aCode,
  2456. TUint& aRangeStart, TUint& aRangeEnd) const;
  2457. __declspec(dllexport) virtual TBool LineBreakPossible(TUint aPrevClass, TUint aNextClass,
  2458. TBool aHaveSpaces) const;
  2459. __declspec(dllexport) virtual TBool GetLineBreakInContext(const TDesC16& aText,
  2460. TInt aMinBreakPos, TInt aMaxBreakPos, TBool aForwards,
  2461. TInt& aBreakPos) const;
  2462. __declspec(dllexport) virtual TBool IsHangingCharacter(TUint aChar) const;
  2463. __declspec(dllexport) TBool GetLineBreak(const TDesC16& aText,
  2464. TInt aMinBreakPos, TInt aMaxBreakPos, TBool aForwards,
  2465. MContingentLineBreaker* aCbDelegate,
  2466. TInt& aBreakPos, TInt& aBreakPosAfterSpaces) const;
  2467. __declspec(dllexport) TBool GetLineBreakL(const TDesC16& aText,
  2468. TInt aMinBreakPos, TInt aMaxBreakPos, TBool aForwards,
  2469. MContingentLineBreakerL* aCbDelegate,
  2470. TInt& aBreakPos, TInt& aBreakPosAfterSpaces) const;
  2471. __declspec(dllexport) virtual void* ExtendedInterface(TUid& aUid) const;
  2472. };
  2473. class MContingentLineBreaker
  2474. {
  2475. public:
  2476. #line 171
  2477. virtual TBool IsLegalBreakBefore(TInt aTextPosition, TInt aPrecedingClass,
  2478. TBool aHasSpaces) = 0;
  2479. #line 181
  2480. virtual TBool IsLegalBreakAfter(TInt aTextPosition, TInt aFollowingClass,
  2481. TBool aHasSpaces) = 0;
  2482. };
  2483. class MContingentLineBreakerL
  2484. {
  2485. public:
  2486. #line 205
  2487. virtual TBool IsLegalBreakBeforeL(TInt aTextPosition, TInt aPrecedingClass,
  2488. TBool aHasSpaces) = 0;
  2489. #line 215
  2490. virtual TBool IsLegalBreakAfterL(TInt aTextPosition, TInt aFollowingClass,
  2491. TBool aHasSpaces) = 0;
  2492. };
  2493. #line 20 "C:\Symbian\9.1\S60_3rd\epoc32\include\tagma.h" /* stack depth 8 */
  2494. class TTmLineInfo;
  2495. class CTmTextImp;
  2496. class RWindow;
  2497. class RWsSession;
  2498. class RParagraphStyleInfo;
  2499. class CStyleList;
  2500. class TTmDocPosSpec;
  2501. class TTmDocPos;
  2502. class TTmCharFormatMask
  2503. {
  2504. public:
  2505. enum TAttrib
  2506. {
  2507. EFontName = 0x1,
  2508. EFontCoverage = 0x2,
  2509. EBold = 0x4,
  2510. EItalic = 0x8,
  2511. ESerif = 0x10,
  2512. EMonoWidth = 0x20,
  2513. EHeight = 0x40,
  2514. EPrintPosition = 0x80,
  2515. ETextColor = 0x100,
  2516. EBackgroundColor = 0x200,
  2517. EBackground = 0x400,
  2518. EUnderline = 0x800,
  2519. EStrikethrough = 0x1000,
  2520. EShadow = 0x2000,
  2521. EUserDefinedEffects = 0x4000,
  2522. ELanguage = 0x8000,
  2523. EPictureAlignment = 0x10000
  2524. };
  2525. inline TTmCharFormatMask();
  2526. __declspec(dllexport) TTmCharFormatMask(const TCharFormatMask& aMask);
  2527. __declspec(dllexport) void GetTCharFormatMask(TCharFormatMask& aMask) const;
  2528. inline void Clear(TAttrib aAttrib);
  2529. inline void Set(TAttrib aAttrib);
  2530. inline TBool IsSet(TAttrib aAttrib);
  2531. TUint iFlags;
  2532. };
  2533. #line 81
  2534. class TTmCharFormat
  2535. {
  2536. public:
  2537. enum
  2538. {
  2539. EBackground = 1,
  2540. ERounded = 2,
  2541. EUnderline = 4,
  2542. EStrikethrough = 8,
  2543. EShadow = 16,
  2544. EUserDefinedMask = 0xFF000000,
  2545. EUserDefinedShift = 24,
  2546. ENoMatchesIndicator = 0x4000000,
  2547. ECustomDrawEffectIsExternallyDefined = 0x80000000
  2548. };
  2549. enum TPictureAlignment
  2550. {
  2551. EPictureAlignBaseline,
  2552. EPictureAlignTop,
  2553. EPictureAlignBottom,
  2554. EPictureAlignCenter
  2555. };
  2556. __declspec(dllexport) TTmCharFormat();
  2557. __declspec(dllexport) TTmCharFormat(const TDesC& aFontName,TInt aFontHeight);
  2558. __declspec(dllexport) void operator=(const TCharFormat& aFormat);
  2559. inline TTmCharFormat(const TCharFormat& aFormat);
  2560. __declspec(dllexport) void GetTCharFormat(TCharFormat& aFormat) const;
  2561. __declspec(dllexport) TBool operator==(const TTmCharFormat& aFormat) const;
  2562. inline TBool operator!=(const TTmCharFormat& aFormat) const;
  2563. TOpenFontSpec iFontSpec;
  2564. TLogicalRgb iTextColor;
  2565. TLogicalRgb iBackgroundColor;
  2566. TUint iEffects;
  2567. TUint iLanguage;
  2568. TPictureAlignment iPictureAlignment;
  2569. TUint iTag;
  2570. };
  2571. class TTmTab
  2572. {
  2573. public:
  2574. enum TType
  2575. {
  2576. EStandardTab,
  2577. ECenterTab,
  2578. EReverseTab
  2579. };
  2580. inline TTmTab();
  2581. inline TTmTab(const TTabStop& aTab);
  2582. __declspec(dllexport) void operator=(const TTabStop& aTab);
  2583. __declspec(dllexport) void GetTTabStop(TTabStop& aTab) const;
  2584. __declspec(dllexport) TBool operator==(const TTmTab& aTab) const;
  2585. inline TBool operator!=(const TTmTab& aTab) const;
  2586. TInt iPosition;
  2587. TType iType;
  2588. };
  2589. class TTmBullet
  2590. {
  2591. public:
  2592. enum TStyle
  2593. {
  2594. EBulletStyle,
  2595. EArabicNumberStyle,
  2596. ESmallRomanNumberStyle,
  2597. ECapitalRomanNumberStyle,
  2598. ESmallLetterStyle,
  2599. ECapitalLetterStyle
  2600. };
  2601.   enum TAlignment
  2602. {
  2603. ELeftAlign,
  2604. ECenterAlign,
  2605. ERightAlign
  2606. };
  2607. __declspec(dllexport) TTmBullet();
  2608. __declspec(dllexport) void operator=(const TBullet& aBullet);
  2609. inline TTmBullet(const TBullet& aBullet);
  2610. __declspec(dllexport) void GetTBullet(TBullet& aBullet) const;
  2611. __declspec(dllexport) TBool operator==(const TTmBullet& aBullet) const;
  2612. inline TBool operator!=(const TTmBullet& aBullet) const;
  2613. TChar iCharacterCode;
  2614. TOpenFontSpec iFontSpec;
  2615. TBool iHangingIndent;
  2616. TLogicalRgb iColor;
  2617. TStyle iStyle;
  2618. TInt iStartNumber;
  2619. TAlignment iAlignment;
  2620. };
  2621. class TTmParBorder
  2622. {
  2623. public:
  2624. enum TStyle
  2625. {
  2626. ESolidStyle,
  2627. EDoubleStyle,
  2628. EDotStyle,
  2629. EDashStyle,
  2630. EDotDashStyle,
  2631. EDotDotDashStyle
  2632. };
  2633. __declspec(dllexport) TTmParBorder();
  2634. __declspec(dllexport) void operator=(const TParaBorder& aBorder);
  2635. inline TTmParBorder(const TParaBorder& aBorder);
  2636. __declspec(dllexport) void GetTParaBorder(TParaBorder& aBorder) const;
  2637. __declspec(dllexport) TBool operator==(const TTmParBorder& aBorder) const;
  2638. inline TBool operator!=(const TTmParBorder& aBorder) const;
  2639. TStyle iStyle;
  2640. TInt iWeight;
  2641. TLogicalRgb iColor;
  2642. TBool iAutoColor;
  2643. };
  2644. class TTmParFormatMask
  2645. {
  2646. public:
  2647. enum TAttrib
  2648. {
  2649. EAlignment = 0x1,
  2650. EDirection = 0x2,
  2651. EKeepTogether = 0x4,
  2652. EKeepWithNext = 0x8,
  2653. EStartNewPage = 0x10,
  2654. EWidowOrphan = 0x20,
  2655. ENoWrap = 0x40,
  2656. EExactLineSpacing = 0x80,
  2657. EPixelLineSpacing = 0x100,
  2658. ELeadingMargin = 0x200,
  2659. ETrailingMargin = 0x400,
  2660. EFirstLineIndent = 0x800,
  2661. ELineSpacing = 0x1000,
  2662. ESpaceAbove = 0x2000,
  2663. ESpaceBelow = 0x4000,
  2664. ETabSize = 0x8000,
  2665. EBorderMargin = 0x10000,
  2666. ETabList = 0x20000,