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

Symbian

开发平台:

C/C++

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