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

Symbian

开发平台:

C/C++

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