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

Symbian

开发平台:

C/C++

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