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

Symbian

开发平台:

C/C++

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