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

Symbian

开发平台:

C/C++

  1. __declspec(dllexport) TInt Copy(const RFile& anOld,const TDesC& aNew,TUint aSwitches,TRequestStatus& aStatus);
  2. protected:
  3. CFileMan(RFs& aFs);
  4. TInt RenameInvalidEntry(const TDesC& anOld,const TDesC& aNew,TUint aSwitch=EOverWrite);
  5. private:
  6. void CompleteOperationL();
  7. void DoOperationL();
  8. void CheckForDirectory();
  9. void SetFlags(TBool aOverWrite,TBool aRecurse,TBool aScanDirection,TBool aMoveRename);
  10. void GetSrcAndTrg(TParse& aSrcName,TFileName& aTrgName);
  11. void DoSynchronize(TInt aRetVal);
  12. TInt CheckRenameAllowed(const TDesC& aSrcName,const TDesC& aTrgName);
  13. private:
  14. void DoAttribsL();
  15. void DoCopyOrMoveL();
  16. void DoDeleteL();
  17. void DoRenameL();
  18. void DoRmDirL();
  19. void DoCopyFromHandleL();
  20. TInt DoCopy(const RFile& aSrcFile, RFile& aDstFile, TInt& aRet);
  21. private:
  22. TParse iTrgFile;
  23. TAction iAction;
  24. TUint iSetMask;
  25. TUint iClearMask;
  26. TTime iTime;
  27. TInt iBytesTransferred;
  28. RFile iSrcFileHandle;
  29. friend void RenameInvalidEntryL(RFs& aFs,TParse& aSrcFile);
  30. };
  31. class TFindFile
  32. #line 2167
  33. {
  34. public:
  35. __declspec(dllexport) TFindFile(RFs& aFs);
  36. __declspec(dllexport) TInt FindByPath(const TDesC& aFileName,const TDesC* aPathList);
  37. __declspec(dllexport) TInt FindByDir(const TDesC& aFileName,const TDesC& aDirPath);
  38. __declspec(dllexport) TInt Find();
  39. __declspec(dllexport) TInt FindWildByPath(const TDesC& aFileName,const TDesC* aPathList,CDir*& aDirList);
  40. __declspec(dllexport) TInt FindWildByDir(const TDesC& aFileName,const TDesC& aDirPath,CDir*& aDir);
  41. __declspec(dllexport) TInt FindWild(CDir*& aDirList);
  42. inline const TDesC& File() const;
  43. private:
  44. TInt DoFind();
  45. TInt DoFindByPath(const TDesC& aFileName,const TDesC* aPathList);
  46. TInt DoFindByDir(const TDesC& aFileName,const TDesC& aDir);
  47. TInt DoFindInDir();
  48. TInt DoFindNextInPath();
  49. TInt DoFindNextInDriveList();
  50. private:
  51. RFs* const iFs;
  52. TParse iFile;
  53. TInt iPathPos;
  54. TInt iCurrentDrive;
  55. TInt iMode;
  56. const TDesC* iPath;
  57. TDriveList iDrvList;
  58. CDir** iDir;
  59. TUint32 iReserved;
  60. };
  61. #line 2208
  62. typedef CDir CFileList;
  63. class TOpenFileScan
  64. #line 2226
  65. {
  66. public:
  67. __declspec(dllexport) TOpenFileScan(RFs& aFs);
  68. __declspec(dllexport) void NextL(CFileList*& aFileList);
  69. __declspec(dllexport) TThreadId ThreadId() const;
  70. private:
  71. RFs* iFs;
  72. TThreadId iThreadId;
  73. TInt iScanPos;
  74. TInt iEntryListPos;
  75. };
  76. class TFileText
  77. {
  78. public:
  79. enum TFileState
  80. {
  81. EStartOfFile,
  82. ENormal,
  83. EReverse
  84. };
  85. public:
  86. __declspec(dllexport) TFileText();
  87. __declspec(dllexport) void Set(RFile& aFile);
  88. __declspec(dllexport) TInt Read(TDes& aDes);
  89. __declspec(dllexport) TInt Write(const TDesC& aDes);
  90. __declspec(dllexport) TInt Seek(TSeek aMode);
  91. private:
  92. void NextRecord();
  93. TInt CheckForTerminator(TBool& anAnswer);
  94. TInt FillBuffer();
  95. private:
  96. const TText* iNext;
  97. const TText* iEnd;
  98. TFileState iState;
  99. RFile iFile;
  100. TBuf8<0x100> iReadBuf;
  101. };
  102. #line 2284
  103. __declspec(dllexport) TBool FileNamesIdentical(const TDesC& aFileName1,const TDesC& aFileName2);
  104. #line 2294
  105. class TLocalDriveMappingInfo
  106. {
  107. public:
  108. enum TDrvMapOperation {EWriteMappingsAndSet=0,EWriteMappingsNoSet=1,ESwapIntMappingAndSet=2};
  109. public:
  110. TInt iDriveMapping[KMaxLocalDrives];
  111. TDrvMapOperation iOperation;
  112.     };
  113. typedef TPckgBuf<TLocalDriveMappingInfo> TLocalDriveMappingInfoBuf;
  114. class RPlugin : public RSubSessionBase
  115. {
  116. public:
  117. __declspec(dllexport) TInt Open(RFs& aFs, TInt aPos);
  118. __declspec(dllexport) void Close();
  119. protected:
  120. __declspec(dllexport) void DoRequest(TInt aReqNo,TRequestStatus& aStatus) const;
  121. __declspec(dllexport) void DoRequest(TInt aReqNo,TRequestStatus& aStatus,TDes8& a1) const;
  122. __declspec(dllexport) void DoRequest(TInt aReqNo,TRequestStatus& aStatus,TDes8& a1,TDes8& a2) const;
  123. __declspec(dllexport) TInt DoControl(TInt aFunction) const;
  124. __declspec(dllexport) TInt DoControl(TInt aFunction,TDes8& a1) const;
  125. __declspec(dllexport) TInt DoControl(TInt aFunction,TDes8& a1,TDes8& a2) const;
  126. __declspec(dllexport) void DoCancel(TUint aReqMask) const;
  127. };
  128. #line 2334
  129. const TInt KPluginAutoAttach = 0x19;
  130. #line 2345
  131. const TInt KPluginAutoLocate = 0xC8;
  132. const TInt KFileServerUidValue = 0x100039e3;
  133. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\f32file.inl" /* stack depth 6 */
  134. #line 10
  135. inline const TUid& TEntry::operator[](TInt anIndex) const
  136. #line 21
  137.     {return(iType[anIndex]);}
  138. inline TBool TEntry::IsUidPresent(TUid aUid) const
  139. #line 37
  140.     {return(iType.IsPresent(aUid));}
  141. inline TBool TEntry::IsTypeValid() const
  142. #line 51
  143.     {return(iType.IsValid());}
  144. inline TUid TEntry::MostDerivedUid() const
  145. #line 65
  146.     {return(iType.MostDerived());}
  147. inline TInt EntrySize(const TEntry& anEntry)
  148. {return(sizeof(TUint)+sizeof(TInt)+sizeof(TTime)+sizeof(TInt)+sizeof(TUidType)+anEntry.iName.Size());}
  149. inline const TDesC& TFindFile::File() const
  150. #line 93
  151. {return iFile.FullName();}
  152. inline RFs& CDirScan::Fs()
  153. {return(*iFs);}
  154. inline TDriveUnit::operator TInt() const
  155. {return(iDrive);}
  156. #line 2355 "C:\Symbian\9.1\S60_3rd\epoc32\include\f32file.h" /* stack depth 5 */
  157. #line 16 "C:\Symbian\9.1\S60_3rd\epoc32\include\apparc.h" /* stack depth 4 */
  158. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\gdi.h" /* stack depth 5 */
  159. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32std.h" /* stack depth 6 */
  160. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32strm.h" /* stack depth 7 */
  161. #line 12
  162. const TInt KMaxCardinality=0x1fffffff;
  163. class MStreamBuf;
  164. class RWriteStream;
  165. #line 27
  166. class RReadStream
  167. {
  168. public:
  169. inline RReadStream();
  170. inline RReadStream(MStreamBuf* aSource);
  171. inline MStreamBuf* Source();
  172. inline void Close();
  173. __declspec(dllexport) void Release();
  174. __declspec(dllexport) void PushL();
  175. inline void Pop();
  176. __declspec(dllexport) void ReadL(TDes8& aDes);
  177. __declspec(dllexport) void ReadL(TDes8& aDes,TInt aLength);
  178. __declspec(dllexport) void ReadL(TDes8& aDes,TChar aDelim);
  179. __declspec(dllexport) void ReadL(TUint8* aPtr,TInt aLength);
  180. __declspec(dllexport) void ReadL(TInt aLength);
  181. inline void ReadL(RWriteStream& aStream);
  182. inline void ReadL(RWriteStream& aStream,TInt aLength);
  183. __declspec(dllexport) void ReadL(TDes16& aDes);
  184. __declspec(dllexport) void ReadL(TDes16& aDes,TInt aLength);
  185. __declspec(dllexport) void ReadL(TDes16& aDes,TChar aDelim);
  186. __declspec(dllexport) void ReadL(TUint16* aPtr,TInt aLength);
  187. __declspec(dllexport) TInt8 ReadInt8L();
  188. __declspec(dllexport) TInt16 ReadInt16L();
  189. __declspec(dllexport) TInt32 ReadInt32L();
  190. __declspec(dllexport) TUint8 ReadUint8L();
  191. __declspec(dllexport) TUint16 ReadUint16L();
  192. __declspec(dllexport) TUint32 ReadUint32L();
  193. __declspec(dllexport) TReal32 ReadReal32L() ;
  194. __declspec(dllexport) TReal64 ReadReal64L() ;
  195. protected:
  196. inline void Attach(MStreamBuf* aSource);
  197. inline void Detach();
  198. private:
  199. MStreamBuf* iSrc;
  200. private:
  201. friend class RWriteStream;
  202. };
  203. template <class T>
  204. class MExternalizer;
  205. class TStreamRef;
  206. #line 82
  207. class RWriteStream
  208. {
  209. public:
  210. inline RWriteStream();
  211. inline RWriteStream(const MExternalizer<TStreamRef>& anExter);
  212. inline RWriteStream(MStreamBuf* aSink);
  213. inline MStreamBuf* Sink();
  214. __declspec(dllexport) void Close();
  215. __declspec(dllexport) void Release();
  216. __declspec(dllexport) void CommitL();
  217. __declspec(dllexport) void PushL();
  218. inline void Pop();
  219. __declspec(dllexport) void WriteL(const TDesC8& aDes);
  220. __declspec(dllexport) void WriteL(const TDesC8& aDes,TInt aLength);
  221. __declspec(dllexport) void WriteL(const TUint8* aPtr,TInt aLength);
  222. __declspec(dllexport) void WriteL(RReadStream& aStream);
  223. __declspec(dllexport) void WriteL(RReadStream& aStream,TInt aLength);
  224. __declspec(dllexport) void WriteL(const TDesC16& aDes);
  225. __declspec(dllexport) void WriteL(const TDesC16& aDes,TInt aLength);
  226. __declspec(dllexport) void WriteL(const TUint16* aPtr,TInt aLength);
  227. __declspec(dllexport) void WriteInt8L(TInt aValue);
  228. __declspec(dllexport) void WriteInt16L(TInt aValue);
  229. __declspec(dllexport) void WriteInt32L(TInt32 aValue);
  230. __declspec(dllexport) void WriteUint8L(TUint aValue);
  231. __declspec(dllexport) void WriteUint16L(TUint aValue);
  232. __declspec(dllexport) void WriteUint32L(TUint32 aValue);
  233. __declspec(dllexport) void WriteReal32L(TReal aValue) ;
  234. __declspec(dllexport) void WriteReal64L(TReal64 aValue) ;
  235. protected:
  236. inline void Attach(MStreamBuf* aSink);
  237. inline void Detach();
  238. private:
  239. __declspec(dllexport) void WriteRefL(TStreamRef aRef);
  240. private:
  241. MStreamBuf* iSnk;
  242. const MExternalizer<TStreamRef> * iExterL;
  243. private:
  244. friend class TStreamRef;
  245. };
  246. template <class T>
  247. inline RWriteStream& operator<<(RWriteStream& aStream,const T& anObject);
  248. template <class T>
  249. inline RReadStream& operator>>(RReadStream& aStream,T& anObject);
  250. #line 142
  251. class TCardinality
  252. {
  253. public:
  254. TCardinality() {}
  255. inline TCardinality(TInt aCount);
  256. inline operator TInt() const;
  257. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  258. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  259. private:
  260. TInt iCount;
  261. private:
  262. __declspec(dllexport) static void __DbgChkRange(TInt aCount);
  263. };
  264. typedef void (*TExternalizeFunction)(const TAny* aPtr,RWriteStream& aStream);
  265. typedef void (*TInternalizeFunction)(TAny* aPtr,RReadStream& aStream);
  266. #line 171
  267. template <class T>
  268. class TExternalizer
  269. {
  270. public:
  271. inline void operator()(const T& anObject,RWriteStream& aStream) const;
  272. inline static TExternalizeFunction Function();
  273. private:
  274. static void ExternalizeAsL(const TAny* aPtr,RWriteStream& aStream);
  275. };
  276. #line 188
  277. template<> class TExternalizer<TAny>
  278. {
  279. public:
  280. TExternalizer() {}
  281. inline TExternalizer(TExternalizeFunction aFunction);
  282. inline void operator()(const TAny* aPtr,RWriteStream& aStream) const;
  283. inline TExternalizeFunction Function() const;
  284. private:
  285. TExternalizeFunction iFunc;
  286. };
  287. template <class T>
  288. class TInternalizer
  289. {
  290. public:
  291. inline void operator()(T& anObject,RReadStream& aStream) const;
  292. inline static TInternalizeFunction Function();
  293. private:
  294. static void InternalizeAsL(TAny* aPtr,RReadStream& aStream);
  295. };
  296. template<> class TInternalizer<TAny>
  297. {
  298. public:
  299. TInternalizer() {}
  300. inline TInternalizer(TInternalizeFunction aFunction);
  301. inline void operator()(TAny* aPtr,RReadStream& aStream) const;
  302. inline TInternalizeFunction Function() const;
  303. private:
  304. TInternalizeFunction iFunc;
  305. };
  306. #line 258
  307. template <class T>
  308. class MExternalizer
  309. {
  310. public:
  311. inline void operator()(const T& anObject,RWriteStream& aStream) const;
  312. private:
  313. virtual void ExternalizeL(const T& anObject,RWriteStream& aStream) const=0;
  314. };
  315. #line 281
  316. template <class T>
  317. class MInternalizer
  318. {
  319. public:
  320. inline void operator()(T& anObject,RReadStream& aStream) const;
  321. private:
  322. virtual void InternalizeL(T& anObject,RReadStream& aStream) const=0;
  323. };
  324. class TStreamRef
  325. {
  326. public:
  327. inline TStreamRef(const TAny* aPtr,TExternalizeFunction aFunction);
  328. inline const TAny* Ptr() const;
  329. inline TExternalizeFunction Function() const;
  330. inline void ExternalizeL(RWriteStream& aStream) const;
  331. private:
  332. const TAny* iPtr;
  333. TExternalizeFunction iFunc;
  334. };
  335. class Externalize
  336. {
  337. public:
  338. class Member {};
  339. class Function {};
  340. };
  341. class Internalize
  342. {
  343. public:
  344. class Member {};
  345. class Function {};
  346. };
  347. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32strm.inl" /* stack depth 8 */
  348. inline RReadStream::RReadStream()
  349. : iSrc(0 )
  350. {}
  351. inline RReadStream::RReadStream(MStreamBuf* aSource)
  352. : iSrc(aSource)
  353. {}
  354. inline MStreamBuf* RReadStream::Source()
  355. #line 32
  356. {return iSrc;}
  357. inline void RReadStream::Close()
  358. {Release();}
  359. inline void RReadStream::ReadL(RWriteStream& aStream)
  360. {aStream.WriteL(*this);}
  361. inline void RReadStream::ReadL(RWriteStream& aStream,TInt aLength)
  362. {aStream.WriteL(*this,aLength);}
  363. inline void RReadStream::Pop()
  364. {CleanupStack::Pop();}
  365. inline void RReadStream::Attach(MStreamBuf* aSource)
  366. #line 66
  367. {iSrc=aSource;}
  368. inline void RReadStream::Detach()
  369. {iSrc=0 ;}
  370. inline RWriteStream::RWriteStream()
  371. : iSnk(0 ),iExterL(0 )
  372. {}
  373. inline RWriteStream::RWriteStream(const MExternalizer<TStreamRef>& anExter)
  374. : iSnk(0 ),iExterL(&anExter)
  375. {}
  376. inline RWriteStream::RWriteStream(MStreamBuf* aSink)
  377. : iSnk(aSink),iExterL(0 )
  378. {}
  379. inline MStreamBuf* RWriteStream::Sink()
  380. {return iSnk;}
  381. inline void RWriteStream::Pop()
  382. {CleanupStack::Pop();}
  383. inline void RWriteStream::Attach(MStreamBuf* aSink)
  384. #line 119
  385. {iSnk=aSink;}
  386. inline void RWriteStream::Detach()
  387. {iSnk=0 ;}
  388. inline TCardinality::TCardinality(TInt aCount)
  389. :iCount(aCount)
  390. {
  391. __DbgChkRange(aCount);
  392. }
  393. inline TCardinality::operator TInt() const
  394. {
  395. __DbgChkRange(iCount);
  396. return iCount;
  397. }
  398. template <class T>
  399. inline void TExternalizer<T>::operator()(const T& anObject,RWriteStream& aStream) const
  400. {aStream<<anObject;}
  401. template <class T>
  402. inline TExternalizeFunction TExternalizer<T>::Function()
  403. {return &ExternalizeAsL;}
  404. template <class T>
  405. void TExternalizer<T>::ExternalizeAsL(const TAny* aPtr,RWriteStream& aStream)
  406. {aStream<<*((const T*)aPtr);}
  407. inline TExternalizer<TAny>::TExternalizer(TExternalizeFunction aFunction)
  408. : iFunc(aFunction)
  409. {}
  410. inline void TExternalizer<TAny>::operator()(const TAny* aPtr,RWriteStream& aStream) const
  411. {(*iFunc)(aPtr,aStream);}
  412. inline TExternalizeFunction TExternalizer<TAny>::Function() const
  413. {return iFunc;}
  414. template <class T>
  415. inline void TInternalizer<T>::operator()(T& anObject,RReadStream& aStream) const
  416. {aStream>>anObject;}
  417. template <class T>
  418. inline TInternalizeFunction TInternalizer<T>::Function()
  419. {return &InternalizeAsL;}
  420. template <class T>
  421. void TInternalizer<T>::InternalizeAsL(TAny* aPtr,RReadStream& aStream)
  422. {aStream>> *((T*)aPtr);}
  423. inline TInternalizer<TAny>::TInternalizer(TInternalizeFunction aFunction)
  424. : iFunc(aFunction)
  425. {}
  426. inline void TInternalizer<TAny>::operator()(TAny* aPtr,RReadStream& aStream) const
  427. {(*iFunc)(aPtr,aStream);}
  428. inline TInternalizeFunction TInternalizer<TAny>::Function() const
  429. {return iFunc;}
  430. template <class T>
  431. inline void MExternalizer<T>::operator()(const T& anObject,RWriteStream& aStream) const
  432. {ExternalizeL(anObject,aStream);}
  433. template <class T>
  434. inline void MInternalizer<T>::operator()(T& anObject,RReadStream& aStream) const
  435. {InternalizeL(anObject,aStream);}
  436. inline TStreamRef::TStreamRef(const TAny* aPtr,TExternalizeFunction aFunction)
  437. : iPtr(aPtr),iFunc(aFunction)
  438. {}
  439. inline const TAny* TStreamRef::Ptr() const
  440. {return iPtr;}
  441. inline TExternalizeFunction TStreamRef::Function() const
  442. {return iFunc;}
  443. inline void TStreamRef::ExternalizeL(RWriteStream& aStream) const
  444. {aStream.WriteRefL(*this);}
  445. __declspec(dllexport) void ExternalizeL(TInt64 anInt64,RWriteStream& aStream);
  446. __declspec(dllexport) void InternalizeL(TInt64& anInt64,RReadStream& aStream);
  447. __declspec(dllexport) void ExternalizeL(const TDesC8& aDes8,RWriteStream& aStream);
  448. __declspec(dllexport) void ExternalizeL(const TDesC16& aDes16,RWriteStream& aStream);
  449. __declspec(dllexport) void InternalizeL(TDes8& aDes8,RReadStream& aStream);
  450. __declspec(dllexport) void InternalizeL(TDes16& aDes16,RReadStream& aStream);
  451. __declspec(dllexport) void ExternalizeL(const TCheckedUid& aUid,RWriteStream& aStream);
  452. __declspec(dllexport) void InternalizeL(TCheckedUid& aUid,RReadStream& aStream);
  453. __declspec(dllexport) void ExternalizeL(TPoint aPoint,RWriteStream& aStream);
  454. __declspec(dllexport) void ExternalizeL(TSize aSize,RWriteStream& aStream);
  455. __declspec(dllexport) void ExternalizeL(const TRect& aRect,RWriteStream& aStream);
  456. __declspec(dllexport) void InternalizeL(TPoint& aPoint,RReadStream& aStream);
  457. __declspec(dllexport) void InternalizeL(TSize& aSize,RReadStream& aStream);
  458. __declspec(dllexport) void InternalizeL(TRect& aRect,RReadStream& aStream);
  459. __declspec(dllexport) void ExternalizeL(const CBufBase& aBuf,RWriteStream& aStream);
  460. __declspec(dllexport) void InternalizeL(CBufBase& aBuf,RReadStream& aStream);
  461. __declspec(dllexport) void ArrayExternalizeCountL(TInt aCount,RWriteStream& aStream);
  462. __declspec(dllexport) void DoExternalizeAllL(const CArrayFixBase& anArray,RWriteStream& aStream,TExternalizer<TAny> anExter);
  463. __declspec(dllexport) TInt ArrayInternalizeCountL(RReadStream& aStream);
  464. __declspec(dllexport) void DoInternalizeAllL(CArrayFixBase& anArray,RReadStream& aStream,TInternalizer<TAny> anInter);
  465. template <class T>
  466. inline void ExternalizeCountL(const CArrayFix<T>& anArray,RWriteStream& aStream)
  467. {ArrayExternalizeCountL(anArray.Count(),aStream);}
  468. template <class T>
  469. inline void ExternalizeAllL(const CArrayFix<T>& anArray,RWriteStream& aStream)
  470. {DoExternalizeAllL(anArray,aStream,TExternalizer<T>::Function());}
  471. template <class T>
  472. void InternalizeCountL(CArrayFix<T>& anArray,RReadStream& aStream)
  473. {
  474. TInt n=ArrayInternalizeCountL(aStream);
  475. anArray.ResizeL(n);
  476. }
  477. template <class T>
  478. inline void InternalizeAllL(CArrayFix<T>& anArray,RReadStream& aStream)
  479. {DoInternalizeAllL(anArray,aStream,TInternalizer<T>::Function());}
  480. template <class T>
  481. void ExternalizeL(const CArrayFix<T>& anArray,RWriteStream& aStream)
  482. {
  483. ExternalizeCountL(anArray,aStream);
  484. ExternalizeAllL(anArray,aStream);
  485. }
  486. template <class T>
  487. void InternalizeL(CArrayFix<T>& anArray,RReadStream& aStream)
  488. {
  489. InternalizeCountL(anArray,aStream);
  490. InternalizeAllL(anArray,aStream);
  491. }
  492. template <class T>
  493. inline void ExternalizeL(const T* aPtr,RWriteStream& aStream)
  494. {aStream<<TStreamRef(aPtr,TExternalizer<T>::Function());}
  495. template <class T>
  496. inline void DoExternalizeL(const T& anObject,RWriteStream& aStream,Externalize::Member)
  497. {anObject.ExternalizeL(aStream);}
  498. template <class T>
  499. inline void DoInternalizeL(T& anObject,RReadStream& aStream,Internalize::Member)
  500. {anObject.InternalizeL(aStream);}
  501. template <class T>
  502. inline void DoExternalizeL(const T& anObject,RWriteStream& aStream,Externalize::Function)
  503. {ExternalizeL(anObject,aStream);}
  504. template <class T>
  505. inline void DoInternalizeL(T& anObject,RReadStream& aStream,Internalize::Function)
  506. {InternalizeL(anObject,aStream);}
  507. inline Externalize::Member Externalization(const TAny*)
  508. {return Externalize::Member();}
  509. inline Internalize::Member Internalization(TAny*)
  510. {return Internalize::Member();}
  511. inline Externalize::Function Externalization(const TDesC8*)
  512. {return Externalize::Function();}
  513. inline Externalize::Function Externalization(const TDesC16*)
  514. {return Externalize::Function();}
  515. inline Internalize::Function Internalization(TDes8*)
  516. {return Internalize::Function();}
  517. inline Internalize::Function Internalization(TDes16*)
  518. {return Internalize::Function();}
  519. inline Externalize::Function Externalization(const CBufBase*)
  520. {return Externalize::Function();}
  521. inline Externalize::Function Externalization(const CArrayFixBase*)
  522. {return Externalize::Function();}
  523. inline Internalize::Function Internalization(CBufBase*)
  524. {return Internalize::Function();}
  525. inline Internalize::Function Internalization(CArrayFixBase*)
  526. {return Internalize::Function();}
  527. template <class T>
  528. inline Externalize::Function Externalization(T*const*)
  529. {return Externalize::Function();}
  530. template <class T>
  531. inline RWriteStream& operator<<(RWriteStream& aStream,const T& anObject)
  532. {DoExternalizeL(anObject,aStream,Externalization(&anObject));return aStream;}
  533. template <class T>
  534. inline RReadStream& operator>>(RReadStream& aStream,T& anObject)
  535. {DoInternalizeL(anObject,aStream,Internalization(&anObject));return aStream;}
  536. inline RWriteStream& operator<<(RWriteStream& aStream,const TInt8& anInt8)
  537. {aStream.WriteInt8L(anInt8);return aStream;}
  538. inline RWriteStream& operator<<(RWriteStream& aStream,const TInt16& anInt16)
  539. {aStream.WriteInt16L(anInt16);return aStream;}
  540. inline RWriteStream& operator<<(RWriteStream& aStream,const TInt32& anInt32)
  541. {aStream.WriteInt32L(anInt32);return aStream;}
  542. inline RWriteStream& operator<<(RWriteStream& aStream,const TUint8& aUint8)
  543. {aStream.WriteUint8L(aUint8);return aStream;}
  544. inline RWriteStream& operator<<(RWriteStream& aStream,const TUint16& aUint16)
  545. {aStream.WriteUint16L(aUint16);return aStream;}
  546. inline RWriteStream& operator<<(RWriteStream& aStream,const TUint32& aUint32)
  547. {aStream.WriteUint32L(aUint32);return aStream;}
  548. inline RWriteStream& operator<<(RWriteStream& aStream,const TReal32& aReal32)
  549. {aStream.WriteReal32L(aReal32);return aStream;}
  550. inline RWriteStream& operator<<(RWriteStream& aStream,const TReal64& aReal64)
  551. {aStream.WriteReal64L(aReal64);return aStream;}
  552. inline RReadStream& operator>>(RReadStream& aStream,TInt8& anInt8)
  553. {anInt8=aStream.ReadInt8L();return aStream;}
  554. inline RReadStream& operator>>(RReadStream& aStream,TInt16& anInt16)
  555. {anInt16=aStream.ReadInt16L();return aStream;}
  556. inline RReadStream& operator>>(RReadStream& aStream,TInt32& anInt32)
  557. {anInt32=aStream.ReadInt32L();return aStream;}
  558. inline RReadStream& operator>>(RReadStream& aStream,TUint8& aUint8)
  559. {aUint8=aStream.ReadUint8L();return aStream;}
  560. inline RReadStream& operator>>(RReadStream& aStream,TUint16& aUint16)
  561. {aUint16=aStream.ReadUint16L();return aStream;}
  562. inline RReadStream& operator>>(RReadStream& aStream,TUint32& aUint32)
  563. {aUint32=aStream.ReadUint32L();return aStream;}
  564. inline RReadStream& operator>>(RReadStream& aStream,TReal32& aReal32)
  565. {aReal32=aStream.ReadReal32L();return aStream;}
  566. inline RReadStream& operator>>(RReadStream& aStream,TReal64& aReal64)
  567. {aReal64=aStream.ReadReal64L();return aStream;}
  568. inline RWriteStream& operator<<(RWriteStream& aStream,const TInt64& anInt64)
  569. {ExternalizeL(anInt64,aStream);return aStream;}
  570. inline RReadStream& operator>>(RReadStream& aStream,TInt64& anInt64)
  571. {InternalizeL(anInt64,aStream);return aStream;}
  572. inline RWriteStream& operator<<(RWriteStream& aStream,const TUid& aUid)
  573. {return aStream<<aUid.iUid;}
  574. inline RWriteStream& operator<<(RWriteStream& aStream,const TCheckedUid& aUid)
  575. {ExternalizeL(aUid,aStream);return aStream;}
  576. inline RReadStream& operator>>(RReadStream& aStream,TUid& aUid)
  577. {return aStream>>aUid.iUid;}
  578. inline RReadStream& operator>>(RReadStream& aStream,TCheckedUid& aUid)
  579. {InternalizeL(aUid,aStream);return aStream;}
  580. inline RWriteStream& operator<<(RWriteStream& aStream,const TPoint& aPoint)
  581. {ExternalizeL(aPoint,aStream);return aStream;}
  582. inline RWriteStream& operator<<(RWriteStream& aStream,const TSize& aSize)
  583. {ExternalizeL(aSize,aStream);return aStream;}
  584. inline RWriteStream& operator<<(RWriteStream& aStream,const TRect& aRect)
  585. {ExternalizeL(aRect,aStream);return aStream;}
  586. inline RReadStream& operator>>(RReadStream& aStream,TPoint& aPoint)
  587. {InternalizeL(aPoint,aStream);return aStream;}
  588. inline RReadStream& operator>>(RReadStream& aStream,TSize& aSize)
  589. {InternalizeL(aSize,aStream);return aStream;}
  590. inline RReadStream& operator>>(RReadStream& aStream,TRect& aRect)
  591. {InternalizeL(aRect,aStream);return aStream;}
  592. inline RWriteStream& operator<<(RWriteStream& aStream,const TStreamRef& aRef)
  593. {aRef.ExternalizeL(aStream);return aStream;}
  594. #line 351 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32strm.h" /* stack depth 7 */
  595. #line 8 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32std.h" /* stack depth 6 */
  596. const TUint32 KNullStreamIdValue=0;
  597. const TUint32 KMaxStreamIdValue=0xfffffff;
  598. const TUint32 KMaskStreamIdValue=0xfffffff;
  599. const TInt KShiftStreamIdValue=28;
  600. #line 28
  601. class TStreamId
  602. {
  603. public:
  604. TStreamId() {}
  605. inline TStreamId(TUint32 aValue);
  606. inline TBool operator==(TStreamId anId) const;
  607. inline TBool operator!=(TStreamId anId) const;
  608. inline void ExternalizeL(RWriteStream& aStream) const;
  609. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  610. inline TUint32 Value() const;
  611. private:
  612. TUint32 iVal;
  613. private:
  614. __declspec(dllexport) static void __DbgChkRange(TUint32 aValue);
  615. };
  616. class CStreamStore;
  617. class RStoreReadStream : public RReadStream
  618. {
  619. public:
  620. __declspec(dllexport) void OpenL(const CStreamStore& aStore,TStreamId anId);
  621. __declspec(dllexport) void OpenLC(const CStreamStore& aStore,TStreamId anId);
  622. };
  623. #line 84
  624. class RStoreWriteStream : public RWriteStream
  625. {
  626. public:
  627. RStoreWriteStream() {}
  628. inline RStoreWriteStream(const MExternalizer<TStreamRef>& anExter);
  629. __declspec(dllexport) TStreamId CreateL(CStreamStore& aStore);
  630. __declspec(dllexport) TStreamId CreateLC(CStreamStore& aStore);
  631. __declspec(dllexport) void OpenL(CStreamStore& aStore,TStreamId anId);
  632. __declspec(dllexport) void OpenLC(CStreamStore& aStore,TStreamId anId);
  633. __declspec(dllexport) void ReplaceL(CStreamStore& aStore,TStreamId anId);
  634. __declspec(dllexport) void ReplaceLC(CStreamStore& aStore,TStreamId anId);
  635. __declspec(dllexport) void AppendL(CStreamStore& aStore,TStreamId anId);
  636. __declspec(dllexport) void AppendLC(CStreamStore& aStore,TStreamId anId);
  637. };
  638. #line 115
  639. class TSwizzleCBase
  640. {
  641. public:
  642. inline TBool operator==(const TSwizzleCBase& aSwizzle) const;
  643. inline TBool operator==(const TAny* aPtr) const;
  644. inline TBool operator!=(const TSwizzleCBase& aSwizzle) const;
  645. inline TBool operator!=(const TAny* aPtr) const;
  646. inline TBool IsPtr() const;
  647. inline TBool IsId() const;
  648. __declspec(dllexport) TStreamId AsId() const;
  649. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  650. protected:
  651. TSwizzleCBase() {}
  652. inline TSwizzleCBase(const TAny* aPtr);
  653. __declspec(dllexport) TSwizzleCBase(TStreamId anId);
  654. inline TSwizzleCBase(TStreamRef aRef);
  655. inline const TAny* Ptr() const;
  656. __declspec(dllexport) void DoExternalizeL(RWriteStream& aStream,TExternalizer<TAny> anExter) const;
  657. private:
  658. __declspec(dllexport) static TBool IsPtrRep(const TAny* aPtr);
  659. __declspec(dllexport) static TBool IsIdRep(const TAny* aPtr);
  660. private:
  661. const TAny* iPtr;
  662. private:
  663. __declspec(dllexport) static void __DbgChkPtr(const TAny* aPtr);
  664. __declspec(dllexport) static void __DbgChkRef(TStreamRef aRef);
  665. };
  666. inline TBool operator==(const TAny* aPtr,const TSwizzleCBase& aSwizzle);
  667. inline TBool operator!=(const TAny* aPtr,const TSwizzleCBase& aSwizzle);
  668. #line 158
  669. class TSwizzleBase : public TSwizzleCBase
  670. {
  671. protected:
  672. TSwizzleBase() {}
  673. inline TSwizzleBase(TAny* aPtr);
  674. inline TSwizzleBase(TStreamId anId);
  675. inline TAny* Ptr() const;
  676. };
  677. #line 184
  678. template <class T>
  679. class TSwizzle : public TSwizzleBase
  680. {
  681. public:
  682. TSwizzle() {}
  683. inline TSwizzle(T* aPtr);
  684. inline TSwizzle(TStreamId anId);
  685. inline TSwizzle<T>& operator=(T* aPtr);
  686. inline T* AsPtr() const;
  687. inline operator T*() const;
  688. inline T& operator*() const;
  689. inline T* operator->() const;
  690. inline void ExternalizeL(RWriteStream& aStream) const;
  691. };
  692. #line 208
  693. template<> class TSwizzle<TAny> : public TSwizzleBase
  694. {
  695. public:
  696. TSwizzle() {}
  697. inline TSwizzle(TAny* aPtr);
  698. inline TSwizzle(TStreamId anId);
  699. inline TSwizzle(const TSwizzleBase& aSwizzle);
  700. inline TSwizzle<TAny>& operator=(TAny* aPtr);
  701. inline TSwizzle<TAny>& operator=(const TSwizzleBase& aSwizzle);
  702. inline TAny* AsPtr() const;
  703. inline operator TAny*() const;
  704. };
  705. #line 242
  706. template <class T>
  707. class TSwizzleC : public TSwizzleCBase
  708. {
  709. public:
  710. TSwizzleC() {}
  711. inline TSwizzleC(const T* aPtr);
  712. inline TSwizzleC(TStreamId anId);
  713. inline TSwizzleC(TSwizzle<T> aSwizzle);
  714. inline TSwizzleC<T>& operator=(const T* aPtr);
  715. inline const T* AsPtr() const;
  716. inline operator const T*() const;
  717. inline const T& operator*() const;
  718. inline const T* operator->() const;
  719. inline void ExternalizeL(RWriteStream& aStream) const;
  720. };
  721. template<> class TSwizzleC<TAny> : public TSwizzleCBase
  722. {
  723. public:
  724. TSwizzleC() {}
  725. inline TSwizzleC(const TAny* aPtr);
  726. inline TSwizzleC(TStreamId anId);
  727. inline TSwizzleC(const TSwizzleCBase& aSwizzle);
  728. inline TSwizzleC(TStreamRef aRef);
  729. inline TSwizzleC<TAny>& operator=(const TAny* aPtr);
  730. inline TSwizzleC<TAny>& operator=(const TSwizzleCBase& aSwizzle);
  731. inline const TAny* AsPtr() const;
  732. inline operator const TAny*() const;
  733. };
  734. #line 296
  735. class CStoreMap : public CBase,public MExternalizer<TStreamRef>
  736. {
  737. public:
  738. struct TEntry {TSwizzleC<TAny> swizzle;TStreamId id;};
  739. typedef const TEntry* TIterator;
  740. public:
  741. __declspec(dllexport) static CStoreMap* NewL(CStreamStore& aStore);
  742. __declspec(dllexport) static CStoreMap* NewLC(CStreamStore& aStore);
  743. __declspec(dllexport) CStoreMap(CStreamStore& aStore);
  744. __declspec(dllexport) ~CStoreMap();
  745. __declspec(dllexport) void BindL(TSwizzleC<TAny> aSwizzle,TStreamId anId);
  746. __declspec(dllexport) void Unbind(TSwizzleC<TAny> aSwizzle);
  747. __declspec(dllexport) void Forget(TStreamId anId);
  748. __declspec(dllexport) void Reset();
  749. __declspec(dllexport) void ResetAndDestroy();
  750. __declspec(dllexport) TStreamId At(TSwizzleC<TAny> aSwizzle) const;
  751. __declspec(dllexport) TSwizzleC<TAny> Label(TStreamId anId) const;
  752. __declspec(dllexport) TIterator Begin() const;
  753. __declspec(dllexport) TIterator End() const;
  754. private:
  755. void ExternalizeL(const TStreamRef& aRef,RWriteStream& aStream) const;
  756. private:
  757. CArrayFixFlat<TEntry> iArray;
  758. TStreamId iFree;
  759. CStreamStore* iStore;
  760. };
  761. #line 343
  762. class CStreamDictionary : public CBase
  763. {
  764. public:
  765. __declspec(dllexport) static CStreamDictionary* NewL();
  766. __declspec(dllexport) static CStreamDictionary* NewLC();
  767. __declspec(dllexport) CStreamDictionary();
  768. __declspec(dllexport) ~CStreamDictionary();
  769. __declspec(dllexport) void AssignL(TUid aUid,TStreamId anId);
  770. __declspec(dllexport) void Remove(TUid aUid);
  771. __declspec(dllexport) TStreamId At(TUid aUid) const;
  772. __declspec(dllexport) TBool IsNull() const;
  773. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  774. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  775. private:
  776. class TEntry
  777. {
  778. public:
  779. TEntry() {}
  780. inline TEntry(TUid aUid,TStreamId anId);
  781. void ExternalizeL(RWriteStream& aStream) const;
  782. void InternalizeL(RReadStream& aStream);
  783. public:
  784. TUid iUid;
  785. TStreamId iId;
  786. };
  787. private:
  788. CArrayFixSeg<TEntry> iArray;
  789. };
  790. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32std.inl" /* stack depth 7 */
  791. inline TStreamId::TStreamId(TUint32 aValue)
  792. : iVal(aValue)
  793. #line 22
  794. {
  795. __DbgChkRange(aValue);
  796. }
  797. inline TBool TStreamId::operator==(TStreamId anId) const
  798. {return iVal==anId.iVal;}
  799. inline TBool TStreamId::operator!=(TStreamId anId) const
  800. {return iVal!=anId.iVal;}
  801. inline void TStreamId::ExternalizeL(RWriteStream& aStream) const
  802. {
  803. __DbgChkRange(iVal);
  804. aStream<<iVal;
  805. }
  806. inline TUint32 TStreamId::Value() const
  807. {
  808. __DbgChkRange(iVal);
  809. return iVal;
  810. }
  811. inline RStoreWriteStream::RStoreWriteStream(const MExternalizer<TStreamRef>& anExter)
  812. : RWriteStream(anExter)
  813. {}
  814. inline TSwizzleCBase::TSwizzleCBase(TStreamRef aRef)
  815. : iPtr(aRef.Ptr())
  816. {
  817. __DbgChkRef(aRef);
  818.     }
  819. inline TBool TSwizzleCBase::operator==(const TSwizzleCBase& aSwizzle) const
  820. #line 97
  821. {return iPtr==aSwizzle.iPtr;}
  822. inline TBool TSwizzleCBase::operator==(const TAny* aPtr) const
  823. #line 110
  824. {return iPtr==aPtr;}
  825. inline TBool TSwizzleCBase::operator!=(const TSwizzleCBase& aSwizzle) const
  826. #line 126
  827. {return iPtr!=aSwizzle.iPtr;}
  828. inline TBool TSwizzleCBase::operator!=(const TAny* aPtr) const
  829. #line 139
  830. {return iPtr!=aPtr;}
  831. inline TBool TSwizzleCBase::IsPtr() const
  832. {return IsPtrRep(iPtr);}
  833. inline TBool TSwizzleCBase::IsId() const
  834. {return IsIdRep(iPtr);}
  835. inline TSwizzleCBase::TSwizzleCBase(const TAny* aPtr)
  836. : iPtr(aPtr)
  837. {
  838. __DbgChkPtr(aPtr);
  839.     }
  840. inline const TAny* TSwizzleCBase::Ptr() const
  841. {
  842. __DbgChkPtr(iPtr);
  843. return iPtr;
  844. }
  845. inline TBool operator==(const TAny* aPtr,const TSwizzleCBase& aSwizzle)
  846. {return aSwizzle==aPtr;}
  847. inline TBool operator!=(const TAny* aPtr,const TSwizzleCBase& aSwizzle)
  848. {return aSwizzle!=aPtr;}
  849. inline TSwizzleBase::TSwizzleBase(TAny* aPtr)
  850. : TSwizzleCBase(aPtr)
  851. {}
  852. inline TSwizzleBase::TSwizzleBase(TStreamId anId)
  853. : TSwizzleCBase(anId)
  854. {}
  855. inline TAny* TSwizzleBase::Ptr() const
  856. {return (TAny*)TSwizzleCBase::Ptr();}
  857. template <class T>
  858. inline TSwizzle<T>::TSwizzle(T* aPtr)
  859. : TSwizzleBase(aPtr)
  860. {}
  861. template <class T>
  862. inline TSwizzle<T>::TSwizzle(TStreamId anId)
  863. : TSwizzleBase(anId)
  864. {}
  865. template <class T>
  866. inline TSwizzle<T>& TSwizzle<T>::operator=(T* aPtr)
  867. {return *this=TSwizzle<T>(aPtr);}
  868. template <class T>
  869. inline T* TSwizzle<T>::AsPtr() const
  870. {return (T*)Ptr();}
  871. template <class T>
  872. inline TSwizzle<T>::operator T*() const
  873. {return AsPtr();}
  874. template <class T>
  875. inline T& TSwizzle<T>::operator*() const
  876. {return *AsPtr();}
  877. template <class T>
  878. inline T* TSwizzle<T>::operator->() const
  879. {return AsPtr();}
  880. template <class T>
  881. inline void TSwizzle<T>::ExternalizeL(RWriteStream& aStream) const
  882. #line 252
  883. {TSwizzleBase::DoExternalizeL(aStream,TExternalizer<T>::Function());}
  884. inline TSwizzle<TAny>::TSwizzle(TAny* aPtr)
  885. : TSwizzleBase(aPtr)
  886. {}
  887. inline TSwizzle<TAny>::TSwizzle(TStreamId anId)
  888. : TSwizzleBase(anId)
  889. {}
  890. inline TSwizzle<TAny>::TSwizzle(const TSwizzleBase& aSwizzle)
  891. : TSwizzleBase(aSwizzle)
  892. {}
  893. inline TSwizzle<TAny>& TSwizzle<TAny>::operator=(TAny* aPtr)
  894. {return *this=TSwizzle<TAny>(aPtr);}
  895. inline TSwizzle<TAny>& TSwizzle<TAny>::operator=(const TSwizzleBase& aSwizzle)
  896. {return *this=TSwizzle<TAny>(aSwizzle);}
  897. inline TAny* TSwizzle<TAny>::AsPtr() const
  898. {return Ptr();}
  899. inline TSwizzle<TAny>::operator TAny*() const
  900. {return AsPtr();}
  901. template <class T>
  902. inline TSwizzleC<T>::TSwizzleC(const T* aPtr)
  903. : TSwizzleCBase(aPtr)
  904. {}
  905. template <class T>
  906. inline TSwizzleC<T>::TSwizzleC(TStreamId anId)
  907. : TSwizzleCBase(anId)
  908. {}
  909. template <class T>
  910. inline TSwizzleC<T>::TSwizzleC(TSwizzle<T> aSwizzle)
  911. : TSwizzleCBase(aSwizzle)
  912. #line 328
  913. {}
  914. template <class T>
  915. inline TSwizzleC<T>& TSwizzleC<T>::operator=(const T* aPtr)
  916. {return *this=TSwizzleC<T>(aPtr);}
  917. template <class T>
  918. inline const T* TSwizzleC<T>::AsPtr() const
  919. #line 350
  920. {return (const T*)Ptr();}
  921. template <class T>
  922. inline TSwizzleC<T>::operator const T*() const
  923. {return AsPtr();}
  924. template <class T>
  925. inline const T& TSwizzleC<T>::operator*() const
  926. {return *AsPtr();}
  927. template <class T>
  928. inline const T* TSwizzleC<T>::operator->() const
  929. #line 373
  930. {return AsPtr();}
  931. template <class T>
  932. inline void TSwizzleC<T>::ExternalizeL(RWriteStream& aStream) const
  933. #line 393
  934. {TSwizzleCBase::DoExternalizeL(aStream,TExternalizer<T>::Function());}
  935. inline TSwizzleC<TAny>::TSwizzleC(const TAny* aPtr)
  936. : TSwizzleCBase(aPtr)
  937. {}
  938. inline TSwizzleC<TAny>::TSwizzleC(TStreamId anId)
  939. : TSwizzleCBase(anId)
  940. {}
  941. inline TSwizzleC<TAny>::TSwizzleC(const TSwizzleCBase& aSwizzle)
  942. : TSwizzleCBase(aSwizzle)
  943. {}
  944. inline TSwizzleC<TAny>::TSwizzleC(TStreamRef aRef)
  945. : TSwizzleCBase(aRef)
  946.   {}
  947. inline TSwizzleC<TAny>& TSwizzleC<TAny>::operator=(const TAny* aPtr)
  948. {return *this=TSwizzleC<TAny>(aPtr);}
  949. inline TSwizzleC<TAny>& TSwizzleC<TAny>::operator=(const TSwizzleCBase& aSwizzle)
  950. {return *this=TSwizzleC<TAny>(aSwizzle);}
  951. inline const TAny* TSwizzleC<TAny>::AsPtr() const
  952. {return Ptr();}
  953. inline TSwizzleC<TAny>::operator const TAny*() const
  954. {return AsPtr();}
  955. #line 375 "C:\Symbian\9.1\S60_3rd\epoc32\include\s32std.h" /* stack depth 6 */
  956. #line 21 "C:\Symbian\9.1\S60_3rd\epoc32\include\gdi.h" /* stack depth 5 */
  957. const TInt KDefaultScreenNo = 0;
  958. class TOpenFontCharMetrics;
  959. const TInt KTwipsPerInch=1440;
  960. const TInt KTwipsPerPoint=20;
  961. const TInt KPointsPerInch=72;
  962. const TInt KTwipsPerCm=567;
  963. #line 131
  964. enum TGdiPanic
  965. {
  966. EGdiPanic_Unknown = 0,
  967. EGdiPanic_InvalidInputParam = 1,
  968. EGdiPanic_OutOfText = 2,
  969. EGdiPanic_Invariant = 3
  970. };
  971. #line 178
  972. class TRgb
  973. {
  974. public:
  975. inline TRgb();
  976. inline TRgb(TUint32 aValue);
  977. inline TRgb(TUint32 aInternalValue, TInt aAlpha);
  978. inline TRgb(TInt aRed,TInt aGreen,TInt aBlue);
  979. inline TRgb(TInt aRed, TInt aGreen, TInt aBlue, TInt aAlpha);
  980. inline TInt Red() const;
  981. inline TInt Green() const;
  982. inline TInt Blue() const;
  983. inline TInt Alpha() const;
  984. __declspec(dllexport) void SetRed(TInt aRed);
  985. __declspec(dllexport) void SetGreen(TInt aGreen);
  986. __declspec(dllexport) void SetBlue(TInt aBlue);
  987. __declspec(dllexport) void SetAlpha(TInt aAlpha);
  988. __declspec(dllexport) static TRgb Gray2(TInt aGray2);
  989. __declspec(dllexport) static TRgb Gray4(TInt aGray4);
  990. __declspec(dllexport) static TRgb Gray16(TInt aGray16);
  991. __declspec(dllexport) static TRgb Gray256(TInt aGray256);
  992. __declspec(dllexport) static TRgb Color16(TInt aColor16);
  993. __declspec(dllexport) static TRgb Color256(TInt aColor256);
  994. __declspec(dllexport) static TRgb Color4K(TInt aColor4K);
  995. __declspec(dllexport) static TRgb Color64K(TInt aColor64K);
  996. __declspec(dllexport) static TRgb Color16M(TInt aColor16M);
  997. __declspec(dllexport) TInt Gray2() const;
  998. __declspec(dllexport) TInt Gray4() const;
  999. __declspec(dllexport) TInt Gray16() const;
  1000. __declspec(dllexport) TInt Gray256() const;
  1001. __declspec(dllexport) TInt Color16() const;
  1002. __declspec(dllexport) TInt Color256() const;
  1003. __declspec(dllexport) TInt Color4K() const;
  1004. __declspec(dllexport) TInt Color64K() const;
  1005. __declspec(dllexport) TInt Color16M() const;
  1006. inline TBool operator==(const TRgb& aColor) const;
  1007. inline TBool operator!=(const TRgb& aColor) const;
  1008. inline TRgb operator~() const;
  1009. inline TRgb operator&(const TRgb& aColor);
  1010. inline TRgb operator|(const TRgb& aColor);
  1011. inline TRgb operator^(const TRgb& aColor);
  1012. inline TRgb& operator&=(const TRgb& aColor);
  1013. inline TRgb& operator|=(const TRgb& aColor);
  1014. inline TRgb& operator^=(const TRgb& aColor);
  1015. inline TUint32 Value() const;
  1016. inline TUint32 Internal() const;
  1017. inline void SetInternal(TUint32 aInternal);
  1018. __declspec(dllexport) TInt Difference(const TRgb& aColor) const;
  1019. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1020. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  1021. __declspec(dllexport) static TRgb Color16MU(TInt a0RGB);
  1022. __declspec(dllexport) TInt Color16MU() const;
  1023. __declspec(dllexport) static TRgb Color16MA(TUint aARGB);
  1024. __declspec(dllexport) TUint Color16MA() const;
  1025. inline TInt _Gray2() const;
  1026. inline TInt _Gray4() const;
  1027. inline TInt _Gray16() const;
  1028. inline TInt _Gray256() const;
  1029. inline TInt _Color4K() const;
  1030. inline TInt _Color64K() const;
  1031. inline TInt _Color16M() const;
  1032. inline TInt _Color16MU() const;
  1033. inline TUint _Color16MA() const;
  1034. inline static TRgb _Gray2(TInt aGray2);
  1035. inline static TRgb _Gray4(TInt aGray4);
  1036. inline static TRgb _Gray16(TInt aGray16);
  1037. inline static TRgb _Gray256(TInt aGray256);
  1038. inline static TRgb _Color4K(TInt aColor4K);
  1039. inline static TRgb _Color64K(TInt aColor64K);
  1040. inline static TRgb _Color16M(TInt aColor16M);
  1041. inline static TRgb _Color16MU(TInt a0RGB);
  1042. inline static TRgb _Color16MA(TUint aARGB);
  1043. private:
  1044. TUint32 iValue;
  1045. };
  1046. #line 279
  1047. enum TDisplayMode
  1048. {
  1049. ENone,
  1050. EGray2,
  1051. EGray4,
  1052. EGray16,
  1053. EGray256,
  1054. EColor16,
  1055. EColor256,
  1056. EColor64K,
  1057. EColor16M,
  1058. ERgb,
  1059. EColor4K,
  1060. EColor16MU,
  1061. EColor16MA,
  1062. EColorLast
  1063. };
  1064. class TDisplayModeUtils
  1065. {
  1066. public:
  1067. __declspec(dllexport) static TBool IsDisplayModeColor(TDisplayMode aDispMode);
  1068. __declspec(dllexport) static TInt NumDisplayModeColors(TDisplayMode aDispMode);
  1069. __declspec(dllexport) static TInt NumDisplayModeBitsPerPixel(TDisplayMode aDispMode);
  1070. };
  1071. #line 351
  1072. class CPalette : public CBase
  1073. {
  1074. public:
  1075. __declspec(dllexport) static CPalette* NewL(TInt aNumberOfEntries);
  1076. __declspec(dllexport) static CPalette* NewDefaultL(TDisplayMode aDispMode);
  1077. __declspec(dllexport) ~CPalette();
  1078. __declspec(dllexport) void Clear();
  1079. inline TInt Entries() const;
  1080. __declspec(dllexport) TRgb GetEntry(TInt aPaletteIndex) const;
  1081. __declspec(dllexport) TRgb NearestEntry(const TRgb& aColor) const;
  1082. __declspec(dllexport) TInt NearestIndex(const TRgb& aColor) const;
  1083. __declspec(dllexport) void SetEntry(TInt aPaletteIndex,const TRgb& aPaletteEntry);
  1084. __declspec(dllexport) void GetDataPtr(TInt aFirstColor,TInt aNumColors,TPtr8& aPtr);
  1085. protected:
  1086. __declspec(dllexport) CPalette();
  1087. void ConstructL(TInt aNumberOfEntries);
  1088. protected:
  1089. TRgb* iArray;
  1090. TInt iNumEntries;
  1091. };
  1092. class TColor256Util
  1093. {
  1094. public:
  1095. __declspec(dllexport) void Construct(const CPalette& aPalette);
  1096. __declspec(dllexport) TInt Color256(TRgb aRgb) const;
  1097. __declspec(dllexport) void Color256(TUint8* aDestination,const TRgb* aSource,TInt aNumPixels) const;
  1098. inline TRgb Color256(TInt aColor256) const;
  1099. __declspec(dllexport) static const TColor256Util* Default();
  1100. public:
  1101. TUint32 iColorTable[256];
  1102. #line 404
  1103. TUint8 iInverseColorTable[0x1000];
  1104. };
  1105. #line 419
  1106. class TLinearDDA
  1107. {
  1108. public:
  1109. enum TLineMode
  1110. {
  1111. ECenter,
  1112. ELeft
  1113. };
  1114. public:
  1115. __declspec(dllexport) TLinearDDA();
  1116. __declspec(dllexport) TLinearDDA(const TLinearDDA& aLine);
  1117. __declspec(dllexport) void Construct(const TPoint& aStart,const TPoint& aFinish,TLineMode aMode=ECenter);
  1118. __declspec(dllexport) TBool SingleStep(TPoint& aPosition);
  1119. __declspec(dllexport) TBool SingleScanline(TPoint& aStartPosition,TPoint& aEndPosition);
  1120. __declspec(dllexport) TBool NextStep(TPoint& aPosition);
  1121. __declspec(dllexport) void JumpToRect(const TRect& aRect);
  1122. __declspec(dllexport) void JumpToXCoord(const TInt aXCoord,TInt& aYCoord);
  1123. __declspec(dllexport) void JumpToYCoord(TInt& aXCoord,const TInt aYCoord);
  1124. private:
  1125. void UpdatePosition();
  1126. private:
  1127. enum TLineStatus
  1128. {
  1129. EInitialised,
  1130. ECurrent,
  1131. EComplete
  1132. };
  1133. private:
  1134. TInt iCount;
  1135. TSize iDifference;
  1136. TPoint iFinish;
  1137. TInt iGradient;
  1138. TPoint iInc;
  1139. TPoint iPos;
  1140. TPoint iStart;
  1141. TRect iBoundingRect;
  1142. TBool iBoundingRectSet;
  1143. TBool iInside;
  1144. TLineStatus iStatus;
  1145. };
  1146. #line 471
  1147. enum TFontPosture
  1148. {
  1149. EPostureUpright,
  1150. EPostureItalic
  1151. };
  1152. enum TFontStrokeWeight
  1153. {
  1154. EStrokeWeightNormal,
  1155. EStrokeWeightBold
  1156. };
  1157. enum TFontPrintPosition
  1158. {
  1159. EPrintPosNormal,
  1160. EPrintPosSuperscript,
  1161. EPrintPosSubscript
  1162. };
  1163. enum TFontUnderline
  1164. {
  1165. EUnderlineOff,
  1166. EUnderlineOn
  1167. };
  1168. enum TFontStrikethrough
  1169. {
  1170. EStrikethroughOff,
  1171. EStrikethroughOn
  1172. };
  1173. const TInt KMaxTypefaceNameLength=0x18;
  1174. #line 556
  1175. class TTypeface
  1176.     {
  1177. public:
  1178. enum
  1179. {
  1180. EProportional=1,
  1181. ESerif=2,
  1182. ESymbol=4
  1183. };
  1184. public:
  1185. __declspec(dllexport) TTypeface();
  1186. __declspec(dllexport) TBool operator==(const TTypeface& aTypeface) const;
  1187. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1188. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  1189. __declspec(dllexport) void SetAttributes(TInt aMask);
  1190. __declspec(dllexport) void SetIsProportional(TBool aIsProportional);
  1191. __declspec(dllexport) void SetIsSerif(TBool aIsSerif);
  1192. __declspec(dllexport) void SetIsSymbol(TBool aIsSymbol);
  1193. __declspec(dllexport) TInt Attributes() const;
  1194. __declspec(dllexport) TBool IsProportional() const;
  1195. __declspec(dllexport) TBool IsSerif() const;
  1196. __declspec(dllexport) TBool IsSymbol() const;
  1197. public:
  1198.     TBufC<KMaxTypefaceNameLength> iName;
  1199. private:
  1200.     TUint32 iFlags;
  1201.     };
  1202. #line 600
  1203. enum TGlyphBitmapType
  1204. {
  1205. EDefaultGlyphBitmap = 0,
  1206. EMonochromeGlyphBitmap,
  1207. EAntiAliasedGlyphBitmap
  1208. };
  1209. #line 618
  1210. class FontEffect
  1211. {
  1212. public:
  1213. enum TEffect
  1214. {
  1215. ENone = 0x0,
  1216. EAlgorithmicBold= 0x10,
  1217. EDropShadow = 0x20,
  1218. EOutline = 0x40,
  1219. EEmbossed = 0x80,
  1220. EEngraved      = 0x100,
  1221. ESoftEdge = 0x200,
  1222. EUserDefined1 = 0x400,
  1223. EUserDefined2 = 0x800,
  1224. EUserDefined3 = 0x1000,
  1225. EUserDefined4 = 0x2000,
  1226. EUserDefined5 = 0x4000,
  1227. EUserDefined6 = 0x8000,
  1228. };
  1229. public:
  1230. __declspec(dllexport) static TBool IsEffectOn(TEffect aEffect, TUint32 aFontEffect);
  1231. __declspec(dllexport) static void SetEffect(TEffect aEffect, TBool aOn, TUint32& aFontEffect);
  1232. };
  1233. #line 661
  1234. class TFontStyle
  1235. {
  1236. public:
  1237. __declspec(dllexport) TFontStyle();
  1238. __declspec(dllexport) TFontStyle(TFontPosture aPost,TFontStrokeWeight aStrWgt,TFontPrintPosition aPrintPos);
  1239. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1240. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  1241. __declspec(dllexport) TFontPosture Posture() const;
  1242. __declspec(dllexport) TFontStrokeWeight StrokeWeight() const;
  1243. __declspec(dllexport) TFontPrintPosition PrintPosition() const;
  1244. __declspec(dllexport) void SetPosture(TFontPosture aPosture);
  1245. __declspec(dllexport) void SetStrokeWeight(TFontStrokeWeight aStrokeWeight);
  1246. __declspec(dllexport) void SetPrintPosition(TFontPrintPosition aPrintPosition);
  1247. inline TGlyphBitmapType BitmapType() const;
  1248. inline void SetBitmapType(TGlyphBitmapType aBitmapType);
  1249. inline TBool operator==(const TFontStyle& aFontStyle) const;
  1250. __declspec(dllexport) TUint32 Effects() const;
  1251. __declspec(dllexport) TBool IsEffectOn(FontEffect::TEffect aEffect) const;
  1252. __declspec(dllexport) void SetEffects(TUint32 aEffects);
  1253. __declspec(dllexport) void SetEffects(FontEffect::TEffect aEffect, TBool aOn);
  1254. private:
  1255. enum
  1256. {
  1257. EItalic=0x1,
  1258. EBold=0x2,
  1259. ESuper=0x4,
  1260. ESub=0x8
  1261. };
  1262. private:
  1263. TUint32 iFlags;
  1264. TAny* iReserved1;
  1265. TAny* iReserved2;
  1266. };
  1267. #line 703
  1268. class TFontSpec
  1269. {
  1270. public:
  1271. __declspec(dllexport) TFontSpec();
  1272. __declspec(dllexport) TFontSpec(const TDesC& aTypefaceName,TInt aHeight);
  1273. __declspec(dllexport) TBool operator==(const TFontSpec& aFontSpec) const;
  1274. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1275. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  1276. public:
  1277. TTypeface iTypeface;
  1278. TInt iHeight;
  1279. TFontStyle iFontStyle;
  1280. };
  1281. #line 731
  1282. class TTypefaceSupport
  1283.     {
  1284. public:
  1285.     TTypeface iTypeface;
  1286.     TInt iNumHeights;
  1287.     TInt iMinHeightInTwips;
  1288.     TInt iMaxHeightInTwips;
  1289.     TBool iIsScalable;
  1290.     };
  1291. const TInt KSuperSubScalingPercentage=67;
  1292. const TInt KSuperscriptOffsetPercentage=-28;
  1293. const TInt KSubscriptOffsetPercentage=14;
  1294. class CFont;
  1295. #line 783
  1296. class CTypefaceStore : public CBase
  1297. {
  1298. public:
  1299. __declspec(dllexport) ~CTypefaceStore();
  1300. #line 801
  1301. virtual TInt GetNearestFontInTwips(CFont*& aFont, const TFontSpec& aFontSpec) = 0;
  1302. #line 815
  1303. virtual TInt GetNearestFontToDesignHeightInTwips(CFont*& aFont, const TFontSpec& aFontSpec) = 0;
  1304. #line 836
  1305. virtual TInt GetNearestFontToMaxHeightInTwips(CFont*& aFont, const TFontSpec& aFontSpec, TInt aMaxHeight) = 0;
  1306. virtual TInt NumTypefaces() const=0;
  1307. #line 854
  1308. virtual void TypefaceSupport(TTypefaceSupport& aTypefaceSupport,TInt aTypefaceIndex) const=0;
  1309. #line 865
  1310. virtual TInt FontHeightInTwips(TInt aTypefaceIndex,TInt aHeightIndex) const=0;
  1311. __declspec(dllexport) void ReleaseFont(CFont* aFont);
  1312. __declspec(dllexport) static TInt BaselineOffset(TInt aHeight,TFontPrintPosition aPos);
  1313. __declspec(dllexport) static TInt SuperSubHeight(TInt aHeight,TFontPrintPosition aPos);
  1314. protected:
  1315. __declspec(dllexport) CTypefaceStore();
  1316. __declspec(dllexport) void ConstructL();
  1317. __declspec(dllexport) void AddFontL(CFont* aFont);
  1318. protected:
  1319. class TFontAccess
  1320. {
  1321. public:
  1322. CFont* iFont;
  1323. TInt iAccessCount;
  1324. };
  1325. protected:
  1326. #line 896
  1327. CArrayFixFlat<TFontAccess> * iFontAccess;
  1328. };
  1329. const TInt KMaxFontCacheEntries=32;
  1330. #line 919
  1331. class CFontCache : public CBase
  1332. {
  1333. public:
  1334. __declspec(dllexport) CFontCache();
  1335. __declspec(dllexport) CFontCache(TInt aMaxEntries);
  1336. __declspec(dllexport) ~CFontCache();
  1337. __declspec(dllexport) CFont* Search(const TFontSpec& aFontSpec);
  1338. __declspec(dllexport) CFont* AddEntryL(CFont* aFont,const TFontSpec& aFontSpec);
  1339. __declspec(dllexport) CFont* RemoveFirstEntry();
  1340. public:
  1341. TInt iNumHits;
  1342. TInt iNumMisses;
  1343. private:
  1344. class CFontCacheEntry : public CBase
  1345. {
  1346. public:
  1347. CFontCacheEntry(CFont* aFont,const TFontSpec& aFontSpec,CFontCacheEntry* aNext);
  1348. public:
  1349. CFont* iFont;
  1350. TFontSpec iSpec;
  1351. CFontCacheEntry* iNext;
  1352. };
  1353. private:
  1354. TInt iNumEntries;
  1355. TInt iMaxEntries;
  1356. CFontCacheEntry* iFirst;
  1357. };
  1358. #line 960
  1359. class MGraphicsDeviceMap
  1360.     {
  1361. public:
  1362. __declspec(dllexport) MGraphicsDeviceMap();
  1363. __declspec(dllexport) virtual ~MGraphicsDeviceMap();
  1364. __declspec(dllexport) TPoint TwipsToPixels(const TPoint& aTwipPoint) const;
  1365. __declspec(dllexport) TRect TwipsToPixels(const TRect& aTwipRect) const;
  1366. __declspec(dllexport) TPoint PixelsToTwips(const TPoint& aPixelPoint) const;
  1367. __declspec(dllexport) TRect PixelsToTwips(const TRect& aPixelRect) const;
  1368. virtual TInt HorizontalTwipsToPixels(TInt aTwips) const=0;
  1369. virtual TInt VerticalTwipsToPixels(TInt aTwips) const=0;
  1370. virtual TInt HorizontalPixelsToTwips(TInt aPixels) const=0;
  1371. virtual TInt VerticalPixelsToTwips(TInt aPixels) const=0;
  1372. #line 1016
  1373. virtual TInt GetNearestFontInTwips(CFont*& aFont,const TFontSpec& aFontSpec)=0;
  1374. #line 1034
  1375. virtual TInt GetNearestFontToDesignHeightInTwips(CFont*& , const TFontSpec& ){return 0;}
  1376. #line 1056
  1377. virtual TInt GetNearestFontToMaxHeightInTwips(CFont*& , const TFontSpec& , TInt ){return 0;}
  1378. #line 1068
  1379. virtual void ReleaseFont(CFont* aFont)=0;
  1380.     };
  1381. class CGraphicsContext;
  1382. #line 1083
  1383. class CGraphicsDevice : public CBase , public MGraphicsDeviceMap
  1384.     {
  1385. public:
  1386. virtual TDisplayMode DisplayMode() const=0;
  1387. virtual TSize SizeInPixels() const=0;
  1388. virtual TSize SizeInTwips() const=0;
  1389.     virtual TInt CreateContext(CGraphicsContext*& aGC)=0;
  1390.     virtual TInt NumTypefaces() const=0;
  1391. #line 1129
  1392.     virtual void TypefaceSupport(TTypefaceSupport& aTypefaceSupport,TInt aTypefaceIndex) const=0;
  1393. #line 1143
  1394. virtual TInt FontHeightInTwips(TInt aTypefaceIndex,TInt aHeightIndex) const=0;
  1395. virtual void PaletteAttributes(TBool& aModifiable,TInt& aNumEntries) const=0;
  1396. virtual void SetPalette(CPalette* aPalette)=0;
  1397. virtual TInt GetPalette(CPalette*& aPalette) const=0;
  1398.     };
  1399. #line 1175
  1400. class TCodeSection
  1401. {
  1402. public:
  1403. TInt iStart;
  1404. TInt iEnd;
  1405. };
  1406. const TUid KFontCapitalAscent = {0x1020498E};
  1407. const TUid KFontMaxAscent = {0x10204B10};
  1408. const TUid KFontStandardDescent = {0x10204B11};
  1409. const TUid KFontMaxDescent = {0x10205AFC};
  1410. const TUid KFontLineGap = {0x10204B12};
  1411. #line 1209
  1412. class CFont : public CBase
  1413. {
  1414. friend class CTypefaceStore;
  1415. public:
  1416. #line 1221
  1417. enum TTextDirection
  1418. {
  1419. EHorizontal,
  1420. EVertical
  1421. };
  1422. #line 1240
  1423. class TPositionParam
  1424. {
  1425. public:
  1426. TPositionParam():
  1427. iDirection(EHorizontal),
  1428. iFlags(0),
  1429. iPosInText(0),
  1430. iOutputGlyphs(0)
  1431. {
  1432. }
  1433. enum
  1434. {
  1435. EMaxInputChars = 18,
  1436. EMaxOutputGlyphs = 8
  1437. };
  1438. enum TFlags
  1439. {
  1440. EFLogicalOrder = 1
  1441. };
  1442. TInt16 iDirection;
  1443. TUint16 iFlags;
  1444. TPtrC iText;
  1445. TInt iPosInText;
  1446. TPoint iPen;
  1447. class TOutput
  1448. {
  1449. public:
  1450. TOutput() : iBitmapSize(TSize::EUninitialized),
  1451. iBounds(TRect::EUninitialized) {}
  1452. TUint iCode;
  1453. const TUint8* iBitmap;
  1454. TSize iBitmapSize;
  1455. TRect iBounds;
  1456. };
  1457. TOutput iOutput[EMaxOutputGlyphs];
  1458. TInt iOutputGlyphs;
  1459. };
  1460. #line 1317
  1461. class TMeasureTextInput
  1462. {
  1463. public:
  1464. TMeasureTextInput():
  1465. iStartInputChar(0),
  1466. iEndInputChar(KMaxTInt),
  1467. iDirection(EHorizontal),
  1468. iFlags(0),
  1469. iMaxAdvance(KMaxTInt),
  1470. iMaxBounds(KMaxTInt),
  1471. iCharJustNum(0),
  1472. iCharJustExcess(0),
  1473. iWordJustNum(0),
  1474. iWordJustExcess(0)
  1475. {
  1476. }
  1477. enum TFlags
  1478. {
  1479. EFVisualOrder = 1
  1480. };
  1481. TInt iStartInputChar;
  1482. TInt iEndInputChar;
  1483. TUint16 iDirection;
  1484. TUint16 iFlags;
  1485. TInt iMaxAdvance;
  1486. TInt iMaxBounds;
  1487. TInt iCharJustNum;
  1488. TInt iCharJustExcess;
  1489. TInt iWordJustNum;
  1490. TInt iWordJustExcess;
  1491. };
  1492. #line 1389
  1493. class TMeasureTextOutput
  1494. {
  1495. public:
  1496. TInt iChars;
  1497. TInt iGlyphs;
  1498. TInt iGroups;
  1499. TInt iSpaces;
  1500. TRect iBounds;
  1501. TSize iMaxGlyphSize;
  1502. };
  1503. #line 1422
  1504. enum TCharacterDataAvailability
  1505. {
  1506. ENoCharacterData,
  1507. ECharacterWidthOnly,
  1508. EAllCharacterData
  1509. };
  1510. private:
  1511. virtual TUid DoTypeUid() const=0;
  1512. virtual TInt DoHeightInPixels() const=0;
  1513. virtual TInt DoAscentInPixels() const=0;
  1514. __declspec(dllexport) virtual TInt DoDescentInPixels() const;
  1515. virtual TInt DoCharWidthInPixels(TChar aChar) const=0;
  1516. virtual TInt DoTextWidthInPixels(const TDesC& aText) const=0;
  1517. virtual TInt DoBaselineOffsetInPixels() const=0;
  1518. virtual TInt DoTextCount(const TDesC& aText,TInt aWidthInPixels) const=0;
  1519. virtual TInt DoTextCount(const TDesC& aText,TInt aWidthInPixels,TInt& aExcessWidthInPixels) const=0;
  1520. virtual TInt DoMaxCharWidthInPixels() const=0;
  1521. virtual TInt DoMaxNormalCharWidthInPixels() const=0;
  1522. virtual TFontSpec DoFontSpecInTwips() const=0;
  1523. protected:
  1524. __declspec(dllexport) virtual TCharacterDataAvailability DoGetCharacterData(TUint aCode, TOpenFontCharMetrics& aMetrics,const TUint8*& aBitmap,TSize& aBitmapSize) const;
  1525. __declspec(dllexport) virtual TBool DoGetCharacterPosition(TPositionParam& aParam) const;
  1526. __declspec(dllexport) virtual TInt DoExtendedFunction(TUid aFunctionId, TAny* aParam = 0 ) const;
  1527. protected:
  1528. __declspec(dllexport) virtual ~CFont();
  1529. public:
  1530. inline TInt FontCapitalAscent() const;
  1531. inline TInt FontMaxAscent() const;
  1532. inline TInt FontStandardDescent() const;
  1533. inline TInt FontMaxDescent() const;
  1534. inline TInt FontLineGap() const;
  1535. inline TInt FontMaxHeight() const;
  1536. public:
  1537. #line 1475
  1538. __declspec(dllexport) TUid TypeUid() const;
  1539. __declspec(dllexport) TInt HeightInPixels() const;
  1540. __declspec(dllexport) TInt AscentInPixels() const;
  1541. __declspec(dllexport) TInt DescentInPixels() const;
  1542. __declspec(dllexport) TInt CharWidthInPixels(TChar aChar) const;
  1543. __declspec(dllexport) TInt TextWidthInPixels(const TDesC& aText) const;
  1544. __declspec(dllexport) TInt BaselineOffsetInPixels() const;
  1545. #line 1528
  1546. __declspec(dllexport) TInt TextCount(const TDesC& aText,TInt aWidthInPixels) const;
  1547. #line 1544
  1548. __declspec(dllexport) TInt TextCount(const TDesC& aText,TInt aWidthInPixels,TInt& aExcessWidthInPixels) const;
  1549. __declspec(dllexport) TInt MaxCharWidthInPixels() const;
  1550. __declspec(dllexport) TInt MaxNormalCharWidthInPixels() const;
  1551. __declspec(dllexport) TFontSpec FontSpecInTwips() const;
  1552. __declspec(dllexport) TCharacterDataAvailability GetCharacterData(TUint aCode, TOpenFontCharMetrics& aMetrics,const TUint8*& aBitmap,TSize& aBitmapSize) const;
  1553. __declspec(dllexport) TBool GetCharacterPosition(TPositionParam& aParam) const;
  1554. __declspec(dllexport) TInt WidthZeroInPixels() const;
  1555. __declspec(dllexport) TInt MeasureText(const TDesC& aText, const TMeasureTextInput* aInput = 0 , TMeasureTextOutput* aOutput = 0 ) const;
  1556. __declspec(dllexport) static TBool CharactersJoin(TInt aLeftCharacter, TInt aRightCharacter);
  1557. __declspec(dllexport) TInt ExtendedFunction(TUid aFunctionId, TAny* aParam = 0 ) const;
  1558. };
  1559. class CFbsBitmap;
  1560. class CWsBitmap;
  1561. #line 1602
  1562. class CGraphicsContext : public CBase
  1563. {
  1564. public:
  1565. enum TTextAlign
  1566. {
  1567. ELeft,
  1568. ECenter,
  1569. ERight
  1570. };
  1571. #line 1628
  1572. enum TDrawModeComponents
  1573. {
  1574. EInvertScreen=1,
  1575. EXor=2,
  1576. EOr=4,
  1577. EAnd=8,
  1578. ELogicalOp=14,
  1579. EInvertPen=16,
  1580. EPenmode=32,
  1581. EWriteAlpha=64,
  1582. };
  1583. #line 1682
  1584. enum TDrawMode
  1585. {
  1586. EDrawModeAND=EAnd,
  1587. EDrawModeNOTAND=EInvertScreen|EAnd,
  1588. EDrawModePEN=EPenmode,
  1589. EDrawModeANDNOT=EAnd|EInvertPen,
  1590. EDrawModeXOR=EXor,
  1591. EDrawModeOR=EOr,
  1592. EDrawModeNOTANDNOT=EInvertScreen|EAnd|EInvertPen,
  1593. EDrawModeNOTXOR=EInvertScreen|EXor,
  1594. EDrawModeNOTSCREEN=EInvertScreen,
  1595. EDrawModeNOTOR=EInvertScreen|EOr,
  1596. EDrawModeNOTPEN=EInvertPen|EPenmode,
  1597. EDrawModeORNOT=EOr|EInvertPen,
  1598. EDrawModeNOTORNOT=EInvertScreen|EOr|EInvertPen,
  1599. EDrawModeWriteAlpha=EWriteAlpha,
  1600. };
  1601. #line 1730
  1602. enum TPenStyle
  1603. {
  1604. ENullPen,
  1605. ESolidPen,
  1606. EDottedPen,
  1607. EDashedPen,
  1608. EDotDashPen,
  1609. EDotDotDashPen
  1610. };
  1611. enum TBrushStyle
  1612. {
  1613. ENullBrush,
  1614. ESolidBrush,
  1615. EPatternedBrush,
  1616. EVerticalHatchBrush,
  1617. EForwardDiagonalHatchBrush,
  1618. EHorizontalHatchBrush,
  1619. ERearwardDiagonalHatchBrush,
  1620. ESquareCrossHatchBrush,
  1621. EDiamondCrossHatchBrush
  1622. };
  1623. #line 1799
  1624. enum TFillRule
  1625. {
  1626. EAlternate,
  1627. EWinding
  1628. };
  1629. struct TDrawTextParam
  1630. {
  1631. public:
  1632. TDrawTextParam():
  1633. iDirection(CFont::EHorizontal),
  1634. iCharJustNum(0),
  1635. iCharJustExcess(0),
  1636. iWordJustNum(0),
  1637. iWordJustExcess(0)
  1638. {}
  1639. public:
  1640. CFont::TTextDirection iDirection;
  1641. TInt iCharJustNum;
  1642. TInt iCharJustExcess;
  1643. TInt iWordJustNum;
  1644. TInt iWordJustExcess;
  1645. };
  1646. struct TDrawTextExtendedParam : public TDrawTextParam
  1647. {
  1648. public:
  1649. TDrawTextExtendedParam():
  1650. iParRightToLeft(EFalse)
  1651. {}
  1652. public:
  1653. TBool iParRightToLeft;
  1654. };
  1655. public:
  1656. virtual CGraphicsDevice* Device() const=0;
  1657. virtual void SetOrigin(const TPoint& aPos=TPoint(0,0))=0;
  1658. #line 1912
  1659. virtual void SetDrawMode(TDrawMode aDrawingMode)=0;
  1660. virtual void SetClippingRect(const TRect& aRect)=0;
  1661. virtual void CancelClippingRect()=0;
  1662. #line 1941
  1663. virtual void Reset()=0;
  1664. #line 1964
  1665. virtual void UseFont(const CFont* aFont)=0;
  1666. virtual void DiscardFont()=0;
  1667. virtual void SetUnderlineStyle(TFontUnderline aUnderlineStyle)=0;
  1668. virtual void SetStrikethroughStyle(TFontStrikethrough aStrikethroughStyle)=0;
  1669. __declspec(dllexport) static TInt JustificationInPixels(TInt aExcessPixels,TInt aTotalUnits,TInt aFirstUnit,TInt aNumUnits);
  1670. __declspec(dllexport) static TInt JustificationInPixels(TInt& aExcessPixels,TInt& aTotalUnits);
  1671. #line 2034
  1672. virtual void SetWordJustification(TInt aExcessWidth,TInt aNumGaps)=0;
  1673. #line 2110
  1674. virtual void SetCharJustification(TInt aExcessWidth,TInt aNumChars)=0;
  1675. #line 2125
  1676. virtual void SetPenColor(const TRgb& aColor)=0;
  1677. #line 2165
  1678. virtual void SetPenStyle(TPenStyle aPenStyle)=0;
  1679. #line 2204
  1680. virtual void SetPenSize(const TSize& aSize)=0;
  1681. #line 2221
  1682. virtual void SetBrushColor(const TRgb& aColor)=0;
  1683. #line 2242
  1684. virtual void SetBrushStyle(TBrushStyle aBrushStyle)=0;
  1685. #line 2270
  1686. virtual void SetBrushOrigin(const TPoint& aOrigin)=0;
  1687. #line 2295
  1688. virtual void UseBrushPattern(const CFbsBitmap* aBitmap)=0;
  1689. #line 2309
  1690. virtual void DiscardBrushPattern()=0;
  1691. #line 2327
  1692. virtual void MoveTo(const TPoint& aPoint)=0;
  1693. #line 2344
  1694. virtual void MoveBy(const TPoint& aVector)=0;
  1695. #line 2358
  1696. virtual void Plot(const TPoint& aPoint)=0;
  1697. #line 2397
  1698. virtual void DrawArc(const TRect& aRect,const TPoint& aStart,const TPoint& aEnd)=0;
  1699. virtual void DrawLine(const TPoint& aPoint1,const TPoint& aPoint2)=0;
  1700. virtual void DrawLineTo(const TPoint& aPoint)=0;
  1701. #line 2424
  1702. virtual void DrawLineBy(const TPoint& aVector)=0;
  1703. virtual void DrawPolyLine(const CArrayFix<TPoint> * aPointList)=0;
  1704. #line 2441
  1705. virtual void DrawPolyLine(const TPoint* aPointList,TInt aNumPoints)=0;
  1706. #line 2488
  1707. virtual void DrawPie(const TRect& aRect,const TPoint& aStart,const TPoint& aEnd)=0;
  1708. #line 2504
  1709. virtual void DrawEllipse(const TRect& aRect)=0;
  1710. virtual void DrawRect(const TRect& aRect)=0;
  1711. #line 2529
  1712. virtual void DrawRoundRect(const TRect& aRect,const TSize& aCornerSize)=0;
  1713. #line 2546
  1714. virtual TInt DrawPolygon(const CArrayFix<TPoint> * aPointList,TFillRule aFillRule=EAlternate)=0;
  1715. #line 2565
  1716. virtual TInt DrawPolygon(const TPoint* aPointList,TInt aNumPoints,TFillRule aFillRule=EAlternate)=0;
  1717. #line 2588
  1718. virtual void DrawBitmap(const TPoint& aTopLeft,const CFbsBitmap* aSource)=0;
  1719. #line 2611
  1720. virtual void DrawBitmap(const TRect& aDestRect,const CFbsBitmap* aSource)=0;
  1721. #line 2634
  1722. virtual void DrawBitmap(const TRect& aDestRect,const CFbsBitmap* aSource,const TRect& aSourceRect)=0;
  1723. #line 2650
  1724. virtual void DrawBitmapMasked(const TRect& aDestRect,const CFbsBitmap* aBitmap,const TRect& aSourceRect,const CFbsBitmap* aMaskBitmap,TBool aInvertMask)=0;
  1725. #line 2677
  1726. virtual void DrawBitmapMasked(const TRect& aDestRect,const CWsBitmap* aBitmap,const TRect& aSourceRect,const CWsBitmap* aMaskBitmap,TBool aInvertMask)=0;
  1727. #line 2694
  1728. virtual void DrawText(const TDesC& aText,const TPoint& aPosition) = 0;
  1729. #line 2750
  1730. virtual void DrawText(const TDesC& aText,const TRect& aBox,TInt aBaselineOffset,TTextAlign aAlignment = ELeft,
  1731. TInt aLeftMargin = 0) = 0;
  1732. __declspec(dllexport) virtual void DrawText(const TDesC& aText,const TPoint& aPosition,const TDrawTextParam& aParam);
  1733. __declspec(dllexport) virtual void Reserved();
  1734. __declspec(dllexport) TInt DrawTextExtended(const TDesC& aText,const TPoint& aPosition,const TDrawTextExtendedParam& aParam);
  1735. #line 2766
  1736. virtual void MapColors(const TRect &aRect,const TRgb *aColors,TInt aNumPairs,TBool aMapForwards) = 0;
  1737. virtual TInt SetClippingRegion(const TRegion &aRegion) = 0;
  1738. virtual void CancelClippingRegion() = 0;
  1739. virtual void DrawTextVertical(const TDesC& aText,const TPoint& aPos,TBool aUp) = 0;
  1740. #line 2791
  1741. virtual void DrawTextVertical(const TDesC& aText,const TRect& aBox,TInt aBaselineOffset,TBool aUp,TTextAlign aVert=ELeft,TInt aMargin=0) = 0;
  1742. protected:
  1743. __declspec(dllexport) virtual void Reserved_CGraphicsContext_1();
  1744. __declspec(dllexport) virtual void Reserved_CGraphicsContext_2();
  1745. };
  1746. #line 2822
  1747. class CBitmapContext : public CGraphicsContext
  1748. {
  1749. public:
  1750. virtual void Clear()=0;
  1751. #line 2839
  1752. virtual void Clear(const TRect& aRect)=0;
  1753. #line 2848
  1754. virtual void CopyRect(const TPoint& aOffset,const TRect& aRect)=0;
  1755. #line 2857
  1756. virtual void BitBlt(const TPoint& aPoint,const CFbsBitmap* aBitmap)=0;
  1757. #line 2872
  1758. virtual void BitBlt(const TPoint& aPoint,const CFbsBitmap* aBitmap,const TRect& aRect)=0;
  1759. #line 2906
  1760. virtual void BitBltMasked(const TPoint& aPoint,const CFbsBitmap* aBitmap,const TRect& aSourceRect,const CFbsBitmap* aMaskBitmap,TBool aInvertMask)=0;
  1761. virtual void SetFaded(TBool aFaded)=0;
  1762. #line 2932
  1763. virtual void SetFadingParameters(TUint8 aBlackMap,TUint8 aWhiteMap)=0;
  1764. #line 2952
  1765. virtual TInt AlphaBlendBitmaps(const TPoint& aDestPt, const CFbsBitmap* aSrcBmp, const TRect& aSrcRect, const CFbsBitmap* aAlphaBmp, const TPoint& aAlphaPt) = 0;
  1766. #line 2965
  1767. virtual TInt AlphaBlendBitmaps(const TPoint& aDestPt, const CWsBitmap* aSrcBmp, const TRect& aSrcRect, const CWsBitmap* aAlphaBmp, const TPoint& aAlphaPt) = 0;
  1768. protected:
  1769. __declspec(dllexport) void Reserved_CGraphicsContext_1();
  1770. __declspec(dllexport) void Reserved_CGraphicsContext_2();
  1771. __declspec(dllexport) virtual void Reserved_CBitmapContext_1();
  1772. __declspec(dllexport) virtual void Reserved_CBitmapContext_2();
  1773. __declspec(dllexport) virtual void Reserved_CBitmapContext_3();
  1774. };
  1775. #line 2988
  1776. class CBitmapDevice : public CGraphicsDevice
  1777. {
  1778. public:
  1779. #line 2999
  1780. virtual void GetPixel(TRgb& aColor,const TPoint& aPixel) const=0;
  1781. #line 3017
  1782. virtual void GetScanLine(TDes8& aBuf,const TPoint& aStartPixel,TInt aLength,TDisplayMode aDispMode) const=0;
  1783. #line 3027
  1784. virtual TInt AddFile(const TDesC& aName,TInt& aId)=0;
  1785. virtual void RemoveFile(TInt aId=0)=0;
  1786. #line 3051
  1787. virtual TInt GetNearestFontInPixels(CFont*& aFont, const TFontSpec& aFontSpec) = 0;
  1788. #line 3070
  1789. virtual TInt GetNearestFontToDesignHeightInPixels(CFont*& , const TFontSpec& ){return 0;}
  1790. #line 3092
  1791. virtual TInt GetNearestFontToMaxHeightInPixels(CFont*& , const TFontSpec& , TInt ){return 0;}
  1792. #line 3115
  1793. virtual TInt FontHeightInPixels(TInt aTypefaceIndex,TInt aHeightIndex) const=0;
  1794.     inline TInt CreateBitmapContext(CBitmapContext*& aGC);
  1795. };
  1796. class TMargins
  1797.     {
  1798. public:
  1799. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1800. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  1801. __declspec(dllexport) TBool operator==(const TMargins& aMargins) const;
  1802. __declspec(dllexport) TBool operator!=(const TMargins& aMargins) const;
  1803. public:
  1804. TInt iLeft;
  1805. TInt iRight;
  1806.     TInt iTop;
  1807. TInt iBottom;
  1808. };
  1809. #line 3150
  1810. class TPictureCapability
  1811. {
  1812. public:
  1813. enum TScalingType
  1814. {
  1815. ENotScaleable,
  1816. EFullyScaleable,
  1817. EScaleableMaintainingAspectRatio
  1818. };
  1819. public:
  1820. inline TPictureCapability(TScalingType aScalingType,TBool aCroppable);
  1821. public:
  1822. TScalingType iScalingType;
  1823. TBool iIsCroppable;
  1824. };
  1825. #line 3200
  1826. class CPicture : public CBase
  1827.     {
  1828. public:
  1829. enum TDetach
  1830. {
  1831. EDetachFull,
  1832. EDetachDraw
  1833. };
  1834. public:
  1835. __declspec(dllexport) virtual ~CPicture();
  1836. #line 3227
  1837. virtual void Draw(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,MGraphicsDeviceMap* aMap) const=0;
  1838. __declspec(dllexport) virtual TStreamId StoreL(CStreamStore& aStore) const;
  1839. virtual void DetachFromStoreL(TDetach =EDetachFull) {}
  1840. #line 3239
  1841. virtual void ExternalizeL(RWriteStream& aStream) const =0;
  1842. virtual void GetOriginalSizeInTwips(TSize& aSize) const =0;
  1843. __declspec(dllexport) virtual void SetScaleFactor(TInt aScaleFactorWidth,TInt aScaleFactorHeight);
  1844. __declspec(dllexport) virtual void SetCropInTwips(const TMargins& aMargins);
  1845. __declspec(dllexport) virtual TPictureCapability Capability() const;
  1846. __declspec(dllexport) virtual void GetCropInTwips(TMargins& aMargins) const;
  1847. __declspec(dllexport) virtual TInt ScaleFactorWidth() const;
  1848. __declspec(dllexport) virtual TInt ScaleFactorHeight() const;
  1849. __declspec(dllexport) virtual TBool LineBreakPossible(TUint aClass,TBool aBeforePicture,TBool aHaveSpaces) const;
  1850. __declspec(dllexport) virtual TBool NativePixelSize(TSize& aPixelSize);
  1851. __declspec(dllexport) void GetSizeInPixels(MGraphicsDeviceMap* aMap, TSize& aSize) const;
  1852. __declspec(dllexport) void SetSizeInPixels(MGraphicsDeviceMap* aMap, const TSize& aSize);
  1853. __declspec(dllexport) void AddCropInPixels(MGraphicsDeviceMap* aMap, const TMargins& aMargins);
  1854. __declspec(dllexport) void GetSizeInTwips(TSize& aSize) const;
  1855. __declspec(dllexport) void SetSizeInTwips(const TSize& aSize);
  1856. __declspec(dllexport) void ResetToOriginal();
  1857. protected:
  1858. __declspec(dllexport) CPicture();
  1859. };
  1860. #line 3277
  1861. class TPictureHeader
  1862. {
  1863. public:
  1864. __declspec(dllexport) TPictureHeader();
  1865. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1866. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  1867. __declspec(dllexport) void DeletePicture();
  1868. public:
  1869. TSwizzle<CPicture> iPicture;
  1870. TUid iPictureType;
  1871. TSize iSize;
  1872. };
  1873. #line 3304
  1874. class MPictureFactory
  1875. {
  1876. public:
  1877. #line 3324
  1878. virtual void NewPictureL(TPictureHeader& aHeader,const CStreamStore& aDeferredPictureStore)const=0;
  1879. };
  1880. #line 3335
  1881. const TInt KMaxPrinterModelNameLength=0x20;
  1882. #line 3344
  1883. typedef TBuf<KMaxPrinterModelNameLength> TPrinterModelName;
  1884. #line 3357
  1885. class TPageSpec
  1886. {
  1887. public:
  1888. enum TPageOrientation
  1889. {
  1890. EPortrait,
  1891. ELandscape
  1892. };
  1893. public:
  1894. __declspec(dllexport) TPageSpec();
  1895. __declspec(dllexport) TPageSpec(TPageOrientation aOrientation,const TSize& aSize);
  1896. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1897. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  1898. __declspec(dllexport) TSize OrientedPageSize() const;
  1899. __declspec(dllexport) TBool operator==(const TPageSpec& aPageSpec) const;
  1900. __declspec(dllexport) TBool operator!=(const TPageSpec& aPageSpec) const;
  1901. public:
  1902. TSize iPortraitPageSize;
  1903. TPageOrientation iOrientation;
  1904. };
  1905. #line 3398
  1906. class TBandAttributes
  1907.     {
  1908. public:
  1909. TRect iRect;
  1910. TBool iTextIsIgnored;
  1911. TBool iGraphicsIsIgnored;
  1912. TBool iFirstBandOnPage;
  1913. };
  1914. #line 3423
  1915. class CPrinterPort : public CBase
  1916. {
  1917. public:
  1918. virtual void WriteRequest(const TDesC8& aBuf,TRequestStatus& aRequestStatus)=0;
  1919. virtual void Cancel()=0;
  1920. };
  1921. #line 3445
  1922. class TPrinterModelEntry
  1923.    {
  1924. public:
  1925. TPrinterModelName iModelName;
  1926. TBool iRequiresPrinterPort;
  1927. TUid iUid;
  1928. public:
  1929. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1930. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  1931. };
  1932. #line 3469
  1933. class TPrinterModelHeader
  1934.     {
  1935. public:
  1936. TPrinterModelEntry iEntry;
  1937. TStreamId iModelDataStreamId;
  1938. public:
  1939. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  1940. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  1941. };
  1942. #line 3496
  1943. class CPrinterControl : public CBase
  1944.     {
  1945. public:
  1946. enum TMoreOnPage
  1947. {
  1948. EMoreOnPage,
  1949. ENoMoreOnPage
  1950. };
  1951. public:
  1952. __declspec(dllexport) ~CPrinterControl();
  1953. virtual TInt BandsPerPage()=0;
  1954. #line 3528
  1955. virtual TMoreOnPage QueueGetBand(TRequestStatus& aStatus, TBandAttributes& aBand)=0;
  1956. #line 3539
  1957. virtual void QueueEndPrint(TRequestStatus& aStatus)=0;
  1958. virtual void AbortPrint()=0;
  1959. protected:
  1960. __declspec(dllexport) CPrinterControl(CPrinterPort* aPrinterPort);
  1961. protected:
  1962. enum TState
  1963. {
  1964. ENotPrinting,
  1965. EPrinting
  1966. };
  1967. TState iState;
  1968. CPrinterPort* iPrinterPort;
  1969. };
  1970. class CDictionaryStore;
  1971. class RFs;
  1972. #line 3590
  1973. class CPrinterDevice : public CGraphicsDevice
  1974. {
  1975. public:
  1976. __declspec(dllexport) ~CPrinterDevice();
  1977. inline TPageSpec CurrentPageSpecInTwips() const {return(iCurrentPageSpecInTwips);}
  1978. __declspec(dllexport) virtual void SelectPageSpecInTwips(const TPageSpec& aPageSpec);
  1979. __declspec(dllexport) virtual TRect PrintablePageInPixels() const;
  1980. virtual TPrinterModelEntry Model()const =0;
  1981. virtual TInt SetModel(const TPrinterModelHeader& aModel,CStreamStore& aStore)=0;
  1982. #line 3627
  1983. virtual void CreateControlL(CPrinterPort* aPrinterPort)=0;
  1984. __declspec(dllexport) virtual void DeleteControl();
  1985. virtual void InternalizePropertiesL(RReadStream& ) {}
  1986. virtual void ExternalizePropertiesL(RWriteStream& ) const {}
  1987. __declspec(dllexport) void RestorePropertiesL();
  1988. __declspec(dllexport) void StorePropertiesL() const;
  1989. protected:
  1990. __declspec(dllexport) CPrinterDevice();
  1991. public:
  1992. CPrinterControl* iControl;
  1993. protected:
  1994. TPageSpec iCurrentPageSpecInTwips;
  1995. };
  1996. #line 3669
  1997. class CPrinterModelList : public CBase
  1998.      {
  1999. public:
  2000.     virtual TInt ModelCount() const=0;
  2001. #line 3686
  2002.     virtual const TPrinterModelEntry operator[](TInt anIndex)=0;
  2003. virtual TInt UidToNum(TUid aModelUid) const=0;
  2004.     };
  2005. #line 3705
  2006. class MPageRegionPrinter
  2007. {
  2008. public:
  2009. #line 3718
  2010. virtual void PrintBandL(CGraphicsDevice* aDevice,TInt aPageNo,const TBandAttributes& aBandInPixels)=0;
  2011. };
  2012. const TInt KPdrStoreFileUidVal=268435514;
  2013. const TInt KPdlUidVal=268450588;
  2014. const TInt KUdlUidVal=268450589;
  2015. #line 3746
  2016. class CPrinterDriverUI : public CBase
  2017.     {
  2018. protected:
  2019. __declspec(dllexport) CPrinterDriverUI();
  2020. public:
  2021. __declspec(dllexport) virtual TBool BeforePrintL();
  2022. __declspec(dllexport) virtual void AfterPrintL();
  2023. __declspec(dllexport) virtual void SetPropertiesL();
  2024. __declspec(dllexport) virtual TBool CanSetProperties();
  2025. virtual TInt SetPrinterDevice(CPrinterDevice* aPrinterDevice)=0;
  2026. };
  2027. class CFileStore;
  2028. #line 3790
  2029. class CPrinterDriver : public CBase
  2030.      {
  2031. public:
  2032. __declspec(dllexport) static CPrinterDriver* NewL();
  2033. __declspec(dllexport) ~CPrinterDriver();
  2034. __declspec(dllexport) void OpenPdrL(const TDesC &aName);
  2035. __declspec(dllexport) void Close();
  2036. __declspec(dllexport) TInt NumModels() const;
  2037. __declspec(dllexport) TPrinterModelEntry Model(TInt aNum) const;
  2038. inline CPrinterDevice* PrinterDevice() {return iPrinterDevice;}
  2039. __declspec(dllexport) CPrinterDevice* CreatePrinterDeviceL(TUid aModelUid);
  2040. __declspec(dllexport) CPrinterDriverUI* CreatePrinterDriverUIL();
  2041. private:
  2042. CPrinterDriver();
  2043. void DeletePrinterDevice();
  2044. void DoOpenPdrL(const TDesC &aName);
  2045. void DoCreatePrinterDeviceL(TUid aModelUid);
  2046. void LoadLibraryL(RLibrary& aLibrary,const TDesC& aExt,TUid aUid2);
  2047. private:
  2048. RFs iFs;
  2049. CFileStore *iPdrStore;
  2050. TInt iNumModels;
  2051. TPrinterModelHeader* iModelList;
  2052. TFileName iPdlName;
  2053. TUid iPdlUid;
  2054. RLibrary iPdlLibrary;
  2055. CPrinterDevice* iPrinterDevice;
  2056. RLibrary iUdlLibrary;
  2057. };
  2058. class RResourceFile;
  2059. class CPdrModelList : public CPrinterModelList
  2060.     {
  2061. public:
  2062. __declspec(dllexport) static CPdrModelList* NewL();
  2063. __declspec(dllexport) virtual ~CPdrModelList();
  2064.     __declspec(dllexport) TInt ModelCount() const;
  2065.     __declspec(dllexport) const TPrinterModelEntry operator [] (TInt anIndex);
  2066. __declspec(dllexport) TInt UidToNum(TUid aModelUid) const;
  2067. __declspec(dllexport) void AddDirectoryL(const TDesC& aDir);
  2068. __declspec(dllexport) CPrinterModelList* ScanForModelsL();
  2069. __declspec(dllexport) CPrinterDriver* CreatePrinterDriverL(TInt anIndex);
  2070. private:
  2071. CPdrModelList();
  2072. void ConstructL();
  2073. private:
  2074. class TFileEntry
  2075. {
  2076. public:
  2077. TFileName iFileName;
  2078. TDesC* iDirectory;
  2079. };
  2080. class TModelEntry
  2081. {
  2082. public:
  2083. TPrinterModelEntry iEntry;
  2084. TFileEntry* iFile;
  2085. };
  2086. private:
  2087. void ScanDirectoryL(TInt aDirIndex);
  2088. void ListModelsL(TInt aFileIndex, TParse& aParser, TFileName& aNameOfLoadedResourceFile, TFileName& aTempFileName, RResourceFile& aResourceFile, HBufC8*& aResource);
  2089. HBufC* NewPathBufL(const TFileEntry& aFileEntry);
  2090. private:
  2091. CArrayFixSeg<TModelEntry> * iModelArray;
  2092. CArrayFixFlat<TFileEntry> * iFileArray;
  2093. CArrayFixFlat<HBufC*> * iDirectoryArray;
  2094. RFs iFileServer;
  2095. };
  2096. #line 3881
  2097. class TZoomFactor : public MGraphicsDeviceMap
  2098. {
  2099. public:
  2100. __declspec(dllexport) TZoomFactor();
  2101. __declspec(dllexport) ~TZoomFactor();
  2102. inline TZoomFactor(const MGraphicsDeviceMap* aDevice);
  2103. inline TZoomFactor(const TZoomFactor* aDevice);
  2104. __declspec(dllexport) TInt ZoomFactor() const;
  2105. __declspec(dllexport) void SetZoomFactor(TInt aZoomFactor);
  2106. inline void SetGraphicsDeviceMap(const MGraphicsDeviceMap* aDevice);
  2107. inline const MGraphicsDeviceMap* GraphicsDeviceMap() const;
  2108. __declspec(dllexport) void SetTwipToPixelMapping(const TSize& aSizeInPixels,const TSize& aSizeInTwips);
  2109. __declspec(dllexport) TInt HorizontalTwipsToPixels(TInt aTwipWidth) const;
  2110. __declspec(dllexport) TInt VerticalTwipsToPixels(TInt aTwipHeight) const;
  2111. __declspec(dllexport) TInt HorizontalPixelsToTwips(TInt aPixelWidth) const;
  2112. __declspec(dllexport) TInt VerticalPixelsToTwips(TInt aPixelHeight) const;
  2113. __declspec(dllexport) virtual TInt GetNearestFontInTwips(CFont*& aFont, const TFontSpec& aFontSpec);
  2114. __declspec(dllexport) virtual TInt GetNearestFontToDesignHeightInTwips(CFont*& aFont, const TFontSpec& aFontSpec);
  2115. __declspec(dllexport) virtual TInt GetNearestFontToMaxHeightInTwips(CFont*& aFont, const TFontSpec& aFontSpec, TInt aMaxHeight);
  2116. __declspec(dllexport) void ReleaseFont(CFont* aFont);
  2117. public:
  2118. enum {EZoomOneToOne=1000};
  2119. private:
  2120. TInt iZoomFactor;
  2121. const MGraphicsDeviceMap* iDevice;
  2122. };
  2123. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\gdi.inl" /* stack depth 6 */
  2124. #line 11
  2125. inline TRgb::TRgb():
  2126. iValue(0xffffffff)
  2127. {}
  2128. inline TRgb::TRgb(TUint32 aValue):
  2129. iValue(((aValue & 0xff0000) >> 16) | (aValue & 0x00ff00) | ((aValue & 0x0000ff) << 16) | (0xff000000 - (aValue & 0xff000000)))
  2130. #line 32
  2131. {}
  2132. inline TRgb::TRgb(TUint32 aInternalValue, TInt aAlpha) :
  2133. iValue((aInternalValue & 0x00ffffff) | (aAlpha << 24))
  2134. #line 49
  2135. {
  2136. }
  2137. inline TRgb::TRgb(TInt aRed,TInt aGreen,TInt aBlue):
  2138. iValue(aRed<<16|aGreen<<8|aBlue|0xff000000)
  2139. {}
  2140. #line 78
  2141. inline TRgb::TRgb(TInt aRed,TInt aGreen,TInt aBlue, TInt aAlpha):
  2142. iValue(aRed<<16|aGreen<<8|aBlue|aAlpha<<24)
  2143. {}
  2144. inline TInt TRgb::Red() const
  2145. {return((iValue&0xff0000)>>16);}
  2146. inline TInt TRgb::Green() const
  2147. {return((iValue&0xff00)>>8);}
  2148. inline TInt TRgb::Blue() const
  2149. {return(iValue&0xff);}
  2150. inline TBool TRgb::operator==(const TRgb& aColor) const
  2151. #line 113
  2152. {return(iValue==aColor.iValue);}
  2153. inline TBool TRgb::operator!=(const TRgb& aColor) const
  2154. #line 125
  2155. {return(!(*this==aColor));}
  2156. inline TRgb& TRgb::operator&=(const TRgb& aColor)
  2157. #line 140
  2158. {iValue&=aColor.iValue;return(*this);}
  2159. inline TRgb& TRgb::operator|=(const TRgb& aColor)
  2160. #line 155
  2161. {iValue|=aColor.iValue;return(*this);}
  2162. inline TRgb& TRgb::operator^=(const TRgb& aColor)
  2163. #line 171
  2164. {iValue^=aColor.iValue;iValue^=0xff000000; return(*this);}
  2165. inline TUint32 TRgb::Value() const
  2166. {return (((iValue & 0xff0000) >> 16) | (iValue & 0x00ff00) | ((iValue & 0x0000ff) << 16) | (0xff000000 - (iValue & 0xff000000)));}
  2167. inline TUint32 TRgb::Internal() const
  2168. {return (iValue);}
  2169. inline void TRgb::SetInternal(TUint32 aInternal)
  2170. {iValue = aInternal;}
  2171. inline TRgb TRgb::operator~() const
  2172. {TRgb rgb; rgb.SetInternal(iValue^0x00ffffff); return rgb;}
  2173. inline TRgb TRgb::operator&(const TRgb& aColor)
  2174. {TRgb rgb; rgb.SetInternal(iValue&aColor.iValue); return rgb;}
  2175. inline TRgb TRgb::operator|(const TRgb& aColor)
  2176. {TRgb rgb; rgb.SetInternal(iValue|aColor.iValue); return rgb;}
  2177. inline TRgb TRgb::operator^(const TRgb& aColor)
  2178. {TRgb rgb; rgb.SetInternal(iValue^aColor.iValue); return rgb;}
  2179. #line 234
  2180. inline TRgb TRgb::_Gray2(TInt aGray2)
  2181. {
  2182. if(aGray2) return(TRgb(0xffffff, 0xff));
  2183. return(TRgb(0, 0xff));
  2184. }
  2185. #line 248
  2186. inline TRgb TRgb::_Gray4(TInt aGray4)
  2187. {
  2188. aGray4&=3;
  2189. aGray4|=aGray4<<2;
  2190. aGray4|=aGray4<<4;
  2191. return(TRgb(aGray4,aGray4,aGray4));
  2192. }
  2193. #line 264
  2194. inline TRgb TRgb::_Gray16(TInt aGray16)
  2195. {
  2196. aGray16&=0xf;
  2197. aGray16|=aGray16<<4;
  2198. return(TRgb(aGray16,aGray16,aGray16));
  2199. }
  2200. #line 279
  2201. inline TRgb TRgb::_Gray256(TInt aGray256)
  2202. {
  2203. aGray256&=0xff;
  2204. return(TRgb(aGray256,aGray256,aGray256));
  2205. }
  2206. #line 292
  2207. inline TRgb TRgb::_Color4K(TInt aColor4K)
  2208. {
  2209. TUint32 value = (aColor4K & 0xf00) << 8;
  2210. value |= (aColor4K & 0x0f0) << 4;
  2211. value |= (aColor4K & 0x00f);
  2212. return TRgb(value | (value << 4), 0xff);
  2213. }
  2214. #line 307
  2215. inline TRgb TRgb::_Color64K(TInt aColor64K)
  2216. {
  2217. TInt red = (aColor64K&0xF800)>>8;
  2218. red += red>>5;
  2219. TInt green = (aColor64K&0x07E0)>>3;
  2220. green += green>>6;
  2221. TInt blue = (aColor64K&0x001F)<<3;
  2222. blue += blue>>5;
  2223. return TRgb(red,green,blue);
  2224. }
  2225. #line 325
  2226. inline TRgb TRgb::_Color16M(TInt a0RGB)
  2227. {
  2228. return TRgb(a0RGB, 0xff);
  2229. }
  2230. inline TRgb TRgb::_Color16MU(TInt a0RGB)
  2231. {
  2232. return TRgb(a0RGB, 0xff);
  2233. }
  2234. inline TInt TRgb::_Gray2() const
  2235. {
  2236. return(Gray256()>>7);
  2237. }
  2238. inline TInt TRgb::_Gray4() const
  2239. {
  2240. return(Gray256()>>6);
  2241. }
  2242. inline TInt TRgb::_Gray16() const
  2243. {
  2244. return(Gray256()>>4);
  2245. }
  2246. inline TInt TRgb::_Gray256() const
  2247. {
  2248. return(((Red()<<1)+Green()+(Green()<<2)+Blue())>>3);
  2249. }
  2250. inline TInt TRgb::_Color4K() const
  2251. {
  2252. TInt color4K = (iValue & 0x0000f0) >> 4;
  2253. color4K |= (iValue & 0x00f000) >> 8;
  2254. color4K |= (iValue & 0xf00000) >> 12;
  2255. return color4K;
  2256. }
  2257. inline TInt TRgb::_Color64K() const
  2258. {
  2259. TInt color64K = (iValue & 0x0000f8) >> 3;
  2260. color64K |= (iValue & 0x00fc00) >> 5;
  2261. color64K |= (iValue & 0xf80000) >> 8;
  2262. return color64K;
  2263. }
  2264. inline TInt TRgb::_Color16M() const
  2265. {
  2266. return (iValue & 0xffffff);
  2267. }
  2268. inline TInt TRgb::_Color16MU() const
  2269. {
  2270. return (iValue & 0xffffff);
  2271. }
  2272. inline TInt TRgb::Alpha() const
  2273. {return (iValue >> 24);}
  2274. #line 432
  2275. inline TRgb TRgb::_Color16MA(TUint aARGB)
  2276. {
  2277. TRgb col; col.SetInternal(aARGB);
  2278. return col;
  2279. }
  2280. inline TUint TRgb::_Color16MA() const
  2281. {
  2282. return (iValue);
  2283. }
  2284. inline TInt CPalette::Entries() const
  2285. {return(iNumEntries);}
  2286. inline TRgb TColor256Util::Color256(TInt aColor256) const
  2287. { return TRgb(iColorTable[aColor256]); }
  2288. inline TBool TFontStyle::operator==(const TFontStyle& aFontStyle) const
  2289. {return(iFlags==aFontStyle.iFlags);}
  2290. inline TGlyphBitmapType TFontStyle::BitmapType() const
  2291. {
  2292. return (TGlyphBitmapType)(iFlags >> 16);
  2293. }
  2294. inline void TFontStyle::SetBitmapType(TGlyphBitmapType aBitmapType)
  2295. #line 502
  2296. {
  2297. iFlags &= 0xFFFF;
  2298. iFlags |= (aBitmapType << 16);
  2299. }
  2300. inline TInt CBitmapDevice::CreateBitmapContext(CBitmapContext*& aGC)
  2301. {return(CreateContext((CGraphicsContext*&)aGC));}
  2302. inline TPictureCapability::TPictureCapability(TScalingType aScalingType,TBool aCroppable):
  2303. iScalingType(aScalingType),iIsCroppable(aCroppable)
  2304. {}
  2305. inline TZoomFactor::TZoomFactor(const MGraphicsDeviceMap* aDevice):
  2306. iZoomFactor(TZoomFactor::EZoomOneToOne),
  2307. iDevice(aDevice)
  2308. {}
  2309. inline TZoomFactor::TZoomFactor(const TZoomFactor* aDevice):
  2310. iDevice(aDevice)
  2311. {
  2312. iZoomFactor=aDevice->iZoomFactor;
  2313. }
  2314. inline void TZoomFactor::SetGraphicsDeviceMap(const MGraphicsDeviceMap* aDevice)
  2315. {iDevice=aDevice;}
  2316. inline const MGraphicsDeviceMap* TZoomFactor::GraphicsDeviceMap() const
  2317. {return(iDevice);}
  2318. #line 579
  2319. inline TInt CFont::FontCapitalAscent() const
  2320. {
  2321. return ExtendedFunction(KFontCapitalAscent);
  2322. }
  2323. #line 595
  2324. inline TInt CFont::FontMaxAscent() const
  2325. {
  2326. return ExtendedFunction(KFontMaxAscent);
  2327. }
  2328. #line 608
  2329. inline TInt CFont::FontStandardDescent() const
  2330. {
  2331. return ExtendedFunction(KFontStandardDescent);
  2332. }
  2333. #line 623
  2334. inline TInt CFont::FontMaxDescent() const
  2335. {
  2336. return ExtendedFunction(KFontMaxDescent);
  2337. }
  2338. inline TInt CFont::FontLineGap() const
  2339. {
  2340. return ExtendedFunction(KFontLineGap);
  2341. }
  2342. #line 648
  2343. inline TInt CFont::FontMaxHeight() const
  2344. {
  2345. return FontMaxAscent() + FontMaxDescent();
  2346. }
  2347. #line 3912 "C:\Symbian\9.1\S60_3rd\epoc32\include\gdi.h" /* stack depth 5 */
  2348. #line 19 "C:\Symbian\9.1\S60_3rd\epoc32\include\apparc.h" /* stack depth 4 */
  2349. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\apadef.h" /* stack depth 5 */
  2350. #line 18
  2351. const TUint KApaCommandLetterOpen='O';
  2352. const TUint KApaCommandLetterCreate='C';
  2353. const TUint KApaCommandLetterRun='R';
  2354. const TUint KApaCommandLetterBackground='B';
  2355. const TUint KApaCommandLetterViewActivate='V';
  2356. const TUint KApaCommandLetterRunWithoutViews='W';
  2357. enum TApaCommand
  2358. {
  2359. EApaCommandOpen,
  2360. EApaCommandCreate,
  2361. EApaCommandRun,
  2362. EApaCommandBackground,
  2363. EApaCommandViewActivate,
  2364. EApaCommandRunWithoutViews
  2365. };
  2366. const TInt KApaMaxAppCaption=0x100;
  2367. #line 82
  2368. typedef TBuf<KApaMaxAppCaption> TApaAppCaption;
  2369. const TInt KApaMaxCommandLine=0x100;
  2370. typedef TBuf<KApaMaxCommandLine> TApaCommandLine;
  2371. const TInt KApaMaxAppFileName=0x10;
  2372. typedef TBuf<KApaMaxAppFileName> TApaAppFileName;
  2373. const TInt KApaMaxAppGroupName=0x10;
  2374. #line 118
  2375. typedef TBuf<KApaMaxAppGroupName> TApaAppGroupName;
  2376. const TInt KAppUidValue8 = 0x1000006c;
  2377. const TUid KUidApp8={KAppUidValue8};
  2378. #line 141
  2379. const TInt KAppUidValue16 = 0x100039CE;
  2380. const TUid KUidApp16={KAppUidValue16};
  2381. const TUid KUidAppDllDoc8={268435565};
  2382. const TUid KUidAppDllDoc16={0x10003A12};
  2383. const TUid KUidPictureTypeDoor8={268435537};
  2384. const TUid KUidPictureTypeDoor16={0x10003A33};
  2385. const TUid KUidSecurityStream8={268435661};
  2386. const TUid KUidSecurityStream16={0x10003A40};
  2387. const TUid KUidAppIdentifierStream8={268435593};
  2388. const TUid KUidAppIdentifierStream16={0x10003A34};
  2389. #line 272
  2390. const TUid KUidFileEmbeddedApplicationInterfaceUid={0x101f8c96};
  2391. #line 22 "C:\Symbian\9.1\S60_3rd\epoc32\include\apparc.h" /* stack depth 4 */
  2392. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\apaid.h" /* stack depth 5 */
  2393. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\apmstd.h" /* stack depth 6 */
  2394. #line 17
  2395. const TInt KMaxDataTypeLength=256;
  2396. class RReadStream;
  2397. class RWriteStream;
  2398. #line 31
  2399. typedef TInt32 TDataTypePriority;
  2400. const TInt32 KDataTypePriorityUserSpecified=KMaxTInt16;
  2401. #line 46
  2402. const TInt32 KDataTypePrioritySystem = 0xFFF9;
  2403. #line 55
  2404. const TInt32 KDataTypeUnTrustedPriorityThreshold=KMaxTInt16;
  2405. #line 64
  2406. const TInt32 KDataTypePriorityHigh=10000;
  2407. #line 73
  2408. const TInt32 KDataTypePriorityNormal=0;
  2409. #line 82
  2410. const TInt32 KDataTypePriorityLow=-10000;
  2411. #line 91
  2412. const TInt32 KDataTypePriorityLastResort=-20000;
  2413. const TInt32 KDataTypePriorityNotSupported=KMinTInt16;
  2414. class TDataType
  2415. #line 110
  2416. {
  2417. public:
  2418. __declspec(dllexport) TDataType();
  2419. __declspec(dllexport) TDataType(const TDataType& aDataType);
  2420. __declspec(dllexport) TDataType(const TDesC8& aDataType);
  2421. __declspec(dllexport) TDataType(TUid aUid);
  2422. __declspec(dllexport) TInt operator==(const TDataType& aDataType) const;
  2423. __declspec(dllexport) TInt operator!=(const TDataType& aDataType) const;
  2424. __declspec(dllexport) TBool IsNative() const;
  2425. __declspec(dllexport) TBuf<KMaxDataTypeLength> Des() const;
  2426. __declspec(dllexport) TPtrC8 Des8() const;
  2427. __declspec(dllexport) TUid Uid() const;
  2428. __declspec(dllexport) void InternalizeL(RReadStream& aReadStream);
  2429. __declspec(dllexport) void ExternalizeL(RWriteStream& aWriteStream) const;
  2430. private:
  2431. void ParseDes();
  2432. private:
  2433. TBuf8<KMaxDataTypeLength> iDataType;
  2434. TUid iUid;
  2435. };
  2436. #line 142
  2437. const static TLitC8<sizeof( "X-Epoc-Url/")> KEpocUrlDataTypeHeader={sizeof( "X-Epoc-Url/")-1, "X-Epoc-Url/"} ;
  2438. class TDataTypeWithPriority
  2439. #line 159
  2440. {
  2441. public:
  2442. __declspec(dllexport) TDataTypeWithPriority();
  2443. __declspec(dllexport) TDataTypeWithPriority(const TDataType& aDataType, TDataTypePriority aPriority);
  2444. __declspec(dllexport) void InternalizeL(RReadStream& aReadStream);
  2445. __declspec(dllexport) void ExternalizeL(RWriteStream& aWriteStream) const;
  2446. public:
  2447. TDataType iDataType;
  2448. TDataTypePriority iPriority;
  2449. };
  2450. #line 16 "C:\Symbian\9.1\S60_3rd\epoc32\include\apaid.h" /* stack depth 5 */
  2451. class TApaAppIdentifier;
  2452. class TApaAppEntry;
  2453. class CApaAppFinder;
  2454. class RReadStream;
  2455. class RWriteStream;
  2456. class RFs;
  2457. class TApaAppIdentifier
  2458. #line 49
  2459. {
  2460. public:
  2461. __declspec(dllexport) TApaAppIdentifier();
  2462. __declspec(dllexport) TApaAppIdentifier(TUid aAppUidType,const TFileName& aDllName);
  2463. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream)const;
  2464. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  2465. public:
  2466. TUid iAppUid;
  2467. TFileName iFullName;
  2468. private:
  2469. TInt iTApaAppIdentifier_Reserved1;
  2470. };
  2471. class TApaAppEntry
  2472. #line 78
  2473. {
  2474. public:
  2475. __declspec(dllexport) TApaAppEntry();
  2476. __declspec(dllexport) TApaAppEntry(const TUidType& aAppUidType,const TFileName& aDllName);
  2477. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream)const;
  2478. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  2479. public:
  2480. TUidType iUidType;
  2481. TFileName iFullName;
  2482. private:
  2483. TInt iTApaAppEntry_Reserved1;
  2484. };
  2485. class TApaAppInfo
  2486. #line 109
  2487. {
  2488. public:
  2489. __declspec(dllexport) TApaAppInfo();
  2490. __declspec(dllexport) TApaAppInfo(TUid aAppUid,const TFileName& aDllName,const TApaAppCaption& aCaption);
  2491. __declspec(dllexport) TApaAppInfo(TUid aAppUid,const TFileName& aDllName,const TApaAppCaption& aCaption,const TApaAppCaption& aShortCaption);
  2492. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream)const;
  2493. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  2494. public:
  2495. TUid iUid;
  2496. TFileName iFullName;
  2497. TApaAppCaption iCaption;
  2498. TApaAppCaption iShortCaption;
  2499. private:
  2500. TInt iTApaAppInfo_Reserved1;
  2501. };
  2502. class TApaAppViewInfo
  2503. #line 146
  2504. {
  2505. public:
  2506. __declspec(dllexport) TApaAppViewInfo();
  2507. __declspec(dllexport) TApaAppViewInfo(TUid aViewUid,const TApaAppCaption& aViewCaption,TInt aScreenMode);
  2508. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream)const;
  2509. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  2510. public:
  2511. TUid iUid;
  2512. TApaAppCaption iViewCaption;
  2513. TInt iScreenMode;
  2514. private:
  2515. TInt iTApaAppViewInfo_Reserved1;
  2516. };
  2517. #line 171
  2518. typedef CArrayFixFlat<TApaAppViewInfo> CApaAppViewArray;
  2519. class TApaAppCapability
  2520. {
  2521. public:
  2522. __declspec(dllexport) static void CopyCapability(TDes8& aDest,const TDesC8& aSource);
  2523. __declspec(dllexport) void InternalizeL(RReadStream& aStream);
  2524. __declspec(dllexport) void Internalize7_0L(RReadStream& aStream);
  2525. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  2526. private:
  2527. __declspec(dllexport) void Externalize7_0L(RWriteStream& aStream) const;
  2528. void DoInternalizeL(RReadStream& aStream, TBool& aLaunchInBackground, TApaAppGroupName& aGroupName);
  2529. public:
  2530. enum TEmbeddability {
  2531. ENotEmbeddable=0,
  2532. EEmbeddable=1,
  2533. EEmbeddableOnly=2,
  2534. EEmbeddableUiOrStandAlone=5,
  2535. EEmbeddableUiNotStandAlone=6 };
  2536. enum TCapabilityAttribute
  2537. {
  2538. EBuiltAsDll = 0x00000001,
  2539. EControlPanelItem = 0x00000002,
  2540. ENonNative = 0x00000004
  2541. };
  2542. public:
  2543. TEmbeddability iEmbeddability;
  2544. TBool iSupportsNewFile;
  2545. TBool iAppIsHidden;
  2546. TBool iLaunchInBackground;
  2547. TApaAppGroupName iGroupName;
  2548. TUint iAttributes;
  2549. private:
  2550. enum { EVersion=4 };
  2551. private:
  2552. TInt iTApaAppCapability_Reserved1;
  2553. };
  2554. typedef TPckgBuf<TApaAppCapability> TApaAppCapabilityBuf;
  2555. class TApaEmbeddabilityFilter
  2556. {
  2557. public:
  2558. __declspec(dllexport) TApaEmbeddabilityFilter();
  2559. __declspec(dllexport) void AddEmbeddability(TApaAppCapability::TEmbeddability aEmbeddability);
  2560. __declspec(dllexport) TBool MatchesEmbeddability(TApaAppCapability::TEmbeddability aEmbeddability) const;
  2561. private:
  2562. TUint iEmbeddabilityFlags;
  2563. private:
  2564. TInt iTApaEmbeddabilityFilter_Reserved1;
  2565. };
  2566. class CApaAppFinder : public CBase
  2567. {
  2568. public:
  2569. virtual void FindAllAppsL()=0;
  2570. virtual TBool NextL(TApaAppEntry& aEntry)=0;
  2571. virtual TFileName FindAppL(const TDesC& aFileName,TUid aFileUid)=0;
  2572. #line 282
  2573. virtual TFileName DefaultAppInfoFileName()const=0;
  2574. protected:
  2575. __declspec(dllexport) CApaAppFinder();
  2576. private:
  2577. __declspec(dllexport) virtual void CApaAppFinder_Reserved1();
  2578. __declspec(dllexport) virtual void CApaAppFinder_Reserved2();
  2579. };
  2580. const TUid KOpenServiceUid = { 0x10208DCA };
  2581. #line 310
  2582. class TApaAppServiceInfo
  2583. {
  2584. public:
  2585. TApaAppServiceInfo();
  2586. TApaAppServiceInfo(TUid aUid, CArrayFixFlat<TDataTypeWithPriority> * aDataTypes,
  2587. HBufC8* aOpaqueData);
  2588. void ExternalizeL(RWriteStream& aStream) const;
  2589. void InternalizeL(RReadStream& aStream);
  2590. void Release();
  2591. CArrayFixFlat<TDataTypeWithPriority>& DataTypes();
  2592. __declspec(dllexport) TUid Uid() const;
  2593. __declspec(dllexport) const CArrayFixFlat<TDataTypeWithPriority>& DataTypes() const;
  2594. __declspec(dllexport) const TDesC8& OpaqueData() const;
  2595. private:
  2596. TUid iUid;
  2597. CArrayFixFlat<TDataTypeWithPriority> * iDataTypes;
  2598. HBufC8* iOpaqueData;
  2599. TInt iTApaAppServiceInfo;
  2600. };
  2601. #line 338
  2602. class CApaAppServiceInfoArray : public CBase
  2603. {
  2604. protected:
  2605. CApaAppServiceInfoArray();
  2606. public:
  2607. virtual TArray<TApaAppServiceInfo> Array()=0;
  2608. private:
  2609. __declspec(dllexport) virtual void CApaAppServiceInfoArray_Reserved1();
  2610. __declspec(dllexport) virtual void CApaAppServiceInfoArray_Reserved2();
  2611. private:
  2612. TInt iCApaAppServiceInfoArray_Reserved1;
  2613. };
  2614. #line 25 "C:\Symbian\9.1\S60_3rd\epoc32\include\apparc.h" /* stack depth 4 */
  2615. class CApaApplication;
  2616. class CApaDocument;
  2617. class CApaProcess;
  2618. class MApaEmbeddedDocObserver;
  2619. class CApaDll;
  2620. class CApaExe;
  2621. class RFile;
  2622. class RReadStream;
  2623. class RWriteStream;
  2624. class CFileStore;
  2625. class CPersistentStore;
  2626. class CStreamDictionary;
  2627. class CDictionaryStore;
  2628. class TApaAppHolderInfo;
  2629. class CImplementationInformation;
  2630. class TApaApplicationFactory;
  2631. class CApaAppHolder;
  2632. class CApaAppServer;
  2633. #line 62
  2634. typedef CApaApplication* (*CreateCApaApplication)();
  2635. class CApaApplication : public CBase
  2636. #line 82
  2637. {
  2638. public:
  2639. #line 94
  2640. virtual void PreDocConstructL()=0;
  2641. #line 106
  2642. virtual CApaDocument* CreateDocumentL(CApaProcess* aProcess)=0;
  2643. #line 115
  2644. virtual TUid AppDllUid()const=0;
  2645. __declspec(dllexport) static TInt GenerateFileName(RFs& aFs,TFileName& aRootName);
  2646. __declspec(dllexport) CDictionaryStore* OpenIniFileL(RFs& aFs)const;
  2647. #line 136
  2648. virtual CDictionaryStore* OpenIniFileLC(RFs& aFs)const=0;
  2649. #line 157
  2650. __declspec(dllexport) virtual TFileName AppFullName()const;
  2651. #line 172
  2652. virtual void Capability(TDes8& aInfo)const=0;
  2653. __declspec(dllexport) TFileName DllName()const;
  2654. __declspec(dllexport) ~CApaApplication();
  2655. __declspec(dllexport) virtual void NewAppServerL(CApaAppServer*& aAppServer);
  2656. protected:
  2657. __declspec(dllexport) CApaApplication();
  2658. __declspec(dllexport) virtual void CApaApplication_Reserved1();
  2659. __declspec(dllexport) virtual void CApaApplication_Reserved2();
  2660. private:
  2661. CApaAppHolder* iAppHolder;
  2662. TUid iDtorKey;
  2663. friend class CApaAppHolder;
  2664. friend class CApaProcess;
  2665. friend class TApaApplicationFactory;
  2666. private:
  2667. TInt iCApaApplication_Reserved1;
  2668. };
  2669. class CApaDocument : public CBase
  2670. #line 211
  2671. {
  2672. public:
  2673. class TCapability
  2674. {
  2675. public:
  2676. __declspec(dllexport) TCapability();
  2677. inline TBool CanDrawGlass()const;
  2678. inline TBool CanPrint()const;
  2679. inline void SetCanDrawGlass();
  2680. inline void SetCanPrint();
  2681. private:
  2682. enum {
  2683. ECanDrawGlass =0x01,
  2684. ECanPrint =0x02
  2685. };
  2686. private:
  2687. TUint iCapability;
  2688. TInt TCapability_Reserved1;
  2689. };
  2690. public:
  2691. #line 245
  2692. virtual void NewDocumentL()=0;
  2693. #line 259
  2694. virtual CFileStore* CreateFileStoreLC(RFs& aFs,const TDesC& aFileName)=0;
  2695. __declspec(dllexport) virtual CPicture* GlassPictureL();
  2696. #line 276
  2697. virtual void EditL(MApaEmbeddedDocObserver* aContainer,TBool aReadOnly=EFalse)=0;
  2698. #line 289
  2699. virtual void PrintL(const CStreamStore& aSourceStore)=0;
  2700. #line 308
  2701. virtual void SaveL()=0;
  2702. #line 325
  2703. virtual void StoreL(CStreamStore& aStore,CStreamDictionary& aStreamDic) const=0;
  2704. #line 341
  2705. virtual void RestoreL(const CStreamStore& aStore,const CStreamDictionary& aStreamDic)=0;
  2706. #line 364
  2707. inline virtual void DetachFromStoreL(CPicture::TDetach =CPicture::EDetachFull) {}
  2708. __declspec(dllexport) virtual void ExternalizeL(RWriteStream& aStream)const;
  2709. #line 381
  2710. virtual TBool IsEmpty()const=0;
  2711. __declspec(dllexport) virtual void ValidatePasswordL()const;
  2712. __declspec(dllexport) virtual TCapability Capability()const;
  2713. inline CApaApplication* Application()const;
  2714. inline CApaProcess* Process()const;
  2715. #line 396
  2716. virtual TBool HasChanged()const =0;
  2717. __declspec(dllexport) virtual ~CApaDocument();
  2718. protected:
  2719. __declspec(dllexport) CApaDocument();
  2720. __declspec(dllexport) CApaDocument(CApaApplication& aApp,CApaProcess& aProcess);
  2721. private:
  2722. __declspec(dllexport) virtual void OpenFileL(CFileStore*& aFileStore, RFile& aFile);
  2723. __declspec(dllexport) virtual void Reserved_2();
  2724. protected:
  2725. MApaEmbeddedDocObserver* iContainer;
  2726. private:
  2727. CApaApplication* iApplication;
  2728. CApaProcess* iApaProcess;
  2729. TInt iSpare;
  2730. };
  2731. class TApaApplicationFactory
  2732. #line 426
  2733. {
  2734. public:
  2735. typedef CApaApplication* (*TFunction)();
  2736. public:
  2737. __declspec(dllexport) TApaApplicationFactory();
  2738. __declspec(dllexport) TApaApplicationFactory(TFunction aFunction);
  2739. __declspec(dllexport) TApaApplicationFactory(const CImplementationInformation& aEmbeddedApplicationInformation);
  2740. __declspec(dllexport) TApaApplicationFactory(TUid aEmbeddedApplicationUid);
  2741. CApaApplication* CreateApplicationL() const;
  2742. HBufC* AppFileNameL() const;
  2743. TUid AppFileUid() const;
  2744. private:
  2745. enum TType
  2746. {
  2747. ETypeFunction,
  2748. ETypeEmbeddedApplicationInformation,
  2749. ETypeEmbeddedApplicationUid
  2750. };
  2751. private:
  2752. static CApaApplication* CreateEmbeddedApplicationL(TUid aUid);
  2753. static HBufC* EmbeddedApplicationDisplayNameLC(TUid aUid);
  2754. static HBufC* FullAppFileNameL(const TDesC& aAppName);
  2755. static void CleanupImplementationArray(TAny* aImplementationArray);
  2756. private:
  2757. TType iType;
  2758. TUint iData;
  2759. mutable CApaApplication* iApplication;
  2760. TInt iSpare2;
  2761. };
  2762. class CApaParentProcessMonitor;
  2763. class CApaProcess : public CBase
  2764. #line 477
  2765. {
  2766. public:
  2767. __declspec(dllexport) static CApaProcess* NewL(const RFs& aFs);
  2768. __declspec(dllexport) void ResetL();
  2769. __declspec(dllexport) static CStreamDictionary* ReadRootStreamLC(RFs& aFs,CFileStore*& aStore,const TDesC& aDocFullFileName,TUint aFileMode);
  2770. __declspec(dllexport) static CStreamDictionary* ReadRootStreamLC(CFileStore*& aStore, const RFile& aFile);
  2771. __declspec(dllexport) static void WriteRootStreamL(CPersistentStore& aStore,CStreamDictionary& aStreamDic,const CApaApplication& aApp);
  2772. __declspec(dllexport) static void WriteRootStreamL(CPersistentStore& aStore,CStreamDictionary& aStreamDic,const TApaAppIdentifier& aAppId);
  2773. __declspec(dllexport) static TApaAppIdentifier ReadAppIdentifierL(const CStreamStore& aStore,const CStreamDictionary& aStreamDic);
  2774. __declspec(dllexport) static void WriteAppIdentifierL(CStreamStore& aStore,CStreamDictionary& aStreamDic,const TApaAppIdentifier& aAppId);
  2775. __declspec(dllexport) CApaDocument* AddNewDocumentL(TApaApplicationFactory aApplicationFactory);
  2776. __declspec(dllexport) CApaDocument* OpenNewDocumentL(CFileStore*& aStore,CStreamDictionary*& aStreamDic,const TDesC& aDocFullFileName,TUint aFileMode);
  2777. __declspec(dllexport) void DestroyDocument(CApaDocument* aDoc);
  2778. __declspec(dllexport) void SetMainDocument(CApaDocument* aDocument);
  2779. __declspec(dllexport) void SetMainDocFileName(const TDesC& aMainDocFileName);
  2780. __declspec(dllexport) void SetMainDocFileNameL(const TDesC& aMainDocFileName);
  2781. __declspec(dllexport) TPtrC MainDocFileName()const;
  2782. inline RFs& FsSession()const;
  2783. inline CApaDocument* MainDocument()const;
  2784. __declspec(dllexport) ~CApaProcess();
  2785. protected:
  2786. __declspec(dllexport) CApaProcess();
  2787. __declspec(dllexport) CApaProcess(const RFs& aFs);
  2788. __declspec(dllexport) void ConstructL();
  2789. __declspec(dllexport) void ConstructL(TProcessId aParentProcessId);
  2790. __declspec(dllexport) virtual void CApaProcess_Reserved1();
  2791. __declspec(dllexport) virtual void CApaProcess_Reserved2();
  2792. public:
  2793. static TInt IdleRemoveApplications(TAny* aThis);
  2794. void RemoveMarkedApplications();
  2795. private:
  2796. CApaDll* AddAppDllL(const TDesC& aDllFullPath);
  2797. CApaExe* AddAppExeL(TApaApplicationFactory aApplicationFactory);
  2798. void RemoveApp(CApaAppHolder* aAppHolder);
  2799. CApaDocument* CreateDocL(CApaApplication* aApp);
  2800. CApaAppHolder* FindAppInListL(const TDesC& aAppFileName,TUid aUid)const;
  2801. void DeleteAllDocs();
  2802. void MarkApplicationForRemoval(CApaApplication* aApp);
  2803. static void DoReadRootStreamL(CStreamDictionary& aStreamDictionary, const CFileStore& aStore);
  2804. private:
  2805. CArrayFixFlat<TApaAppHolderInfo> * iAppList;
  2806. CArrayFixFlat<CApaDocument*> * iDocList;
  2807. CApaDocument* iMainDoc;
  2808. HBufC* iMainDocFileName;
  2809. RFs iFsSession;
  2810. CIdle* iApplicationRemover;
  2811. CApaParentProcessMonitor* iMonitor;
  2812. TInt iCApaProcess_Reserved1;
  2813. };
  2814. class MApaEmbeddedDocObserver
  2815. {
  2816. public:
  2817. enum TExitMode {
  2818. EKeepChanges,
  2819. ERevertToSaved,
  2820. ENoChanges,
  2821. EEmpty
  2822. };
  2823. public:
  2824. virtual void NotifyExit(TExitMode aMode)=0;
  2825. protected:
  2826. __declspec(dllexport) MApaEmbeddedDocObserver();
  2827. private:
  2828. __declspec(dllexport) virtual void MApaEmbeddedDocObserver_Reserved1();
  2829. __declspec(dllexport) virtual void MApaEmbeddedDocObserver_Reserved2();
  2830. private:
  2831. TInt iMApaEmbeddedDocObserver_Reserved1;
  2832. };
  2833. inline CApaApplication* CApaDocument::Application()const
  2834. { return iApplication; }
  2835. inline CApaProcess* CApaDocument::Process()const
  2836. { return iApaProcess; }
  2837. inline TBool CApaDocument::TCapability::CanDrawGlass()const
  2838. { return iCapability&ECanDrawGlass; }
  2839. inline TBool CApaDocument::TCapability::CanPrint()const
  2840. { return iCapability&ECanPrint; }
  2841. inline void CApaDocument::TCapability::SetCanDrawGlass()
  2842. { iCapability = iCapability|ECanDrawGlass; }
  2843. inline void CApaDocument::TCapability::SetCanPrint()
  2844. { iCapability = iCapability|ECanPrint; }
  2845. #line 648
  2846. inline RFs& CApaProcess::FsSession()const
  2847. { return (RFs&)iFsSession; }
  2848. inline CApaDocument* CApaProcess::MainDocument()const
  2849. { return iMainDoc; }
  2850. #line 9 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikdoc.h" /* stack depth 3 */
  2851. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\savenotf.h" /* stack depth 4 */
  2852. #line 19
  2853. class MSaveObserver
  2854. {
  2855. public:
  2856. enum TSaveType
  2857. {
  2858. ESaveNone,
  2859. ESaveData,
  2860. ESaveAll,
  2861. ESaveQuick,
  2862. EReleaseRAM,
  2863. EReleaseDisk,
  2864. };
  2865. public:
  2866. virtual void SaveL(TSaveType aSaveType)=0;
  2867. };
  2868. class RSaveSession : public RSessionBase
  2869. {
  2870. public:
  2871. TInt ConnectL();
  2872. void NotifySave(TRequestStatus& aStatus);
  2873. void NotifySaveCancel();
  2874. TInt HandleSaveError(TInt aError);
  2875.     TInt SwitchOff(MSaveObserver::TSaveType aAction, TBool aPowerOff);
  2876. private:
  2877. TInt StartServerL();
  2878. };
  2879. #line 61
  2880. class CSaveNotifier : public CActive
  2881. {
  2882.     friend class CPowerdownClient;
  2883. public:
  2884. __declspec(dllexport) static CSaveNotifier* NewL(MSaveObserver& aObserver);
  2885. __declspec(dllexport) ~CSaveNotifier();
  2886. __declspec(dllexport) void DelayRequeue();
  2887. __declspec(dllexport) void Queue();
  2888. __declspec(dllexport) void HandleError(TInt aError);
  2889. private:
  2890. __declspec(dllexport) TInt SwitchOff(MSaveObserver::TSaveType aAction, TBool aPowerOff);
  2891. inline CSaveNotifier(MSaveObserver& aObserver);
  2892. void ConstructL();
  2893. void Start();
  2894. private:
  2895. void DoCancel();
  2896. void RunL();
  2897. private:
  2898. RSaveSession iSaveSession;
  2899. MSaveObserver& iSaveObserver;
  2900. TUint iFlags;
  2901. };
  2902. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikdoc.h" /* stack depth 3 */
  2903. class CEikAppUi;
  2904. class CEikApplication;
  2905. class CApaWindowGroupName;
  2906. class CEikDocument : public CApaDocument, public MSaveObserver
  2907. #line 35
  2908. {
  2909. public:
  2910. #line 46
  2911. virtual CEikAppUi* CreateAppUiL()=0;
  2912. __declspec(dllexport) virtual CFileStore* OpenFileL(TBool aDoOpen,const TDesC& aFilename,RFs& aFs);
  2913. __declspec(dllexport) void PrepareToEditL(MApaEmbeddedDocObserver* aObserver,TBool aReadOnly);
  2914. __declspec(dllexport) void PrepareToEditL();
  2915. __declspec(dllexport) void SetAppFileMode(TUint aMode);
  2916. __declspec(dllexport) TUint AppFileMode() const;
  2917. __declspec(dllexport) virtual void UpdateTaskNameL(CApaWindowGroupName* aWgName);
  2918. __declspec(dllexport) const TApaAppCaption& AppCaption() const;
  2919. __declspec(dllexport) void SetChanged(TBool aHasChanged);
  2920. __declspec(dllexport) void SetEditStoreL(CStreamStore* aStore);
  2921. void SetEditStoreWithoutAppUiNotificationL(CStreamStore* aStore);
  2922. inline CStreamStore* EditStore() const;
  2923. __declspec(dllexport) ~CEikDocument();
  2924. public:
  2925. __declspec(dllexport) virtual void SaveL(MSaveObserver::TSaveType aSaveType);
  2926. public:
  2927. __declspec(dllexport) void NewDocumentL();
  2928. __declspec(dllexport) CFileStore* CreateFileStoreLC(RFs& aFs,const TDesC& aFileName);
  2929. __declspec(dllexport) void EditL(MApaEmbeddedDocObserver* aObserver,TBool aReadOnly=EFalse);
  2930. __declspec(dllexport) void PrintL(const CStreamStore& aSourceStore);
  2931. __declspec(dllexport) void SaveL();
  2932. __declspec(dllexport) void StoreL(CStreamStore& aStore,CStreamDictionary& aStreamDic) const;
  2933. __declspec(dllexport) void RestoreL(const CStreamStore& aStore,const CStreamDictionary& aStreamDic);
  2934. __declspec(dllexport) void ExternalizeL(RWriteStream& aStream) const;
  2935. __declspec(dllexport) TBool IsEmpty() const;
  2936. __declspec(dllexport) TBool HasChanged() const;
  2937. __declspec(dllexport) virtual void ValidatePasswordL()const;
  2938. protected:
  2939. __declspec(dllexport) CEikDocument();
  2940. __declspec(dllexport) CEikDocument(CEikApplication& aApp);
  2941. public:
  2942. __declspec(dllexport) virtual void OpenFileL(CFileStore*& aFileStore, RFile& aFile);
  2943. private:
  2944. void NullAppUi();
  2945. __declspec(dllexport) virtual void Reserved_2();
  2946. protected:
  2947. CEikAppUi* iAppUi;
  2948. CStreamStore* iEditStore;
  2949. private:
  2950. TBool iChanged;
  2951. TUint iAppFileMode;
  2952. friend class CEikAppUi;
  2953. };
  2954. #line 116
  2955. inline CStreamStore* CEikDocument::EditStore() const
  2956. { return(iEditStore); }
  2957. #line 25 "C:\Symbian\9.1\S60_3rd\epoc32\include\akndoc.h" /* stack depth 2 */
  2958. #line 34
  2959. class CAknDocument : public CEikDocument
  2960. {
  2961. public:
  2962. #line 46
  2963. __declspec(dllexport) CFileStore* OpenFileL(TBool aDoOpen,
  2964.                                const TDesC& aFilename,
  2965.                                RFs& aFs);
  2966. __declspec(dllexport) void OpenFileL(CFileStore*& aFileStore, RFile& aFile);
  2967. protected:
  2968. __declspec(dllexport) CAknDocument(CEikApplication& aApp);
  2969. };
  2970. #line 10 "C:\gbtukmanpf01\NOK124\Courses\S60\05300-S60_C++_Introduction\Working\LabCode\Lab_05304-s2.cb1\starter\inc\S60UIExampleDocument.h" /* stack depth 1 */
  2971. class CS60UIExampleAppUi;
  2972. class CEikApplication;
  2973. #line 26
  2974. class CS60UIExampleDocument : public CAknDocument
  2975.     {
  2976.     public:
  2977. #line 39
  2978.         static CS60UIExampleDocument* NewL(CEikApplication& aApp);
  2979. #line 49
  2980.         static CS60UIExampleDocument* NewLC(CEikApplication& aApp);
  2981.         virtual ~CS60UIExampleDocument();
  2982.     public:
  2983. #line 67
  2984.         CEikAppUi* CreateAppUiL();
  2985.     private:
  2986.         void ConstructL();
  2987.         CS60UIExampleDocument(CEikApplication& aApp);
  2988.     };
  2989. #line 3 "C:\gbtukmanpf01\NOK124\Courses\S60\05300-S60_C++_Introduction\Working\LabCode\Lab_05304-s2.cb1\starter\src\S60UIExampleApplication.cpp" /* stack depth 0 */
  2990. #line 1 "C:\gbtukmanpf01\NOK124\Courses\S60\05300-S60_C++_Introduction\Working\LabCode\Lab_05304-s2.cb1\starter\inc\S60UIExampleApplication.h" /* stack depth 1 */
  2991. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknapp.h" /* stack depth 2 */
  2992. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikapp.h" /* stack depth 3 */
  2993. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\apaflrec.h" /* stack depth 4 */
  2994. #line 17
  2995. class MApaAppStarter;
  2996. class CApaAppLocator;
  2997. class CApaFileRecognizer;
  2998. class CApaFileRecognizerType;
  2999. class CFileRecognizerExtension;
  3000. class TApaAppEntry;
  3001. class CApaCommandLine;
  3002. class RFs;
  3003. #line 44
  3004. const TInt KFileRecognizerUidValue8=0x1000013E;
  3005. const TUid KUidFileRecognizer8={KFileRecognizerUidValue8};
  3006. const TUid KUidFileRecognizer16={0x10003A37};
  3007. class CApaAppLocator : public CBase
  3008. {
  3009. public:
  3010. virtual TInt GetAppEntryByUid(TApaAppEntry& aAppEntry,TUid aAppUid)=0;
  3011. virtual TInt GetAppCapabilityByUid(TDes8& aCapabilityBuf,TUid aAppUid)=0;
  3012. };
  3013. class CApaFileRecognizer : public CBase
  3014. {
  3015. public:
  3016. __declspec(dllexport) CApaFileRecognizerType* RecognizeFileL(const TDesC& aFullFileName,const TUidType* aUidType=0 );
  3017. __declspec(dllexport) CApaAppLocator* AppLocator() const;
  3018. __declspec(dllexport) ~CApaFileRecognizer();
  3019. protected:
  3020. __declspec(dllexport) CApaFileRecognizer(RFs& aFs);
  3021. __declspec(dllexport) void AddFileRecognizerType(CApaFileRecognizerType* aFileRecognizerType);
  3022. __declspec(dllexport) TInt RemoveFileRecognizerType(const CApaFileRecognizerType* aFileRecognizerType);
  3023. __declspec(dllexport) void SetAppLocator(CApaAppLocator* aAppLocator);
  3024. static inline void SetAppStarter(CApaFileRecognizerType* aRecognizer,MApaAppStarter* aAppStarter);
  3025. __declspec(dllexport) void DestroyRecognizerList();
  3026. protected:
  3027. RFs& iFs;
  3028. CApaAppLocator* iAppLocator;
  3029. private:
  3030. CApaFileRecognizerType *iFileRecognizerList;
  3031. };
  3032. class MApaAppStarter
  3033. {
  3034. public:
  3035. virtual TThreadId StartAppL(const CApaCommandLine& aCommandLine)=0;
  3036. protected:
  3037. __declspec(dllexport) MApaAppStarter();
  3038. private:
  3039. __declspec(dllexport) virtual void MApaAppStarter_Reserved1();
  3040. __declspec(dllexport) virtual void MApaAppStarter_Reserved2();
  3041. private:
  3042. TInt iMApaAppStarter_Reserved1;
  3043. };
  3044. class CApaFileRecognizerType : public CBase
  3045. {
  3046. public:
  3047. enum TRecognizedType {EProgram,EDoc,EOtherFile,ENotRecognized};
  3048. public:
  3049. virtual TThreadId RunL(TApaCommand aCommand,const TDesC* aDocFileName=0 ,const TDesC8* aTailEnd=0 ) const=0;
  3050. inline TUid AppUid()const;
  3051. inline TUid TypeUid()const;
  3052. inline TRecognizedType Type()const;
  3053. __declspec(dllexport) void Capability(TDes8& aCapabilityBuf)const;
  3054. __declspec(dllexport) void Lock();
  3055. __declspec(dllexport) void Unlock();
  3056. protected:
  3057. __declspec(dllexport) CApaFileRecognizerType();
  3058. __declspec(dllexport) ~CApaFileRecognizerType();
  3059. __declspec(dllexport) TThreadId AppRunL(const CApaCommandLine& aCommandLine) const;
  3060. private:
  3061. inline void SetAppStarter(MApaAppStarter* aAppStarter);
  3062. virtual TRecognizedType DoRecognizeFileL(RFs& aFs,TUidType aUidType)=0;
  3063. TRecognizedType RecognizeFileL(RFs& aFs,const TDesC& aFullFileName,TUidType aUidType);
  3064. TBool Locked()const;
  3065. __declspec(dllexport) virtual void Reserved_1();
  3066. public:
  3067. __declspec(dllexport) static CApaFileRecognizerType* CreateFileRecognizerL(TUid aImplUid);
  3068. protected:
  3069. CApaFileRecognizer* iFileRecognizer;
  3070. MApaAppStarter* iAppStarter;
  3071. HBufC* iFullFileName;
  3072. TUid iFileType;
  3073. TUid iAppUid;
  3074. TRecognizedType iRecognizedType;
  3075. TApaAppCapabilityBuf* iCapabilityBuf;
  3076. private:
  3077. CApaFileRecognizerType* iNext;
  3078. TInt iLock;
  3079. CFileRecognizerExtension* iFileRecognizerExtn;
  3080. private:
  3081. friend class CApaFileRecognizer;
  3082. };
  3083. inline void CApaFileRecognizer::SetAppStarter(CApaFileRecognizerType* aRecognizer,MApaAppStarter* aAppStarter)
  3084. { aRecognizer->SetAppStarter(aAppStarter); }
  3085. inline void CApaFileRecognizerType::SetAppStarter(MApaAppStarter* aAppStarter)
  3086. { iAppStarter = aAppStarter; }
  3087. inline TUid CApaFileRecognizerType::AppUid() const
  3088. { return iAppUid; }
  3089. inline TUid CApaFileRecognizerType::TypeUid() const
  3090. { return iFileType; }
  3091. inline CApaFileRecognizerType::TRecognizedType CApaFileRecognizerType::Type()const
  3092. { return iRecognizedType; }
  3093. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikapp.h" /* stack depth 3 */
  3094. class CCoeEnv;
  3095. class CEikApplication : public CApaApplication
  3096. #line 31
  3097. {
  3098. public:
  3099. __declspec(dllexport) ~CEikApplication();
  3100. inline TInt ResourceFileOffset() const;
  3101. inline CApaProcess* Process() const;
  3102. inline const TApaAppCaption& AppCaption() const;
  3103. __declspec(dllexport) virtual void GetDefaultDocumentFileName(TFileName& aDocumentName) const;
  3104. __declspec(dllexport) virtual TFileName BitmapStoreName() const;
  3105. __declspec(dllexport) CDictionaryStore* OpenIniFileLC(RFs& aFs) const;
  3106. __declspec(dllexport) void Capability(TDes8& aInfo) const;
  3107. __declspec(dllexport) void SetToIniFileNameL(TParse& aParser) const;
  3108. protected:
  3109. __declspec(dllexport) void PreDocConstructL();
  3110. __declspec(dllexport) CApaDocument* CreateDocumentL(CApaProcess* aProcess);
  3111. __declspec(dllexport) void NewAppServerL(CApaAppServer*& aAppServer);
  3112. __declspec(dllexport) void EnsureCaptionIsLocalisedL(const TDesC& aLocalisableResourceFile);
  3113. protected:
  3114. __declspec(dllexport) CEikApplication();
  3115. public:
  3116. __declspec(dllexport) virtual TFileName ResourceFileName() const;
  3117. private:
  3118. __declspec(dllexport) virtual void CEikApplication_Reserved1();
  3119. __declspec(dllexport) virtual void CEikApplication_Reserved2();
  3120. private:
  3121. virtual CApaDocument* CreateDocumentL()=0;
  3122. private:
  3123. void ParseWithPathAndExt(TParse& aParse, const TDesC& aPath, const TDesC& aExt) const;
  3124. protected:
  3125. CCoeEnv* iCoeEnv;
  3126. TInt iResourceFileOffset;
  3127. private:
  3128. enum
  3129. {
  3130. EFlagCaptionCorrectlyLocalised=0x00000001
  3131. };
  3132. private:
  3133. CApaProcess* iProcess;
  3134. TApaAppCaption iCaption;
  3135. TApaAppCapabilityBuf* iCapabilityBuf;
  3136. TUint iAppFlags;
  3137. TInt iSpare;
  3138. };
  3139. inline TInt CEikApplication::ResourceFileOffset() const
  3140. { return(iResourceFileOffset); }
  3141. inline CApaProcess* CEikApplication::Process() const
  3142. { return(iProcess); }
  3143. inline const TApaAppCaption& CEikApplication::AppCaption() const
  3144. { return(iCaption); }
  3145. #line 26 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknapp.h" /* stack depth 2 */
  3146. #line 35
  3147. class CAknApplication : public CEikApplication
  3148. {
  3149. public:
  3150. #line 48
  3151. __declspec(dllexport) virtual void PreDocConstructL();
  3152. #line 60
  3153. __declspec(dllexport) CDictionaryStore* OpenIniFileLC(RFs& aFs) const;
  3154. __declspec(dllexport) void NewAppServerL(CApaAppServer*& aAppServer);
  3155. };
  3156. #line 14 "C:\gbtukmanpf01\NOK124\Courses\S60\05300-S60_C++_Introduction\Working\LabCode\Lab_05304-s2.cb1\starter\inc\S60UIExampleApplication.h" /* stack depth 1 */
  3157. #line 24
  3158. class CS60UIExampleApplication : public CAknApplication
  3159.     {
  3160.     public:
  3161.         TUid AppDllUid() const;
  3162.     protected:
  3163.         CApaDocument* CreateDocumentL();
  3164.     };
  3165. #line 4 "C:\gbtukmanpf01\NOK124\Courses\S60\05300-S60_C++_Introduction\Working\LabCode\Lab_05304-s2.cb1\starter\src\S60UIExampleApplication.cpp" /* stack depth 0 */
  3166. const TUid KUidS60UIExampleApp = { 0x08B9993D };
  3167. CApaDocument* CS60UIExampleApplication::CreateDocumentL()
  3168.     {
  3169.     return (static_cast<CApaDocument*>
  3170.                     ( CS60UIExampleDocument::NewL( *this ) ) );
  3171.     }
  3172. TUid CS60UIExampleApplication::AppDllUid() const
  3173.     {
  3174.     return KUidS60UIExampleApp;
  3175.     }