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

Symbian

开发平台:

C/C++

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