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

Symbian

开发平台:

C/C++

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