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

Symbian

开发平台:

C/C++

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