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

Symbian

开发平台:

C/C++

  1. template <class T,TInt S>
  2. inline void TFixedArray<T,S>::Copy(const T* aList,TInt aLength)
  3. #line 4529
  4. {(void)((TUint(aLength)<=TUint(S))||(PanicTFixedArray(),0)) ;Mem::Copy(iRep,aList,aLength*sizeof(T));}
  5. template <class T,TInt S>
  6. inline TFixedArray<T,S>::TFixedArray(const T* aList,TInt aLength)
  7. #line 4547
  8. {Copy(aList,aLength);}
  9. template <class T,TInt S>
  10. inline void TFixedArray<T,S>::Reset()
  11. {Mem::FillZ(iRep,sizeof(iRep));}
  12. template <class T,TInt S>
  13. inline TInt TFixedArray<T,S>::Count() const
  14. #line 4572
  15. {return S;}
  16. template <class T,TInt S>
  17. inline TInt TFixedArray<T,S>::Length() const
  18. {return sizeof(T);}
  19. template <class T,TInt S>
  20. inline TBool TFixedArray<T,S>::InRange(TInt aIndex)
  21. {return TUint(aIndex)<S;}
  22. template <class T,TInt S>
  23. inline T& TFixedArray<T,S>::operator[](TInt aIndex)
  24. #line 4610
  25. {(void)((InRange(aIndex))||(PanicTFixedArray(),0)) ;return iRep[aIndex];}
  26. template <class T,TInt S>
  27. inline const T& TFixedArray<T,S>::operator[](TInt aIndex) const
  28. #line 4630
  29. {return (const_cast<ThisClass&>(*this)) [aIndex];}
  30. template <class T,TInt S>
  31. inline T& TFixedArray<T,S>::At(TInt aIndex)
  32. #line 4649
  33. {(void)((InRange(aIndex))||(PanicTFixedArray(),0)) ;return iRep[aIndex];}
  34. template <class T,TInt S>
  35. inline const T& TFixedArray<T,S>::At(TInt aIndex) const
  36. #line 4669
  37. {return (const_cast<ThisClass&>(*this)) .At(aIndex);}
  38. template <class T,TInt S>
  39. inline T* TFixedArray<T,S>::Begin()
  40. {return &iRep[0];}
  41. template <class T,TInt S>
  42. inline T* TFixedArray<T,S>::End()
  43. {return &iRep[S];}
  44. template <class T,TInt S>
  45. inline const T* TFixedArray<T,S>::Begin() const
  46. {return &iRep[0];}
  47. template <class T,TInt S>
  48. inline const T* TFixedArray<T,S>::End() const
  49. {return &iRep[S];}
  50. template <class T,TInt S>
  51. inline TInt TFixedArray<T,S>::CountFunctionR(const CBase*)
  52. {return S;}
  53. template <class T,TInt S>
  54. inline const TAny* TFixedArray<T,S>::AtFunctionR(const CBase* aThis,TInt aIndex)
  55. {return &(reinterpret_cast<const ThisClass&>(*aThis)) [aIndex];}
  56. template <class T,TInt S>
  57. inline TArray<T> TFixedArray<T,S>::Array() const
  58. {return TArray<T>(CountFunctionR,AtFunctionR,(reinterpret_cast<const CBase*>(this)) );}
  59. template <class T,TInt S>
  60. inline void TFixedArray<T,S>::DeleteAll()
  61. #line 4759
  62. {_ArrayUtil<T>::Delete(iRep,S);}
  63. inline RHeap* User::SwitchHeap(RAllocator* aHeap)
  64. { return (RHeap*)SwitchAllocator(aHeap); }
  65. inline RHeap& User::Heap()
  66. { return (RHeap&)Allocator(); }
  67. inline TBool User::CreatorHasCapability(TCapability aCapability, const char* aDiagnostic)
  68. {
  69. return DoCreatorHasCapability(aCapability, aDiagnostic);
  70. }
  71. inline TBool User::CreatorHasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic)
  72. {
  73. return DoCreatorHasCapability(aCapability1, aCapability2, aDiagnostic);
  74. }
  75. #line 4833
  76. inline void TSecurityInfo::SetToCurrentInfo()
  77. { new (this) TSecurityInfo(RProcess()); }
  78. inline void TSecurityInfo::Set(RProcess aProcess)
  79. { new (this) TSecurityInfo(aProcess); }
  80. inline void TSecurityInfo::Set(RThread aThread)
  81. { new (this) TSecurityInfo(aThread); }
  82. inline void TSecurityInfo::Set(RMessagePtr2 aMsgPtr)
  83. { new (this) TSecurityInfo(aMsgPtr); }
  84. #line 4869
  85. inline TBool TSecurityPolicy::CheckPolicy(RProcess aProcess, const char* aDiagnostic) const
  86. {
  87. return DoCheckPolicy(aProcess, aDiagnostic);
  88. }
  89. #line 4892
  90. inline TBool TSecurityPolicy::CheckPolicy(RThread aThread, const char* aDiagnostic) const
  91. {
  92. return DoCheckPolicy(aThread, aDiagnostic);
  93. }
  94. #line 4914
  95. inline TBool TSecurityPolicy::CheckPolicy(RMessagePtr2 aMsgPtr, const char* aDiagnostic) const
  96. {
  97. return DoCheckPolicy(aMsgPtr, aDiagnostic);
  98. }
  99. #line 4938
  100. inline TBool TSecurityPolicy::CheckPolicy(RMessagePtr2 aMsgPtr, TSecurityInfo& aMissing, const char* aDiagnostic) const
  101. {
  102. return DoCheckPolicy(aMsgPtr, aMissing, aDiagnostic);
  103. }
  104. #line 4958
  105. inline TBool TSecurityPolicy::CheckPolicyCreator(const char* aDiagnostic) const
  106. {
  107. return DoCheckPolicyCreator(aDiagnostic);
  108. }
  109. inline TBool TStaticSecurityPolicy::CheckPolicy(RProcess aProcess, const char* aDiagnostic) const
  110. {
  111. return (&(*this))->CheckPolicy(aProcess, aDiagnostic);
  112. }
  113. inline TBool TStaticSecurityPolicy::CheckPolicy(RThread aThread, const char* aDiagnostic) const
  114. {
  115. return (&(*this))->CheckPolicy(aThread, aDiagnostic);
  116. }
  117. inline TBool TStaticSecurityPolicy::CheckPolicy(RMessagePtr2 aMsgPtr, const char* aDiagnostic) const
  118. {
  119. return (&(*this))->CheckPolicy(aMsgPtr, aDiagnostic);
  120. }
  121. inline TBool TStaticSecurityPolicy::CheckPolicy(RMessagePtr2 aMsgPtr, TSecurityInfo& aMissing, const char* aDiagnostic) const
  122. {
  123. return (&(*this))->CheckPolicy(aMsgPtr, aMissing, aDiagnostic);
  124. }
  125. inline TBool TStaticSecurityPolicy::CheckPolicyCreator(const char* aDiagnostic) const
  126. {
  127. return (&(*this))->CheckPolicyCreator(aDiagnostic);
  128. }
  129. #line 5241
  130. template <class T>
  131. inline void RPointerArray<T>::AppendL(const T* anEntry)
  132. { User::LeaveIfError(Append(anEntry));}
  133. #line 5262
  134. template <class T>
  135. inline void RPointerArray<T>::InsertL(const T* anEntry, TInt aPos)
  136. { User::LeaveIfError(Insert(anEntry,aPos)); }
  137. #line 5282
  138. template <class T>
  139. inline TInt RPointerArray<T>::FindL(const T* anEntry) const
  140. { return User::LeaveIfError(Find(anEntry));}
  141. #line 5306
  142. template <class T>
  143. inline TInt RPointerArray<T>::FindL(const T* anEntry, TIdentityRelation<T> anIdentity) const
  144. { return User::LeaveIfError(Find(anEntry, anIdentity));}
  145. #line 5324
  146. template <class T>
  147. inline TInt RPointerArray<T>::FindInAddressOrderL(const T* anEntry) const
  148. { return User::LeaveIfError(FindInAddressOrder(anEntry));}
  149. #line 5347
  150. template <class T>
  151. inline TInt RPointerArray<T>::FindInOrderL(const T* anEntry, TLinearOrder<T> anOrder) const
  152. { return User::LeaveIfError(FindInOrder(anEntry, anOrder));}
  153. #line 5370
  154. template <class T>
  155. inline void RPointerArray<T>::FindInAddressOrderL(const T* anEntry, TInt& anIndex) const
  156. { User::LeaveIfError(FindInAddressOrder(anEntry, anIndex)); }
  157. #line 5398
  158. template <class T>
  159. inline void RPointerArray<T>::FindInOrderL(const T* anEntry, TInt& anIndex, TLinearOrder<T> anOrder) const
  160. { User::LeaveIfError(FindInOrder(anEntry, anIndex, anOrder)); }
  161. #line 5430
  162. template <class T>
  163. inline TInt RPointerArray<T>::SpecificFindInAddressOrderL(const T* anEntry, TInt aMode) const
  164. { return User::LeaveIfError(SpecificFindInAddressOrder(anEntry, aMode));}
  165. #line 5466
  166. template <class T>
  167. inline TInt RPointerArray<T>::SpecificFindInOrderL(const T* anEntry, TLinearOrder<T> anOrder, TInt aMode) const
  168. { return User::LeaveIfError(SpecificFindInOrder(anEntry, anOrder, aMode));}
  169. #line 5504
  170. template <class T>
  171. inline void RPointerArray<T>::SpecificFindInAddressOrderL(const T* anEntry, TInt& anIndex, TInt aMode) const
  172. { User::LeaveIfError(SpecificFindInAddressOrder(anEntry, anIndex, aMode)); }
  173. #line 5546
  174. template <class T>
  175. inline void RPointerArray<T>::SpecificFindInOrderL(const T* anEntry, TInt& anIndex, TLinearOrder<T> anOrder, TInt aMode) const
  176. { User::LeaveIfError(SpecificFindInOrder(anEntry, anIndex, anOrder, aMode)); }
  177. #line 5564
  178. template <class T>
  179. inline void RPointerArray<T>::InsertInAddressOrderL(const T* anEntry)
  180. { User::LeaveIfError(InsertInAddressOrder(anEntry)); }
  181. #line 5592
  182. template <class T>
  183. inline void RPointerArray<T>::InsertInOrderL(const T* anEntry, TLinearOrder<T> anOrder)
  184. { User::LeaveIfError(InsertInOrder(anEntry, anOrder)); }
  185. #line 5614
  186. template <class T>
  187. inline void RPointerArray<T>::InsertInAddressOrderAllowRepeatsL(const T* anEntry)
  188. { User::LeaveIfError(InsertInAddressOrderAllowRepeats(anEntry)); }
  189. #line 5639
  190. template <class T>
  191. inline void RPointerArray<T>::InsertInOrderAllowRepeatsL(const T* anEntry, TLinearOrder<T> anOrder)
  192. { User::LeaveIfError(InsertInOrderAllowRepeats(anEntry, anOrder)); }
  193. #line 5656
  194. template <class T>
  195. inline void RPointerArray<T>::ReserveL(TInt aCount)
  196. { User::LeaveIfError(RPointerArrayBase::DoReserve(aCount)); }
  197. #line 5673
  198. inline void RPointerArray<TAny>::AppendL(const TAny* anEntry)
  199. { User::LeaveIfError(Append(anEntry));}
  200. #line 5693
  201. inline void RPointerArray<TAny>::InsertL(const TAny* anEntry, TInt aPos)
  202. { User::LeaveIfError(Insert(anEntry,aPos)); }
  203. #line 5712
  204. inline TInt RPointerArray<TAny>::FindL(const TAny* anEntry) const
  205. { return User::LeaveIfError(Find(anEntry));}
  206. #line 5729
  207. inline TInt RPointerArray<TAny>::FindInAddressOrderL(const TAny* anEntry) const
  208. { return User::LeaveIfError(FindInAddressOrder(anEntry));}
  209. #line 5751
  210. inline void RPointerArray<TAny>::FindInAddressOrderL(const TAny* anEntry, TInt& anIndex) const
  211. { User::LeaveIfError(FindInAddressOrder(anEntry, anIndex)); }
  212. #line 5782
  213. inline TInt RPointerArray<TAny>::SpecificFindInAddressOrderL(const TAny* anEntry, TInt aMode) const
  214. { return User::LeaveIfError(SpecificFindInAddressOrder(anEntry, aMode));}
  215. #line 5819
  216. inline void RPointerArray<TAny>::SpecificFindInAddressOrderL(const TAny* anEntry, TInt& anIndex, TInt aMode) const
  217. { User::LeaveIfError(SpecificFindInAddressOrder(anEntry, anIndex, aMode)); }
  218. #line 5835
  219. inline void RPointerArray<TAny>::InsertInAddressOrderL(const TAny* anEntry)
  220. { User::LeaveIfError(InsertInAddressOrder(anEntry)); }
  221. #line 5856
  222. inline void RPointerArray<TAny>::InsertInAddressOrderAllowRepeatsL(const TAny* anEntry)
  223. { User::LeaveIfError(InsertInAddressOrderAllowRepeats(anEntry)); }
  224. #line 5869
  225. template <class T>
  226. inline void RArray<T>::AppendL(const T& anEntry)
  227. { User::LeaveIfError(Append(anEntry));}
  228. #line 5890
  229. template <class T>
  230. inline void RArray<T>::InsertL(const T& anEntry, TInt aPos)
  231. { User::LeaveIfError(Insert(anEntry, aPos));}
  232. #line 5912
  233. template <class T>
  234. inline TInt RArray<T>::FindL(const T& anEntry) const
  235. { return User::LeaveIfError(Find(anEntry));}
  236. #line 5937
  237. template <class T>
  238. inline TInt RArray<T>::FindL(const T& anEntry, TIdentityRelation<T> anIdentity) const
  239. { return User::LeaveIfError(Find(anEntry, anIdentity));}
  240. #line 5956
  241. template <class T>
  242. inline TInt RArray<T>::FindInSignedKeyOrderL(const T& anEntry) const
  243. { return User::LeaveIfError(FindInSignedKeyOrder(anEntry));}
  244. #line 5975
  245. template <class T>
  246. inline TInt RArray<T>::FindInUnsignedKeyOrderL(const T& anEntry) const
  247. { return User::LeaveIfError(FindInUnsignedKeyOrder(anEntry));}
  248. #line 5997
  249. template <class T>
  250. inline TInt RArray<T>::FindInOrderL(const T& anEntry, TLinearOrder<T> anOrder) const
  251. { return User::LeaveIfError(FindInOrder(anEntry, anOrder));}
  252. #line 6018
  253. template <class T>
  254. inline void RArray<T>::FindInSignedKeyOrderL(const T& anEntry, TInt& anIndex) const
  255. { User::LeaveIfError(FindInSignedKeyOrder(anEntry, anIndex));}
  256. #line 6039
  257. template <class T>
  258. inline void RArray<T>::FindInUnsignedKeyOrderL(const T& anEntry, TInt& anIndex) const
  259. { User::LeaveIfError(FindInUnsignedKeyOrder(anEntry, anIndex));}
  260. #line 6063
  261. template <class T>
  262. inline void RArray<T>::FindInOrderL(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder) const
  263. { User::LeaveIfError(FindInOrder(anEntry, anIndex, anOrder));}
  264. #line 6096
  265. template <class T>
  266. inline TInt RArray<T>::SpecificFindInSignedKeyOrderL(const T& anEntry, TInt aMode) const
  267. { return User::LeaveIfError(SpecificFindInSignedKeyOrder(anEntry, aMode));}
  268. #line 6130
  269. template <class T>
  270. inline TInt RArray<T>::SpecificFindInUnsignedKeyOrderL(const T& anEntry, TInt aMode) const
  271. { return User::LeaveIfError(SpecificFindInUnsignedKeyOrder(anEntry, aMode));}
  272. #line 6166
  273. template <class T>
  274. inline TInt RArray<T>::SpecificFindInOrderL(const T& anEntry, TLinearOrder<T> anOrder, TInt aMode) const
  275. { return User::LeaveIfError(SpecificFindInOrder(anEntry, anOrder, aMode));}
  276. #line 6207
  277. template <class T>
  278. inline void RArray<T>::SpecificFindInSignedKeyOrderL(const T& anEntry, TInt& anIndex, TInt aMode) const
  279. { User::LeaveIfError(SpecificFindInSignedKeyOrder(anEntry, anIndex, aMode));}
  280. #line 6246
  281. template <class T>
  282. inline void RArray<T>::SpecificFindInUnsignedKeyOrderL(const T& anEntry, TInt& anIndex, TInt aMode) const
  283. { User::LeaveIfError(SpecificFindInUnsignedKeyOrder(anEntry, anIndex, aMode));}
  284. #line 6288
  285. template <class T>
  286. inline void RArray<T>::SpecificFindInOrderL(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder, TInt aMode) const
  287. { User::LeaveIfError(SpecificFindInOrder(anEntry, anIndex, anOrder, aMode));}
  288. #line 6309
  289. template <class T>
  290. inline void RArray<T>::InsertInSignedKeyOrderL(const T& anEntry)
  291. { User::LeaveIfError(InsertInSignedKeyOrder(anEntry));}
  292. #line 6329
  293. template <class T>
  294. inline void RArray<T>::InsertInUnsignedKeyOrderL(const T& anEntry)
  295. { User::LeaveIfError(InsertInUnsignedKeyOrder(anEntry));}
  296. #line 6355
  297. template <class T>
  298. inline void RArray<T>::InsertInOrderL(const T& anEntry, TLinearOrder<T> anOrder)
  299. { User::LeaveIfError(InsertInOrder(anEntry, anOrder));}
  300. #line 6378
  301. template <class T>
  302. inline void RArray<T>::InsertInSignedKeyOrderAllowRepeatsL(const T& anEntry)
  303. { User::LeaveIfError(InsertInSignedKeyOrderAllowRepeats(anEntry));}
  304. #line 6401
  305. template <class T>
  306. inline void RArray<T>::InsertInUnsignedKeyOrderAllowRepeatsL(const T& anEntry)
  307. { User::LeaveIfError(InsertInUnsignedKeyOrderAllowRepeats(anEntry));}
  308. #line 6427
  309. template <class T>
  310. inline void RArray<T>::InsertInOrderAllowRepeatsL(const T& anEntry, TLinearOrder<T> anOrder)
  311. { User::LeaveIfError(InsertInOrderAllowRepeats(anEntry, anOrder));}
  312. #line 6444
  313. template <class T>
  314. inline void RArray<T>::ReserveL(TInt aCount)
  315. { User::LeaveIfError(RArrayBase::DoReserve(aCount)); }
  316. #line 6460
  317. inline void RArray<TInt>::AppendL(TInt anEntry)
  318. { User::LeaveIfError(Append(anEntry));}
  319. #line 6479
  320. inline void RArray<TInt>::InsertL(TInt anEntry, TInt aPos)
  321. { User::LeaveIfError(Insert(anEntry, aPos));}
  322. #line 6497
  323. inline TInt RArray<TInt>::FindL(TInt anEntry) const
  324. { return User::LeaveIfError(Find(anEntry));}
  325. #line 6514
  326. inline TInt RArray<TInt>::FindInOrderL(TInt anEntry) const
  327. { return User::LeaveIfError(FindInOrder(anEntry));}
  328. #line 6535
  329. inline void RArray<TInt>::FindInOrderL(TInt anEntry, TInt& anIndex) const
  330. { User::LeaveIfError(FindInOrder(anEntry, anIndex));}
  331. #line 6566
  332. inline TInt RArray<TInt>::SpecificFindInOrderL(TInt anEntry, TInt aMode) const
  333. { return User::LeaveIfError(SpecificFindInOrder(anEntry, aMode));}
  334. #line 6603
  335. inline void RArray<TInt>::SpecificFindInOrderL(TInt anEntry, TInt& anIndex, TInt aMode) const
  336. { User::LeaveIfError(SpecificFindInOrder(anEntry, anIndex, aMode));}
  337. #line 6623
  338. inline void RArray<TInt>::InsertInOrderL(TInt anEntry)
  339. { User::LeaveIfError(InsertInOrder(anEntry));}
  340. #line 6645
  341. inline void RArray<TInt>::InsertInOrderAllowRepeatsL(TInt anEntry)
  342. { User::LeaveIfError(InsertInOrderAllowRepeats(anEntry));}
  343. #line 6661
  344. inline void RArray<TInt>::ReserveL(TInt aCount)
  345. { User::LeaveIfError(RPointerArrayBase::DoReserve(aCount)); }
  346. #line 6676
  347. inline void RArray<TUint>::AppendL(TUint anEntry)
  348. { User::LeaveIfError(Append(anEntry));}
  349. #line 6696
  350. inline void RArray<TUint>::InsertL(TUint anEntry, TInt aPos)
  351. { User::LeaveIfError(Insert(anEntry, aPos));}
  352. #line 6713
  353. inline TInt RArray<TUint>::FindL(TUint anEntry) const
  354. { return User::LeaveIfError(Find(anEntry));}
  355. #line 6731
  356. inline TInt RArray<TUint>::FindInOrderL(TUint anEntry) const
  357. { return User::LeaveIfError(FindInOrder(anEntry));}
  358. #line 6755
  359. inline void RArray<TUint>::FindInOrderL(TUint anEntry, TInt& anIndex) const
  360. { User::LeaveIfError(FindInOrder(anEntry, anIndex));}
  361. #line 6786
  362. inline TInt RArray<TUint>::SpecificFindInOrderL(TUint anEntry, TInt aMode) const
  363. { return User::LeaveIfError(SpecificFindInOrder(anEntry, aMode));}
  364. #line 6822
  365. inline void RArray<TUint>::SpecificFindInOrderL(TUint anEntry, TInt& anIndex, TInt aMode) const
  366. { User::LeaveIfError(SpecificFindInOrder(anEntry, anIndex, aMode));}
  367. #line 6842
  368. inline void RArray<TUint>::InsertInOrderL(TUint anEntry)
  369. { User::LeaveIfError(InsertInOrder(anEntry));}
  370. #line 6864
  371. inline void RArray<TUint>::InsertInOrderAllowRepeatsL(TUint anEntry)
  372. { User::LeaveIfError(InsertInOrderAllowRepeats(anEntry));}
  373. #line 6880
  374. inline void RArray<TUint>::ReserveL(TInt aCount)
  375. { User::LeaveIfError(RPointerArrayBase::DoReserve(aCount)); }
  376. #line 6891
  377. inline void RMessagePtr2::SetProcessPriorityL(TProcessPriority aPriority) const
  378. { User::LeaveIfError(SetProcessPriority(aPriority));}
  379. #line 6903
  380. inline void RMessagePtr2::ClientL(RThread& aClient, TOwnerType aOwnerType) const
  381. { User::LeaveIfError(Client(aClient, aOwnerType));}
  382. inline TBool RMessagePtr2::HasCapability(TCapability aCapability, const char* aDiagnostic) const
  383. {
  384. return DoHasCapability(aCapability, aDiagnostic);
  385. }
  386. inline void RMessagePtr2::HasCapabilityL(TCapability aCapability, const char* aDiagnosticMessage) const
  387. {
  388. if (!HasCapability(aCapability, aDiagnosticMessage))
  389. {
  390. User::Leave(KErrPermissionDenied);
  391. }
  392. }
  393. inline TBool RMessagePtr2::HasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic) const
  394. {
  395. return DoHasCapability(aCapability1, aCapability2, aDiagnostic);
  396. }
  397. inline void RMessagePtr2::HasCapabilityL(TCapability aCapability1, TCapability aCapability2, const char* aDiagnosticMessage) const
  398. {
  399. if (!HasCapability(aCapability1, aCapability2, aDiagnosticMessage))
  400. {
  401. User::Leave(KErrPermissionDenied);
  402. }
  403. }
  404. #line 6995
  405. inline TInt RThread::RenameMe(const TDesC& aName)
  406. { return User::RenameThread(aName); }
  407. inline TInt RProcess::RenameMe(const TDesC& aName)
  408. { return User::RenameProcess(aName); }
  409. #line 7044
  410. extern "C" bool __uncaught_exception(void);
  411. namespace std {
  412. inline bool uncaught_exception(void) { return ::__uncaught_exception(); }
  413. }
  414. #line 4892 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32std.h" /* stack depth 4 */
  415. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\babitflags.h" /* stack depth 3 */
  416. template <class T>
  417. class TBitFlagsT
  418. {
  419. public:
  420. inline TBitFlagsT();
  421. inline TBitFlagsT(T aFlags);
  422. inline TBitFlagsT(const TBitFlagsT& aFlags);
  423. public:
  424. inline void SetAll();
  425. inline void ClearAll();
  426. inline void Set(TInt aFlagIndex);
  427. inline void Clear(TInt aFlagIndex);
  428. inline void Assign(TInt aFlagIndex, TBool aValue);
  429. inline void Toggle(TInt aFlagIndex);
  430. public:
  431. inline TBool operator[](TInt aFlagIndex) const;
  432. inline TBitFlagsT& operator=(const TBitFlagsT& aFlags);
  433. inline TBool operator==(const TBitFlagsT& aFlags);
  434. public:
  435. inline TBool IsSet(TInt aFlagIndex) const;
  436. inline TBool IsClear(TInt aFlagIndex) const;
  437. inline T Value() const { return iFlags; }
  438. inline void SetValue(T aFlags) { iFlags = aFlags; }
  439. private:
  440. inline T FlagMask(TInt aFlagIndex) const;
  441. public:
  442. T iFlags;
  443. };
  444. typedef TBitFlagsT<TUint8> TBitFlags8;
  445. typedef TBitFlagsT<TUint16> TBitFlags16;
  446. typedef TBitFlagsT<TUint32> TBitFlags32;
  447. typedef TBitFlags32 TBitFlags;
  448. template <class T>
  449. inline TBitFlagsT<T>::TBitFlagsT() : iFlags(0)
  450. {}
  451. template <class T>
  452. inline TBitFlagsT<T>::TBitFlagsT(T aFlags) : iFlags(aFlags)
  453. {}
  454. template <class T>
  455. inline TBitFlagsT<T>::TBitFlagsT(const TBitFlagsT<T>& aFlags) : iFlags(aFlags.iFlags)
  456. {}
  457. template <class T>
  458. inline T TBitFlagsT<T>::FlagMask(TInt aFlagIndex) const
  459. { return T(T(1)<<aFlagIndex); }
  460. template <class T>
  461. inline TBool TBitFlagsT<T>::IsSet(TInt aFlagIndex) const
  462. { return iFlags & FlagMask(aFlagIndex); }
  463. template <class T>
  464. inline TBool TBitFlagsT<T>::IsClear(TInt aFlagIndex) const
  465. { return !IsSet(aFlagIndex); }
  466. template <class T>
  467. inline void TBitFlagsT<T>::Set(TInt aFlagIndex)
  468. { iFlags |= FlagMask(aFlagIndex); }
  469. template <class T>
  470. inline void TBitFlagsT<T>::Clear(TInt aFlagIndex)
  471. { iFlags &= ~(FlagMask(aFlagIndex)); }
  472. template <class T>
  473. inline void TBitFlagsT<T>::Assign(TInt aFlagIndex, TBool aVal)
  474. { if (aVal) Set(aFlagIndex); else Clear(aFlagIndex); }
  475. template <class T>
  476. inline void TBitFlagsT<T>::Toggle(TInt aFlagIndex)
  477. { iFlags ^= FlagMask(aFlagIndex); }
  478. template <class T>
  479. inline TBool TBitFlagsT<T>::operator[](TInt aFlagIndex) const
  480. { return IsSet(aFlagIndex); }
  481. template <class T>
  482. inline TBitFlagsT<T>& TBitFlagsT<T>::operator=(const TBitFlagsT<T>& aFlags)
  483. { iFlags = aFlags.iFlags; return *this; }
  484. template <class T>
  485. inline TBool TBitFlagsT<T>::operator==(const TBitFlagsT<T>& aFlags)
  486. { return iFlags == aFlags.Value(); }
  487. template <class T>
  488. inline void TBitFlagsT<T>::SetAll()
  489. { iFlags = ~(T(0)); }
  490. template <class T>
  491. inline void TBitFlagsT<T>::ClearAll()
  492. { iFlags = T(0); }
  493. #line 29 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknview.h" /* stack depth 2 */
  494. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\coecntrl.h" /* stack depth 3 */
  495. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32base.h" /* stack depth 4 */
  496. #line 13
  497. class CBase
  498. #line 42
  499. {
  500. public:
  501. inline CBase() {}
  502. __declspec(dllexport) virtual ~CBase();
  503. inline TAny* operator new(TUint aSize, TAny* aBase) throw() ;
  504. inline TAny* operator new(TUint aSize) throw() ;
  505. inline TAny* operator new(TUint aSize, TLeave);
  506. inline TAny* operator new(TUint aSize, TUint aExtraSize) throw() ;
  507. inline TAny* operator new(TUint aSize, TLeave, TUint aExtraSize);
  508. __declspec(dllexport) static void Delete(CBase* aPtr);
  509. protected:
  510. __declspec(dllexport) virtual TInt Extension_(TUint aExtensionId, TAny*& a0, TAny* a1);
  511. private:
  512. CBase(const CBase&);
  513. CBase& operator=(const CBase&);
  514. private:
  515. };
  516. class CBufBase : public CBase
  517. #line 86
  518. {
  519. public:
  520. __declspec(dllexport) ~CBufBase();
  521. inline TInt Size() const;
  522. __declspec(dllexport) void Reset();
  523. __declspec(dllexport) void Read(TInt aPos,TDes8& aDes) const;
  524. __declspec(dllexport) void Read(TInt aPos,TDes8& aDes,TInt aLength) const;
  525. __declspec(dllexport) void Read(TInt aPos,TAny* aPtr,TInt aLength) const;
  526. __declspec(dllexport) void Write(TInt aPos,const TDesC8& aDes);
  527. __declspec(dllexport) void Write(TInt aPos,const TDesC8& aDes,TInt aLength);
  528. __declspec(dllexport) void Write(TInt aPos,const TAny* aPtr,TInt aLength);
  529. __declspec(dllexport) void InsertL(TInt aPos,const TDesC8& aDes);
  530. __declspec(dllexport) void InsertL(TInt aPos,const TDesC8& aDes,TInt aLength);
  531. __declspec(dllexport) void InsertL(TInt aPos,const TAny* aPtr,TInt aLength);
  532. __declspec(dllexport) void ExpandL(TInt aPos,TInt aLength);
  533. __declspec(dllexport) void ResizeL(TInt aSize);
  534. #line 117
  535.     virtual void Compress()=0;
  536. #line 131
  537. virtual void Delete(TInt aPos,TInt aLength)=0;
  538. #line 147
  539. virtual TPtr8 Ptr(TInt aPos)=0;
  540. #line 168
  541. virtual TPtr8 BackPtr(TInt aPos)=0;
  542. private:
  543. virtual void DoInsertL(TInt aPos,const TAny* aPtr,TInt aLength)=0;
  544. protected:
  545. __declspec(dllexport) CBufBase(TInt anExpandSize);
  546. protected:
  547. TInt iSize;
  548. TInt iExpandSize;
  549. };
  550. class CBufFlat : public CBufBase
  551. #line 195
  552. {
  553. public:
  554. __declspec(dllexport) ~CBufFlat();
  555. __declspec(dllexport) static CBufFlat* NewL(TInt anExpandSize);
  556. inline TInt Capacity() const;
  557. __declspec(dllexport) void SetReserveL(TInt aSize);
  558. __declspec(dllexport) void Compress();
  559. __declspec(dllexport) void Delete(TInt aPos,TInt aLength);
  560. __declspec(dllexport) TPtr8 Ptr(TInt aPos);
  561. __declspec(dllexport) TPtr8 BackPtr(TInt aPos);
  562. protected:
  563. __declspec(dllexport) CBufFlat(TInt anExpandSize);
  564. private:
  565. __declspec(dllexport) void DoInsertL(TInt aPos,const TAny* aPtr,TInt aLength);
  566. private:
  567. TInt iMaxSize;
  568. TUint8* iPtr;
  569. };
  570. class TBufSegLink;
  571. class CBufSeg : public CBufBase
  572. #line 238
  573. {
  574. public:
  575. __declspec(dllexport) ~CBufSeg();
  576. __declspec(dllexport) static CBufSeg* NewL(TInt anExpandSize);
  577.     __declspec(dllexport) void Compress();
  578. __declspec(dllexport) void Delete(TInt aPos,TInt aLength);
  579. __declspec(dllexport) TPtr8 Ptr(TInt aPos);
  580. __declspec(dllexport) TPtr8 BackPtr(TInt aPos);
  581. protected:
  582. __declspec(dllexport) CBufSeg(TInt anExpandSize);
  583. void InsertIntoSegment(TBufSegLink* aSeg,TInt anOffset,const TAny* aPtr,TInt aLength);
  584. void DeleteFromSegment(TBufSegLink* aSeg,TInt anOffset,TInt aLength);
  585. void FreeSegment(TBufSegLink* aSeg);
  586.     void SetSBO(TInt aPos);
  587. void AllocSegL(TBufSegLink* aSeg,TInt aNumber);
  588. private:
  589. __declspec(dllexport) void DoInsertL(TInt aPos,const TAny* aPtr,TInt aLength);
  590. private:
  591.     TDblQue<TBufSegLink> iQue;
  592. TBufSegLink* iSeg;
  593. TInt iBase;
  594. TInt iOffset;
  595. };
  596. class TKeyArrayFix : public TKey
  597. #line 289
  598. {
  599. public:
  600. __declspec(dllexport) TKeyArrayFix(TInt anOffset,TKeyCmpText aType);
  601. __declspec(dllexport) TKeyArrayFix(TInt anOffset,TKeyCmpText aType,TInt aLength);
  602. __declspec(dllexport) TKeyArrayFix(TInt anOffset,TKeyCmpNumeric aType);
  603. protected:
  604. __declspec(dllexport) virtual void Set(CBufBase* aBase,TInt aRecordLength);
  605. __declspec(dllexport) TAny* At(TInt anIndex) const;
  606. protected:
  607. TInt iRecordLength;
  608. CBufBase* iBase;
  609. friend class CArrayFixBase;
  610. };
  611. typedef CBufBase*(*TBufRep)(TInt anExpandSize);
  612. class CArrayFixBase : public CBase
  613. #line 319
  614. {
  615. public:
  616. __declspec(dllexport) ~CArrayFixBase();
  617. inline TInt Count() const;
  618. inline TInt Length() const;
  619. __declspec(dllexport) void Compress();
  620. __declspec(dllexport) void Reset();
  621. __declspec(dllexport) TInt Sort(TKeyArrayFix& aKey);
  622. __declspec(dllexport) TAny* At(TInt anIndex) const;
  623. __declspec(dllexport) TAny* End(TInt anIndex) const;
  624. __declspec(dllexport) TAny* Back(TInt anIndex) const;
  625. __declspec(dllexport) void Delete(TInt anIndex);
  626. __declspec(dllexport) void Delete(TInt anIndex,TInt aCount);
  627. __declspec(dllexport) TAny* ExpandL(TInt anIndex);
  628. __declspec(dllexport) TInt Find(const TAny* aPtr,TKeyArrayFix& aKey,TInt& anIndex) const;
  629. __declspec(dllexport) TInt FindIsq(const TAny* aPtr,TKeyArrayFix& aKey,TInt& anIndex) const;
  630. __declspec(dllexport) void InsertL(TInt anIndex,const TAny* aPtr);
  631. __declspec(dllexport) void InsertL(TInt anIndex,const TAny* aPtr,TInt aCount);
  632. __declspec(dllexport) TInt InsertIsqL(const TAny* aPtr,TKeyArrayFix& aKey);
  633. __declspec(dllexport) TInt InsertIsqAllowDuplicatesL(const TAny* aPtr,TKeyArrayFix& aKey);
  634. __declspec(dllexport) void ResizeL(TInt aCount,const TAny* aPtr);
  635. protected:
  636. __declspec(dllexport) CArrayFixBase(TBufRep aRep,TInt aRecordLength,TInt aGranularity);
  637. __declspec(dllexport) void InsertRepL(TInt anIndex,const TAny* aPtr,TInt aReplicas);
  638. __declspec(dllexport) void SetKey(TKeyArrayFix& aKey) const;
  639. __declspec(dllexport) void SetReserveFlatL(TInt aCount);
  640. __declspec(dllexport) static TInt CountR(const CBase* aPtr);
  641. __declspec(dllexport) static const TAny* AtR(const CBase* aPtr,TInt anIndex);
  642. private:
  643. TInt iCount;
  644. TInt iGranularity;
  645. TInt iLength;
  646. TBufRep iCreateRep;
  647. CBufBase* iBase;
  648. };
  649. template <class T>
  650. class CArrayFix : public CArrayFixBase
  651. #line 370
  652. {
  653. public:
  654. inline CArrayFix(TBufRep aRep,TInt aGranularity);
  655. inline const T& operator[](TInt anIndex) const;
  656. inline T& operator[](TInt anIndex);
  657. inline const T& At(TInt anIndex) const;
  658. inline const T* End(TInt anIndex) const;
  659. inline const T* Back(TInt anIndex) const;
  660. inline T& At(TInt anIndex);
  661. inline T* End(TInt anIndex);
  662. inline T* Back(TInt anIndex);
  663. inline void AppendL(const T& aRef);
  664. inline void AppendL(const T* aPtr,TInt aCount);
  665. inline void AppendL(const T& aRef,TInt aReplicas);
  666. inline T& ExpandL(TInt anIndex);
  667. inline T& ExtendL();
  668. inline TInt Find(const T& aRef,TKeyArrayFix& aKey,TInt& anIndex) const;
  669. inline TInt FindIsq(const T& aRef,TKeyArrayFix& aKey,TInt& anIndex) const;
  670. inline void InsertL(TInt anIndex,const T& aRef);
  671. inline void InsertL(TInt anIndex,const T* aPtr,TInt aCount);
  672. inline void InsertL(TInt anIndex,const T& aRef,TInt aReplicas);
  673. inline TInt InsertIsqL(const T& aRef,TKeyArrayFix& aKey);
  674. inline TInt InsertIsqAllowDuplicatesL(const T& aRef,TKeyArrayFix& aKey);
  675. inline void ResizeL(TInt aCount);
  676. inline void ResizeL(TInt aCount,const T& aRef);
  677. inline const TArray<T> Array() const;
  678. };
  679. template<> class CArrayFix<TAny> : public CArrayFixBase
  680. #line 413
  681. {
  682. public:
  683. inline CArrayFix(TBufRep aRep,TInt aRecordLength,TInt aGranularity);
  684. inline const TAny* At(TInt anIndex) const;
  685. inline const TAny* End(TInt anIndex) const;
  686. inline const TAny* Back(TInt anIndex) const;
  687. inline TAny* At(TInt anIndex);
  688. inline TAny* End(TInt anIndex);
  689. inline TAny* Back(TInt anIndex);
  690. inline void AppendL(const TAny* aPtr);
  691. inline void AppendL(const TAny* aPtr,TInt aCount);
  692. inline TAny* ExtendL();
  693. };
  694. template <class T>
  695. class CArrayFixFlat : public CArrayFix<T>
  696. #line 452
  697. {
  698. public:
  699. inline explicit CArrayFixFlat(TInt aGranularity);
  700. inline void SetReserveL(TInt aCount);
  701. };
  702. template<> class CArrayFixFlat<TAny> : public CArrayFix<TAny>
  703. #line 479
  704. {
  705. public:
  706. inline CArrayFixFlat(TInt aRecordLength,TInt aGranularity);
  707. inline void SetReserveL(TInt aCount);
  708. };
  709. template<> class CArrayFixFlat<TInt> : public CArrayFix<TInt>
  710. #line 498
  711. {
  712. public:
  713. __declspec(dllexport) explicit CArrayFixFlat(TInt aGranularity);
  714. __declspec(dllexport) ~CArrayFixFlat();
  715. inline void SetReserveL(TInt aCount);
  716. };
  717. template<> class CArrayFixFlat<TUid> : public CArrayFix<TUid>
  718. #line 518
  719. {
  720. public:
  721. __declspec(dllexport) explicit CArrayFixFlat(TInt aGranularity);
  722. __declspec(dllexport) ~CArrayFixFlat();
  723. inline void SetReserveL(TInt aCount);
  724. };
  725. template <class T>
  726. class CArrayFixSeg : public CArrayFix<T>
  727. #line 545
  728. {
  729. public:
  730. inline explicit CArrayFixSeg(TInt aGranularity);
  731. };
  732. template<> class CArrayFixSeg<TAny> : public CArrayFix<TAny>
  733. #line 571
  734. {
  735. public:
  736. inline CArrayFixSeg(TInt aRecordLength,TInt aGranularity);
  737. };
  738. template <class T>
  739. class CArrayPtr : public CArrayFix<T*>
  740. #line 591
  741. {
  742. public:
  743. inline CArrayPtr(TBufRep aRep,TInt aGranularity);
  744.     void ResetAndDestroy();
  745. };
  746. template <class T>
  747. class CArrayPtrFlat : public CArrayPtr<T>
  748. #line 624
  749. {
  750. public:
  751. inline explicit CArrayPtrFlat(TInt aGranularity);
  752. inline void SetReserveL(TInt aCount);
  753. };
  754. template <class T>
  755. class CArrayPtrSeg : public CArrayPtr<T>
  756. #line 652
  757. {
  758. public:
  759. inline explicit CArrayPtrSeg(TInt aGranularity);
  760. };
  761. class TKeyArrayVar : public TKey
  762. #line 689
  763. {
  764. public:
  765. __declspec(dllexport) TKeyArrayVar(TInt anOffset,TKeyCmpText aType);
  766. __declspec(dllexport) TKeyArrayVar(TInt anOffset,TKeyCmpText aType,TInt aLength);
  767. __declspec(dllexport) TKeyArrayVar(TInt anOffset,TKeyCmpNumeric aType);
  768. protected:
  769. __declspec(dllexport) virtual void Set(CBufBase* aBase);
  770. __declspec(dllexport) TAny* At(TInt anIndex) const;
  771. protected:
  772. CBufBase* iBase;
  773. friend class CArrayVarBase;
  774. };
  775. class CArrayVarBase : public CBase
  776. #line 718
  777. {
  778. public:
  779. __declspec(dllexport) ~CArrayVarBase();
  780. inline TInt Count() const;
  781. __declspec(dllexport) TInt Length(TInt anIndex) const;
  782. __declspec(dllexport) void Compress();
  783. __declspec(dllexport) void Reset();
  784. __declspec(dllexport) TInt Sort(TKeyArrayVar& aKey);
  785. __declspec(dllexport) TAny* At(TInt anIndex) const;
  786. __declspec(dllexport) void Delete(TInt anIndex);
  787. __declspec(dllexport) void Delete(TInt anIndex,TInt aCount);
  788. __declspec(dllexport) TAny* ExpandL(TInt anIndex,TInt aLength);
  789. __declspec(dllexport) TInt Find(const TAny* aPtr,TKeyArrayVar& aKey,TInt& anIndex) const;
  790. __declspec(dllexport) TInt FindIsq(const TAny* aPtr,TKeyArrayVar& aKey,TInt& anIndex) const;
  791. __declspec(dllexport) void InsertL(TInt anIndex,const TAny* aPtr,TInt aLength);
  792. __declspec(dllexport) TInt InsertIsqL(const TAny* aPtr,TInt aLength,TKeyArrayVar& aKey);
  793. __declspec(dllexport) TInt InsertIsqAllowDuplicatesL(const TAny* aPtr,TInt aLength,TKeyArrayVar& aKey);
  794. protected:
  795. __declspec(dllexport) CArrayVarBase(TBufRep aRep,TInt aGranularity);
  796. __declspec(dllexport) void SetKey(TKeyArrayVar& aKey) const;
  797. __declspec(dllexport) static TInt CountR(const CBase* aPtr);
  798. __declspec(dllexport) static const TAny* AtR(const CBase* aPtr,TInt anIndex);
  799. private:
  800. TInt iCount;
  801. TInt iGranularity;
  802. TBufRep iCreateRep;
  803. CBufBase* iBase;
  804. };
  805. template <class T>
  806. class CArrayVar : public CArrayVarBase
  807. #line 762
  808. {
  809. public:
  810. inline CArrayVar(TBufRep aRep,TInt aGranularity);
  811. inline const T& operator[](TInt anIndex) const;
  812. inline T& operator[](TInt anIndex);
  813. inline const T& At(TInt anIndex) const;
  814. inline T& At(TInt anIndex);
  815. inline void AppendL(const T& aRef,TInt aLength);
  816. inline T& ExpandL(TInt anIndex,TInt aLength);
  817. inline T& ExtendL(TInt aLength);
  818. inline TInt Find(const T& aRef,TKeyArrayVar& aKey,TInt& anIndex) const;
  819. inline TInt FindIsq(const T& aRef,TKeyArrayVar& aKey,TInt& anIndex) const;
  820. inline void InsertL(TInt anIndex,const T& aRef,TInt aLength);
  821. inline TInt InsertIsqL(const T& aRef,TInt aLength,TKeyArrayVar& aKey);
  822.   inline TInt InsertIsqAllowDuplicatesL(const T& aRef,TInt aLength,TKeyArrayVar& aKey);
  823. inline const TArray<T> Array() const;
  824. };
  825. template<> class CArrayVar<TAny> : public CArrayVarBase
  826. #line 799
  827. {
  828. public:
  829. inline CArrayVar(TBufRep aRep,TInt aGranularity);
  830. inline const TAny* At(TInt anIndex) const;
  831. inline TAny* At(TInt anIndex);
  832. inline void AppendL(const TAny* aPtr,TInt aLength);
  833. inline TAny* ExtendL(TInt aLength);
  834. };
  835. template <class T>
  836. class CArrayVarFlat : public CArrayVar<T>
  837. #line 828
  838. {
  839. public:
  840. inline explicit CArrayVarFlat(TInt aGranularity);
  841. };
  842. template <class T>
  843. class CArrayVarSeg : public CArrayVar<T>
  844. #line 853
  845. {
  846. public:
  847. inline explicit CArrayVarSeg(TInt aGranularity);
  848. };
  849. class TKeyArrayPak : public TKeyArrayVar
  850. #line 890
  851. {
  852. public:
  853. __declspec(dllexport) TKeyArrayPak(TInt anOffset,TKeyCmpText aType);
  854. __declspec(dllexport) TKeyArrayPak(TInt anOffset,TKeyCmpText aType,TInt aLength);
  855. __declspec(dllexport) TKeyArrayPak(TInt anOffset,TKeyCmpNumeric aType);
  856. protected:
  857. __declspec(dllexport) virtual void Set(CBufBase* aBase);
  858. __declspec(dllexport) TAny* At(TInt anIndex) const;
  859. private:
  860. TInt iCacheIndex;
  861. TInt iCacheOffset;
  862. friend class CArrayPakBase;
  863. };
  864. class CArrayPakBase : public CBase
  865. #line 916
  866. {
  867. public:
  868. __declspec(dllexport) ~CArrayPakBase();
  869. inline TInt Count() const;
  870. __declspec(dllexport) TInt Length(TInt anIndex) const;
  871. __declspec(dllexport) void Compress();
  872. __declspec(dllexport) void Reset();
  873. __declspec(dllexport) void SortL(TKeyArrayVar& aKey);
  874. __declspec(dllexport) TAny* At(TInt anIndex) const;
  875. __declspec(dllexport) void Delete(TInt anIndex);
  876. __declspec(dllexport) void Delete(TInt anIndex,TInt aCount);
  877. __declspec(dllexport) TAny* ExpandL(TInt anIndex,TInt aLength);
  878. __declspec(dllexport) TInt Find(const TAny* aPtr,TKeyArrayPak& aKey,TInt& anIndex) const;
  879. __declspec(dllexport) TInt FindIsq(const TAny* aPtr,TKeyArrayPak& aKey,TInt& anIndex) const;
  880. __declspec(dllexport) void InsertL(TInt anIndex,const TAny* aPtr,TInt aLength);
  881. __declspec(dllexport) TInt InsertIsqL(const TAny* aPtr,TInt aLength,TKeyArrayPak& aKey);
  882. __declspec(dllexport) TInt InsertIsqAllowDuplicatesL(const TAny* aPtr,TInt aLength,TKeyArrayPak& aKey);
  883. protected:
  884. __declspec(dllexport) CArrayPakBase(TBufRep aRep,TInt aGranularity);
  885. __declspec(dllexport) void SetKey(TKeyArrayPak& aKey) const;
  886. __declspec(dllexport) TInt GetOffset(TInt anIndex) const;
  887. __declspec(dllexport) void BuildVarArrayL(CArrayVarFlat<TAny> *& aVarFlat);
  888. __declspec(dllexport) static TInt CountR(const CBase* aPtr);
  889. __declspec(dllexport) static const TAny* AtR(const CBase* aPtr,TInt anIndex);
  890. private:
  891. TInt iCount;
  892. TInt iGranularity;
  893. TBufRep iCreateRep;
  894. CBufBase* iBase;
  895. TInt iCacheIndex;
  896. TInt iCacheOffset;
  897. };
  898. template <class T>
  899. class CArrayPak : public CArrayPakBase
  900. #line 964
  901. {
  902. public:
  903. inline CArrayPak(TBufRep aRep,TInt aGranularity);
  904. inline const T& operator[](TInt anIndex) const;
  905. inline T& operator[](TInt anIndex);
  906. inline const T& At(TInt anIndex) const;
  907. inline T& At(TInt anIndex);
  908. inline void AppendL(const T& aRef,TInt aLength);
  909. inline T& ExpandL(TInt anIndex,TInt aLength);
  910. inline T& ExtendL(TInt aLength);
  911. inline TInt Find(const T& aRef,TKeyArrayPak& aKey,TInt& anIndex) const;
  912. inline TInt FindIsq(const T& aRef,TKeyArrayPak& aKey,TInt& anIndex) const;
  913. inline void InsertL(TInt anIndex,const T& aRef,TInt aLength);
  914. inline TInt InsertIsqL(const T& aRef,TInt aLength,TKeyArrayPak& aKey);
  915. inline TInt InsertIsqAllowDuplicatesL(const T& aRef,TInt aLength,TKeyArrayPak& aKey);
  916. inline const TArray<T> Array() const;
  917. };
  918. template<> class CArrayPak<TAny> : public CArrayPakBase
  919. #line 1001
  920. {
  921. public:
  922. inline CArrayPak(TBufRep aRep,TInt aGranularity);
  923. inline const TAny* At(TInt anIndex) const;
  924. inline TAny* At(TInt anIndex);
  925. inline void AppendL(const TAny* aPtr,TInt aLength);
  926. inline TAny* ExtendL(TInt aLength);
  927. };
  928. template <class T>
  929. class CArrayPakFlat : public CArrayPak<T>
  930. #line 1029
  931. {
  932. public:
  933. inline explicit CArrayPakFlat(TInt aGranularity);
  934. };
  935. class CObjectCon;
  936. class CObject : public CBase
  937. #line 1055
  938. {
  939. public:
  940. __declspec(dllexport) CObject();
  941. __declspec(dllexport) ~CObject();
  942. __declspec(dllexport) virtual TInt Open();
  943. __declspec(dllexport) virtual void Close();
  944. __declspec(dllexport) virtual TName Name() const;
  945. __declspec(dllexport) virtual TFullName FullName() const;
  946. __declspec(dllexport) TInt SetName(const TDesC* aName);
  947. __declspec(dllexport) void SetNameL(const TDesC* aName);
  948. inline CObject* Owner() const;
  949. inline void SetOwner(CObject* anOwner);
  950. inline TInt AccessCount() const;
  951. protected:
  952. __declspec(dllexport) virtual TInt Extension_(TUint aExtensionId, TAny*& a0, TAny* a1);
  953. protected:
  954. inline TInt UniqueID() const;
  955. inline void Inc();
  956. inline void Dec();
  957. private:
  958. TInt iAccessCount;
  959. CObject* iOwner;
  960. CObjectCon* iContainer;
  961. HBufC* iName;
  962. TAny* iSpare1;
  963. TAny* iSpare2;
  964. friend class CObjectCon;
  965. friend class CObjectIx;
  966. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  967. };
  968. struct TObjectDataStr
  969. {
  970. TInt16 instance;
  971. TInt16 uniqueID;
  972. };
  973. struct SObjectIxRec
  974. {
  975. union
  976. {
  977. TObjectDataStr str;
  978. TInt nextEmpty;
  979. };
  980. CObject* obj;
  981. };
  982. class CObjectIx : public CBase
  983. #line 1129
  984. {
  985. public:
  986. enum {
  987.          ENoClose=KHandleNoClose,
  988.          ELocalHandle=KHandleFlagLocal
  989.          };
  990. public:
  991. __declspec(dllexport) static CObjectIx* NewL();
  992. __declspec(dllexport) ~CObjectIx();
  993. __declspec(dllexport) TInt AddL(CObject* anObj);
  994. __declspec(dllexport) void Remove(TInt aHandle);
  995. __declspec(dllexport) CObject* At(TInt aHandle,TInt aUniqueID);
  996. __declspec(dllexport) CObject* At(TInt aHandle);
  997. __declspec(dllexport) CObject* AtL(TInt aHandle,TInt aUniqueID);
  998. __declspec(dllexport) CObject* AtL(TInt aHandle);
  999. __declspec(dllexport) TInt At(const CObject* anObject) const;
  1000. __declspec(dllexport) TInt Count(CObject* anObject) const;
  1001. __declspec(dllexport) CObject* operator[](TInt anIndex);
  1002. inline TInt Count() const;
  1003. inline TInt ActiveCount() const;
  1004. protected:
  1005. __declspec(dllexport) CObjectIx();
  1006. private:
  1007. void UpdateState();
  1008. private:
  1009. TInt iNumEntries;
  1010. TInt iHighWaterMark;
  1011. TInt iAllocated;
  1012. TInt iNextInstance;
  1013. SObjectIxRec *iObjects;
  1014. TInt iFree;
  1015. TInt iUpdateDisabled;
  1016. TAny* iSpare1;
  1017. TAny* iSpare2;
  1018. };
  1019. inline TBool IsLocalHandle(TInt aHandle)
  1020. {return(aHandle&CObjectIx::ELocalHandle);}
  1021. inline void SetLocalHandle(TInt &aHandle)
  1022. {aHandle|=CObjectIx::ELocalHandle;}
  1023. inline void UnSetLocalHandle(TInt &aHandle)
  1024. {aHandle&=(~CObjectIx::ELocalHandle);}
  1025. class CObjectCon : public CBase
  1026. #line 1208
  1027. {
  1028. protected:
  1029. enum {ENotOwnerID};
  1030. public:
  1031. __declspec(dllexport) static CObjectCon* NewL();
  1032. __declspec(dllexport) ~CObjectCon();
  1033. __declspec(dllexport) void Remove(CObject* anObj);
  1034. __declspec(dllexport) void AddL(CObject* anObj);
  1035. __declspec(dllexport) CObject* operator[](TInt anIndex);
  1036. __declspec(dllexport) CObject* At(TInt aFindHandle) const;
  1037. __declspec(dllexport) CObject* AtL(TInt aFindHandle) const;
  1038. __declspec(dllexport) TInt CheckUniqueFullName(const CObject* anOwner,const TDesC& aName) const;
  1039. __declspec(dllexport) TInt CheckUniqueFullName(const CObject* anObject) const;
  1040. __declspec(dllexport) TInt FindByName(TInt& aFindHandle,const TDesC& aMatch,TName& aName) const;
  1041. __declspec(dllexport) TInt FindByFullName(TInt& aFindHandle,const TDesC& aMatch,TFullName& aFullName) const;
  1042. inline TInt UniqueID() const;
  1043. inline TInt Count() const;
  1044. protected:
  1045. __declspec(dllexport) CObjectCon(TInt aUniqueID);
  1046. TBool NamesMatch(const CObject* anObject, const CObject* aCurrentObject) const;
  1047. TBool NamesMatch(const CObject* anObject, const TName& anObjectName, const CObject* aCurrentObject) const;
  1048. public:
  1049. TInt iUniqueID;
  1050. private:
  1051. TInt iCount;
  1052. TInt iAllocated;
  1053. CObject** iObjects;
  1054. TAny* iSpare1;
  1055. TAny* iSpare2;
  1056. friend class CObjectConIx;
  1057. };
  1058. class CObjectConIx : public CBase
  1059. #line 1264
  1060. {
  1061. public:
  1062. __declspec(dllexport) static CObjectConIx* NewL();
  1063. __declspec(dllexport) ~CObjectConIx();
  1064. __declspec(dllexport) CObjectCon* Lookup(TInt aFindHandle) const;
  1065. __declspec(dllexport) CObjectCon* CreateL();
  1066. __declspec(dllexport) void Remove(CObjectCon* aCon);
  1067. protected:
  1068. __declspec(dllexport) CObjectConIx();
  1069. __declspec(dllexport) void CreateContainerL(CObjectCon*& anObject);
  1070. private:
  1071. TInt iCount;
  1072. TInt iAllocated;
  1073. TInt iNextUniqueID;
  1074. CObjectCon** iContainers;
  1075. TAny* iSpare1;
  1076. TAny* iSpare2;
  1077. };
  1078. class CBitMapAllocator : public CBase
  1079. {
  1080. public:
  1081. __declspec(dllexport) static CBitMapAllocator* New(TInt aSize);
  1082. __declspec(dllexport) static CBitMapAllocator* NewL(TInt aSize);
  1083. __declspec(dllexport) ~CBitMapAllocator();
  1084. __declspec(dllexport) TInt Alloc();
  1085. __declspec(dllexport) TInt AllocFrom(TInt aPos);
  1086. __declspec(dllexport) TInt Alloc(TInt aCount, TInt& aConsecutive);
  1087. __declspec(dllexport) TInt AllocAligned(TInt anAlignment);
  1088. __declspec(dllexport) TInt AllocAlignedBlock(TInt anAlignment);
  1089. __declspec(dllexport) TInt AllocFromTop();
  1090. __declspec(dllexport) TInt AllocFromTopFrom(TInt aPos);
  1091. __declspec(dllexport) void AllocAt(TInt aPos);
  1092. __declspec(dllexport) void AllocAt(TInt aPos, TInt aCount);
  1093. __declspec(dllexport) TBool IsFree(TInt aPos);
  1094. __declspec(dllexport) TBool IsFree(TInt aPos, TInt aCount);
  1095. __declspec(dllexport) void Free(TInt aPos);
  1096. __declspec(dllexport) void Free(TInt aPos, TInt aCount);
  1097. __declspec(dllexport) TInt Avail();
  1098. __declspec(dllexport) TInt Size();
  1099. __declspec(dllexport) TInt ExtractRamPages(TInt aConsecutive,TInt& aPageNo);
  1100. protected:
  1101. __declspec(dllexport) CBitMapAllocator(TInt aSize,TInt aLength);
  1102. protected:
  1103. TInt iAvail;
  1104. TInt iSize;
  1105. TInt iLength;
  1106. TUint iMap[1];
  1107. };
  1108. class TCleanupStackItem;
  1109. #line 1334
  1110. typedef void (*TCleanupOperation)(TAny*);
  1111. class TCleanupItem
  1112. #line 1350
  1113. {
  1114. public:
  1115. inline TCleanupItem(TCleanupOperation anOperation);
  1116. inline TCleanupItem(TCleanupOperation anOperation,TAny* aPtr);
  1117. private:
  1118. TCleanupOperation iOperation;
  1119. TAny* iPtr;
  1120. friend class TCleanupStackItem;
  1121. };
  1122. class CCleanup : public CBase
  1123. #line 1373
  1124. {
  1125. public:
  1126. __declspec(dllexport) static CCleanup* New();
  1127. __declspec(dllexport) static CCleanup* NewL();
  1128. __declspec(dllexport) ~CCleanup();
  1129. __declspec(dllexport) void NextLevel();
  1130. __declspec(dllexport) void PreviousLevel();
  1131. __declspec(dllexport) void PushL(TAny* aPtr);
  1132. __declspec(dllexport) void PushL(CBase* anObject);
  1133. __declspec(dllexport) void PushL(TCleanupItem anItem);
  1134. __declspec(dllexport) void Pop();
  1135. __declspec(dllexport) void Pop(TInt aCount);
  1136. __declspec(dllexport) void PopAll();
  1137. __declspec(dllexport) void PopAndDestroy();
  1138. __declspec(dllexport) void PopAndDestroy(TInt aCount);
  1139. __declspec(dllexport) void PopAndDestroyAll();
  1140. __declspec(dllexport) void Check(TAny* aExpectedItem);
  1141. protected:
  1142. __declspec(dllexport) void DoPop(TInt aCount,TBool aDestroy);
  1143. __declspec(dllexport) void DoPopAll(TBool aDestroy);
  1144. protected:
  1145. __declspec(dllexport) CCleanup();
  1146. protected:
  1147. TCleanupStackItem* iBase;
  1148. TCleanupStackItem* iTop;
  1149. TCleanupStackItem* iNext;
  1150. };
  1151. class TCleanupTrapHandler : public TTrapHandler
  1152. #line 1427
  1153. {
  1154. public:
  1155. TCleanupTrapHandler();
  1156. virtual void Trap();
  1157. virtual void UnTrap();
  1158. virtual void Leave(TInt aValue);
  1159. inline CCleanup& Cleanup();
  1160. private:
  1161. CCleanup* iCleanup;
  1162. friend class CTrapCleanup;
  1163. };
  1164. template <class T>
  1165. class TAutoClose
  1166. #line 1454
  1167. {
  1168. public:
  1169. inline ~TAutoClose();
  1170. inline void PushL();
  1171. inline void Pop();
  1172. private:
  1173. static void Close(TAny *aObj);
  1174. public:
  1175. T iObj;
  1176. };
  1177. class CTrapCleanup : public CBase
  1178. #line 1481
  1179. {
  1180. public:
  1181. __declspec(dllexport) static CTrapCleanup* New();
  1182. __declspec(dllexport) ~CTrapCleanup();
  1183. protected:
  1184. __declspec(dllexport) CTrapCleanup();
  1185. private:
  1186. TCleanupTrapHandler iHandler;
  1187. TTrapHandler* iOldHandler;
  1188. };
  1189. class CCirBufBase : public CBase
  1190. #line 1507
  1191. {
  1192. public:
  1193. __declspec(dllexport) ~CCirBufBase();
  1194. inline TInt Count() const;
  1195. inline TInt Length() const;
  1196. __declspec(dllexport) void SetLengthL(TInt aLength);
  1197. __declspec(dllexport) void Reset();
  1198. protected:
  1199. __declspec(dllexport) CCirBufBase(TInt aSize);
  1200. __declspec(dllexport) TInt DoAdd(const TUint8* aPtr);
  1201. __declspec(dllexport) TInt DoAdd(const TUint8* aPtr,TInt aCount);
  1202. __declspec(dllexport) TInt DoRemove(TUint8* aPtr);
  1203. __declspec(dllexport) TInt DoRemove(TUint8* aPtr,TInt aCount);
  1204. protected:
  1205. TInt iCount;
  1206. TInt iSize;
  1207. TInt iLength;
  1208. TUint8* iPtr;
  1209. TUint8* iPtrE;
  1210. TUint8* iHead;
  1211. TUint8* iTail;
  1212. };
  1213. template <class T>
  1214. class CCirBuf : public CCirBufBase
  1215. {
  1216. public:
  1217. inline CCirBuf();
  1218. inline TInt Add(const T* aPtr);
  1219. inline TInt Add(const T* aPtr,TInt aCount);
  1220. inline TInt Remove(T* aPtr);
  1221. inline TInt Remove(T* aPtr,TInt aCount);
  1222. };
  1223. class CCirBuffer : public CCirBuf<TUint8>
  1224. #line 1566
  1225. {
  1226. public:
  1227. __declspec(dllexport) CCirBuffer();
  1228. __declspec(dllexport) ~CCirBuffer();
  1229. __declspec(dllexport) TInt Get();
  1230. __declspec(dllexport) TInt Put(TInt aVal);
  1231. };
  1232. class CActive : public CBase
  1233. #line 1588
  1234. {
  1235. public:
  1236. enum TPriority
  1237. {
  1238. EPriorityIdle=-100,
  1239. EPriorityLow=-20,
  1240. EPriorityStandard=0,
  1241. EPriorityUserInput=10,
  1242. EPriorityHigh=20,
  1243. };
  1244. public:
  1245. __declspec(dllexport) ~CActive();
  1246. __declspec(dllexport) void Cancel();
  1247. __declspec(dllexport) void Deque();
  1248. __declspec(dllexport) void SetPriority(TInt aPriority);
  1249. inline TBool IsActive() const;
  1250. inline TBool IsAdded() const;
  1251. inline TInt Priority() const;
  1252. protected:
  1253. __declspec(dllexport) CActive(TInt aPriority);
  1254. __declspec(dllexport) void SetActive();
  1255. #line 1653
  1256. virtual void DoCancel() =0;
  1257. #line 1687
  1258. virtual void RunL() =0;
  1259. __declspec(dllexport) virtual TInt RunError(TInt aError);
  1260. protected:
  1261. __declspec(dllexport) virtual TInt Extension_(TUint aExtensionId, TAny*& a0, TAny* a1);
  1262. public:
  1263. #line 1704
  1264. TRequestStatus iStatus;
  1265. private:
  1266. TPriQueLink iLink;
  1267. TAny* iSpare;
  1268. friend class CActiveScheduler;
  1269. friend class CServer;
  1270. friend class CServer2;
  1271. };
  1272. class CIdle : public CActive
  1273. #line 1729
  1274. {
  1275. public:
  1276. __declspec(dllexport) static CIdle* New(TInt aPriority);
  1277. __declspec(dllexport) static CIdle* NewL(TInt aPriority);
  1278. __declspec(dllexport) ~CIdle();
  1279. __declspec(dllexport) void Start(TCallBack aCallBack);
  1280. protected:
  1281. __declspec(dllexport) CIdle(TInt aPriority);
  1282. __declspec(dllexport) void RunL();
  1283. __declspec(dllexport) void DoCancel();
  1284. protected:
  1285. TCallBack iCallBack;
  1286. };
  1287. class CAsyncOneShot : public CActive
  1288. #line 1782
  1289. {
  1290. public:
  1291. __declspec(dllexport) CAsyncOneShot(TInt aPriority);
  1292. __declspec(dllexport) virtual void DoCancel();
  1293. __declspec(dllexport) virtual void Call();
  1294. __declspec(dllexport) virtual ~CAsyncOneShot();
  1295. inline RThread& Thread();
  1296. private:
  1297. void Setup();
  1298. RThread iThread;
  1299. };
  1300. class CAsyncCallBack : public CAsyncOneShot
  1301. {
  1302. public:
  1303. __declspec(dllexport) CAsyncCallBack(TInt aPriority);
  1304. __declspec(dllexport) CAsyncCallBack(const TCallBack& aCallBack, TInt aPriority);
  1305. __declspec(dllexport) void Set(const TCallBack& aCallBack);
  1306. __declspec(dllexport) void CallBack();
  1307. __declspec(dllexport) virtual ~CAsyncCallBack();
  1308. protected:
  1309. virtual void RunL();
  1310. protected:
  1311. TCallBack iCallBack;
  1312. };
  1313. class TDeltaTimerEntry
  1314. #line 1838
  1315. {
  1316. friend class CDeltaTimer;
  1317. public:
  1318. inline TDeltaTimerEntry(TCallBack& aCallback);
  1319. inline TDeltaTimerEntry();
  1320. inline void Set(TCallBack& aCallback);
  1321. private:
  1322. TCallBack iCallBack;
  1323. TTickCountQueLink iLink;
  1324. };
  1325. class CDeltaTimer : public CActive
  1326. #line 1893
  1327. {
  1328. public:
  1329. __declspec(dllexport) virtual void Queue(TTimeIntervalMicroSeconds32 aTimeInMicroSeconds, TDeltaTimerEntry& aEntry);
  1330. __declspec(dllexport) virtual void Remove(TDeltaTimerEntry& aEntry);
  1331. __declspec(dllexport) TInt QueueLong(TTimeIntervalMicroSeconds aTimeInMicroSeconds, TDeltaTimerEntry& aEntry);
  1332. __declspec(dllexport) static CDeltaTimer* NewL(TInt aPriority);
  1333. __declspec(dllexport) static CDeltaTimer* NewL(TInt aPriority, TTimeIntervalMicroSeconds32 aGranularity);
  1334. ~CDeltaTimer();
  1335. private:
  1336. CDeltaTimer(TInt aPriority, TInt aTickPeriod);
  1337. void DoCancel();
  1338. void RunL();
  1339. void Activate(TBool aRequeueTimer = EFalse);
  1340. private:
  1341. RTimer iTimer;
  1342. TTickCountQue iQueue;
  1343. const TInt iTickPeriod;
  1344. TBool iQueueBusy;
  1345. };
  1346. class CTimer : public CActive
  1347. #line 1974
  1348. {
  1349. public:
  1350. __declspec(dllexport) ~CTimer();
  1351. __declspec(dllexport) void At(const TTime& aTime);
  1352. __declspec(dllexport) void AtUTC(const TTime& aTimeInUTC);
  1353. __declspec(dllexport) void After(TTimeIntervalMicroSeconds32 anInterval);
  1354. __declspec(dllexport) void Lock(TTimerLockSpec aLock);
  1355. __declspec(dllexport) void Inactivity(TTimeIntervalSeconds aSeconds);
  1356. __declspec(dllexport) void HighRes(TTimeIntervalMicroSeconds32 aInterval);
  1357. protected:
  1358. __declspec(dllexport) CTimer(TInt aPriority);
  1359. __declspec(dllexport) void ConstructL();
  1360. __declspec(dllexport) void DoCancel();
  1361. private:
  1362. RTimer iTimer;
  1363. };
  1364. class CPeriodic : public CTimer
  1365. #line 2035
  1366. {
  1367. public:
  1368. __declspec(dllexport) static CPeriodic* New(TInt aPriority);
  1369. __declspec(dllexport) static CPeriodic* NewL(TInt aPriority);
  1370. __declspec(dllexport) ~CPeriodic();
  1371. __declspec(dllexport) void Start(TTimeIntervalMicroSeconds32 aDelay,TTimeIntervalMicroSeconds32 anInterval,TCallBack aCallBack);
  1372. protected:
  1373. __declspec(dllexport) CPeriodic(TInt aPriority);
  1374. __declspec(dllexport) void RunL();
  1375. private:
  1376. TTimeIntervalMicroSeconds32 iInterval;
  1377. TCallBack iCallBack;
  1378. };
  1379. class MBeating
  1380. #line 2067
  1381. {
  1382. public:
  1383. virtual void Beat() =0;
  1384. #line 2084
  1385. virtual void Synchronize() =0;
  1386. };
  1387. class CHeartbeat : public CTimer
  1388. #line 2131
  1389. {
  1390. public:
  1391. __declspec(dllexport) static CHeartbeat* New(TInt aPriority);
  1392. __declspec(dllexport) static CHeartbeat* NewL(TInt aPriority);
  1393. __declspec(dllexport) ~CHeartbeat();
  1394. __declspec(dllexport) void Start(TTimerLockSpec aLock,MBeating *aBeating);
  1395. protected:
  1396. __declspec(dllexport) CHeartbeat(TInt aPriority);
  1397. __declspec(dllexport) void RunL();
  1398. private:
  1399. TTimerLockSpec iLock;
  1400. MBeating *iBeating;
  1401. };
  1402. class CServer2;
  1403. #line 2170
  1404. class CSession2 : public CBase
  1405. {
  1406. friend class CServer2;
  1407. public:
  1408. __declspec(dllexport) virtual ~CSession2() =0;
  1409. private:
  1410. __declspec(dllexport) virtual void CreateL();
  1411. public:
  1412. inline const CServer2* Server() const;
  1413. __declspec(dllexport) void ResourceCountMarkStart();
  1414. __declspec(dllexport) void ResourceCountMarkEnd(const RMessage2& aMessage);
  1415. __declspec(dllexport) virtual TInt CountResources();
  1416. #line 2192
  1417. virtual void ServiceL(const RMessage2& aMessage) =0;
  1418. __declspec(dllexport) virtual void ServiceError(const RMessage2& aMessage,TInt aError);
  1419. protected:
  1420. __declspec(dllexport) CSession2();
  1421. __declspec(dllexport) virtual void Disconnect(const RMessage2& aMessage);
  1422. __declspec(dllexport) virtual TInt Extension_(TUint aExtensionId, TAny*& a0, TAny* a1);
  1423. public:
  1424. enum TPanicNo {ESesCountResourcesNotImplemented=1,ESesFoundResCountHeaven};
  1425. private:
  1426. TInt iResourceCountMark;
  1427. TDblQueLink iLink;
  1428. const CServer2* iServer;
  1429. TAny* iSpare;
  1430. };
  1431. #line 2224
  1432. class CServer2 : public CActive
  1433. {
  1434. public:
  1435. enum TServerType
  1436. {
  1437. EUnsharableSessions = EIpcSession_Unsharable,
  1438. ESharableSessions = EIpcSession_Sharable,
  1439. EGlobalSharableSessions = EIpcSession_GlobalSharable,
  1440. };
  1441. public:
  1442. __declspec(dllexport) virtual ~CServer2() =0;
  1443. __declspec(dllexport) TInt Start(const TDesC& aName);
  1444. __declspec(dllexport) void StartL(const TDesC& aName);
  1445. __declspec(dllexport) void ReStart();
  1446. #line 2264
  1447. inline RServer2 Server() const { return iServer; }
  1448. protected:
  1449. inline const RMessage2& Message() const;
  1450. __declspec(dllexport) CServer2(TInt aPriority, TServerType aType=EUnsharableSessions);
  1451. __declspec(dllexport) void DoCancel();
  1452. __declspec(dllexport) void RunL();
  1453. __declspec(dllexport) TInt RunError(TInt aError);
  1454. __declspec(dllexport) virtual void DoConnect(const RMessage2& aMessage);
  1455. __declspec(dllexport) virtual TInt Extension_(TUint aExtensionId, TAny*& a0, TAny* a1);
  1456. private:
  1457. #line 2298
  1458. __declspec(dllexport) virtual CSession2* NewSessionL(const TVersion& aVersion,const RMessage2& aMessage) const =0;
  1459. void Connect(const RMessage2& aMessage);
  1460. void DoConnectL(const RMessage2& aMessage,CSession2* volatile& aSession);
  1461. public:
  1462. enum TPanic
  1463. {
  1464. EBadMessageNumber,
  1465. ESessionNotConnected,
  1466. ESessionAlreadyConnected,
  1467. EClientDoesntHaveRequiredCaps,
  1468. };
  1469. private:
  1470. TInt iSessionType;
  1471. RServer2 iServer;
  1472. RMessage2 iMessage;
  1473. TAny* iSpare;
  1474. TDblQue<CSession2> iSessionQ;
  1475. protected:
  1476. TDblQueIter<CSession2> iSessionIter;
  1477. private:
  1478. void Disconnect(const RMessage2& aMessage);
  1479. static void BadMessage(const RMessage2& aMessage);
  1480. static void NotConnected(const RMessage2& aMessage);
  1481. friend class CPolicyServer;
  1482. };
  1483. #line 2405
  1484. class CPolicyServer : public CServer2
  1485. {
  1486. public:
  1487. enum TFailureAction
  1488. {
  1489. EFailClient = 0,
  1490. EPanicClient= 1,
  1491. };
  1492. #line 2428
  1493. enum TCustomResult
  1494. {
  1495. EPass = 0,
  1496. EFail = 1,
  1497. EAsync = 2,
  1498. };
  1499. #line 2442
  1500. class TPolicyElement
  1501. {
  1502. public:
  1503. #line 2475
  1504. TStaticSecurityPolicy   iPolicy;
  1505. TInt iAction;
  1506. };
  1507. enum TSpecialCase
  1508. {
  1509. ECustomCheck  =255u,
  1510. ENotSupported =254u,
  1511. EAlwaysPass =253u,
  1512. ESpecialCaseLimit  =252u,
  1513. ESpecialCaseHardLimit =250u
  1514. };
  1515. #line 2548
  1516. class TPolicy
  1517. {
  1518. public:
  1519. TUint8 iOnConnect;
  1520. TUint16 iRangeCount;
  1521. #line 2578
  1522. const TInt* iRanges;
  1523. #line 2616
  1524. const TUint8* iElementsIndex;
  1525. #line 2645
  1526. const TPolicyElement* iElements;
  1527. };
  1528. public:
  1529. #line 2663
  1530. __declspec(dllexport) void ProcessL(const RMessage2& aMsg);
  1531. #line 2681
  1532. __declspec(dllexport) void CheckFailedL(const RMessage2& aMsg, TInt aAction, const TSecurityInfo& aMissing);
  1533. #line 2696
  1534. __declspec(dllexport) void ProcessError(const RMessage2& aMsg, TInt aError);
  1535. protected:
  1536. #line 2709
  1537. __declspec(dllexport) CPolicyServer(TInt aPriority, const TPolicy& aPolicy, TServerType aType=EUnsharableSessions);
  1538. #line 2759
  1539. __declspec(dllexport) virtual TCustomResult CustomSecurityCheckL(const RMessage2& aMsg, TInt& aAction, TSecurityInfo& aMissing);
  1540. #line 2810
  1541. __declspec(dllexport) virtual TCustomResult CustomFailureActionL(const RMessage2& aMsg, TInt aAction, const TSecurityInfo& aMissing);
  1542. protected:
  1543. __declspec(dllexport) virtual TInt Extension_(TUint aExtensionId, TAny*& a0, TAny* a1);
  1544. private:
  1545. __declspec(dllexport) virtual void RunL();
  1546. __declspec(dllexport) virtual TInt RunError(TInt aError);
  1547. const CPolicyServer::TPolicyElement* FindPolicyElement(TInt aFn, TUint& aSpecialCase) const;
  1548. private:
  1549. const TPolicy& iPolicy;
  1550. };
  1551. class CActiveScheduler : public CBase
  1552. #line 2853
  1553. {
  1554. friend class CActiveSchedulerWait;
  1555. public:
  1556. struct TLoop;
  1557. typedef TLoop* TLoopOwner;
  1558. public:
  1559. __declspec(dllexport) CActiveScheduler();
  1560. __declspec(dllexport) ~CActiveScheduler();
  1561. __declspec(dllexport) static void Install(CActiveScheduler* aScheduler);
  1562. __declspec(dllexport) static CActiveScheduler* Current();
  1563. __declspec(dllexport) static void Add(CActive* aActive);
  1564. __declspec(dllexport) static void Start();
  1565. __declspec(dllexport) static void Stop();
  1566. __declspec(dllexport) static TBool RunIfReady(TInt& aError, TInt aMinimumPriority);
  1567. __declspec(dllexport) static CActiveScheduler* Replace(CActiveScheduler* aNewActiveScheduler);
  1568. __declspec(dllexport) virtual void WaitForAnyRequest();
  1569. __declspec(dllexport) virtual void Error(TInt aError) const;
  1570. __declspec(dllexport) void Halt(TInt aExitCode) const;
  1571. __declspec(dllexport) TInt StackDepth() const;
  1572. private:
  1573. static void Start(TLoopOwner* aOwner);
  1574. __declspec(dllexport) virtual void OnStarting();
  1575. __declspec(dllexport) virtual void OnStopping();
  1576. __declspec(dllexport) virtual void Reserved_1();
  1577. __declspec(dllexport) virtual void Reserved_2();
  1578. void Run(TLoopOwner* const volatile& aLoop);
  1579. void DoRunL(TLoopOwner* const volatile& aLoop, CActive* volatile & aCurrentObj);
  1580. protected:
  1581. __declspec(dllexport) virtual TInt Extension_(TUint aExtensionId, TAny*& a0, TAny* a1);
  1582. protected:
  1583. inline TInt Level() const;
  1584. private:
  1585. TLoop* iStack;
  1586. TPriQue<CActive> iActiveQ;
  1587. TAny* iSpare;
  1588. };
  1589. class CActiveSchedulerWait : public CBase
  1590. #line 2908
  1591. {
  1592. public:
  1593. __declspec(dllexport) CActiveSchedulerWait();
  1594. __declspec(dllexport) ~CActiveSchedulerWait();
  1595. __declspec(dllexport) void Start();
  1596. __declspec(dllexport) void AsyncStop();
  1597. __declspec(dllexport) void AsyncStop(const TCallBack& aCallMeWhenStopped);
  1598. inline TBool IsStarted() const;
  1599. __declspec(dllexport) TBool CanStopNow() const;
  1600. private:
  1601. CActiveScheduler::TLoopOwner iLoop;
  1602. };
  1603. class CleanupStack
  1604. {
  1605. public:
  1606. __declspec(dllexport) static void PushL(TAny* aPtr);
  1607. __declspec(dllexport) static void PushL(CBase* aPtr);
  1608. __declspec(dllexport) static void PushL(TCleanupItem anItem);
  1609. __declspec(dllexport) static void Pop();
  1610. __declspec(dllexport) static void Pop(TInt aCount);
  1611. __declspec(dllexport) static void PopAndDestroy();
  1612. __declspec(dllexport) static void PopAndDestroy(TInt aCount);
  1613. __declspec(dllexport) static void Check(TAny* aExpectedItem);
  1614. inline static void Pop(TAny* aExpectedItem);
  1615. inline static void Pop(TInt aCount, TAny* aLastExpectedItem);
  1616. inline static void PopAndDestroy(TAny* aExpectedItem);
  1617. inline static void PopAndDestroy(TInt aCount, TAny* aLastExpectedItem);
  1618. };
  1619. #line 2961
  1620. template <class T>
  1621. class CleanupDelete
  1622. {
  1623. public:
  1624. inline static void PushL(T* aPtr);
  1625. private:
  1626. static void Delete(TAny *aPtr);
  1627. };
  1628. #line 3009
  1629. template <class T>
  1630. inline void CleanupDeletePushL(T* aPtr);
  1631. #line 3025
  1632. template <class T>
  1633. class CleanupArrayDelete
  1634. {
  1635. public:
  1636. inline static void PushL(T* aPtr);
  1637. private:
  1638. static void ArrayDelete(TAny *aPtr);
  1639. };
  1640. #line 3075
  1641. template <class T>
  1642. inline void CleanupArrayDeletePushL(T* aPtr);
  1643. #line 3091
  1644. template <class T>
  1645. class CleanupClose
  1646. {
  1647. public:
  1648. inline static void PushL(T& aRef);
  1649. private:
  1650. static void Close(TAny *aPtr);
  1651. };
  1652. #line 3153
  1653. template <class T>
  1654. inline void CleanupClosePushL(T& aRef);
  1655. #line 3169
  1656. template <class T>
  1657. class CleanupRelease
  1658. {
  1659. public:
  1660. inline static void PushL(T& aRef);
  1661. private:
  1662. static void Release(TAny *aPtr);
  1663. };
  1664. #line 3227
  1665. template <class T>
  1666. inline void CleanupReleasePushL(T& aRef);
  1667. class CConsoleBase;
  1668. class Console
  1669. {
  1670. public:
  1671. __declspec(dllexport) static CConsoleBase* NewL(const TDesC& aTitle,TSize aSize);
  1672. };
  1673. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32base.inl" /* stack depth 5 */
  1674. inline TAny* CBase::operator new(TUint aSize, TAny* aBase) throw()
  1675. #line 19
  1676. { Mem::FillZ(aBase, aSize); return aBase; }
  1677. inline TAny* CBase::operator new(TUint aSize) throw()
  1678. #line 36
  1679. { return User::AllocZ(aSize); }
  1680. inline TAny* CBase::operator new(TUint aSize, TLeave)
  1681. #line 53
  1682. { return User::AllocZL(aSize); }
  1683. inline TAny* CBase::operator new(TUint aSize, TUint aExtraSize) throw()
  1684. #line 74
  1685. { return User::AllocZ(aSize + aExtraSize); }
  1686. inline TAny* CBase::operator new(TUint aSize, TLeave, TUint aExtraSize)
  1687. #line 95
  1688. { return User::AllocZL(aSize + aExtraSize); }
  1689. inline TInt CBufBase::Size() const
  1690. #line 111
  1691. {return(iSize);}
  1692. inline TInt CBufFlat::Capacity() const
  1693. {return(iMaxSize);}
  1694. inline TInt CArrayFixBase::Count() const
  1695. {return(iCount);}
  1696. inline TInt CArrayFixBase::Length() const
  1697. {return(iLength);}
  1698. template <class T>
  1699. inline CArrayFix<T>::CArrayFix(TBufRep aRep,TInt aGranularity)
  1700. : CArrayFixBase(aRep,sizeof(T),aGranularity)
  1701. {}
  1702. template <class T>
  1703. inline const T &CArrayFix<T>::operator[](TInt anIndex) const
  1704. #line 183
  1705. {return(*((const T *)CArrayFixBase::At(anIndex)));}
  1706. template <class T>
  1707. inline T &CArrayFix<T>::operator[](TInt anIndex)
  1708. #line 207
  1709. {return(*((T *)CArrayFixBase::At(anIndex)));}
  1710. template <class T>
  1711. inline const T &CArrayFix<T>::At(TInt anIndex) const
  1712. #line 231
  1713. {return(*((const T *)CArrayFixBase::At(anIndex)));}
  1714. template <class T>
  1715. inline const T *CArrayFix<T>::End(TInt anIndex) const
  1716. #line 259
  1717. {return((const T *)CArrayFixBase::End(anIndex));}
  1718. template <class T>
  1719. inline const T *CArrayFix<T>::Back(TInt anIndex) const
  1720. #line 288
  1721. {return((const T *)CArrayFixBase::Back(anIndex));}
  1722. template <class T>
  1723. inline T &CArrayFix<T>::At(TInt anIndex)
  1724. #line 312
  1725. {return(*((T *)CArrayFixBase::At(anIndex)));}
  1726. template <class T>
  1727. inline T *CArrayFix<T>::End(TInt anIndex)
  1728. #line 338
  1729. {return(((T *)CArrayFixBase::End(anIndex)));}
  1730. template <class T>
  1731. inline T *CArrayFix<T>::Back(TInt anIndex)
  1732. #line 367
  1733. {return(((T *)CArrayFixBase::Back(anIndex)));}
  1734. template <class T>
  1735. inline void CArrayFix<T>::AppendL(const T &aRef)
  1736. #line 383
  1737. {CArrayFixBase::InsertL(Count(),&aRef);}
  1738. template <class T>
  1739. inline void CArrayFix<T>::AppendL(const T *aPtr,TInt aCount)
  1740. #line 404
  1741. {CArrayFixBase::InsertL(Count(),aPtr,aCount);}
  1742. template <class T>
  1743. inline void CArrayFix<T>::AppendL(const T &aRef,TInt aReplicas)
  1744. #line 423
  1745. {CArrayFixBase::InsertRepL(Count(),&aRef,aReplicas);}
  1746. template <class T>
  1747. inline T &CArrayFix<T>::ExpandL(TInt anIndex)
  1748. #line 461
  1749. {return(*new(CArrayFixBase::ExpandL(anIndex)) T);}
  1750. template <class T>
  1751. inline T &CArrayFix<T>::ExtendL()
  1752. #line 492
  1753. {return(*new(CArrayFixBase::ExpandL(Count())) T);}
  1754. template <class T>
  1755. inline TInt CArrayFix<T>::Find(const T &aRef,TKeyArrayFix &aKey,TInt &anIndex) const
  1756. #line 525
  1757. {return(CArrayFixBase::Find(&aRef,aKey,anIndex));}
  1758. template <class T>
  1759. inline TInt CArrayFix<T>::FindIsq(const T &aRef,TKeyArrayFix &aKey,TInt &anIndex) const
  1760. #line 562
  1761. {return(CArrayFixBase::FindIsq(&aRef,aKey,anIndex));}
  1762. template <class T>
  1763. inline void CArrayFix<T>::InsertL(TInt anIndex,const T &aRef)
  1764. #line 589
  1765. {CArrayFixBase::InsertL(anIndex,&aRef);}
  1766. template <class T>
  1767. inline void CArrayFix<T>::InsertL(TInt anIndex,const T *aPtr,TInt aCount)
  1768. #line 622
  1769. {CArrayFixBase::InsertL(anIndex,aPtr,aCount);}
  1770. template <class T>
  1771. inline void CArrayFix<T>::InsertL(TInt anIndex,const T &aRef,TInt aReplicas)
  1772. #line 655
  1773. {CArrayFixBase::InsertRepL(anIndex,&aRef,aReplicas);}
  1774. template <class T>
  1775. inline TInt CArrayFix<T>::InsertIsqL(const T &aRef,TKeyArrayFix &aKey)
  1776. #line 684
  1777. {return(CArrayFixBase::InsertIsqL(&aRef,aKey));}
  1778. template <class T>
  1779. inline TInt CArrayFix<T>::InsertIsqAllowDuplicatesL(const T &aRef,TKeyArrayFix &aKey)
  1780. #line 711
  1781. {return(CArrayFixBase::InsertIsqAllowDuplicatesL(&aRef,aKey));}
  1782. template <class T>
  1783. inline void CArrayFix<T>::ResizeL(TInt aCount)
  1784. #line 746
  1785. {TUint8 b[sizeof(T)]; new(&b[0]) T; CArrayFixBase::ResizeL(aCount,&b[0]);}
  1786. template <class T>
  1787. inline void CArrayFix<T>::ResizeL(TInt aCount,const T &aRef)
  1788. #line 783
  1789. {CArrayFixBase::ResizeL(aCount,&aRef);}
  1790. template <class T>
  1791. inline const TArray<T> CArrayFix<T>::Array() const
  1792. {return(TArray<T>(CountR,AtR,this));}
  1793. inline CArrayFix<TAny>::CArrayFix(TBufRep aRep,TInt aRecordLength,TInt aGranularity)
  1794. : CArrayFixBase(aRep,aRecordLength,aGranularity)
  1795. {}
  1796. inline const TAny *CArrayFix<TAny>::At(TInt anIndex) const
  1797. #line 825
  1798. {return(CArrayFixBase::At(anIndex));}
  1799. inline const TAny *CArrayFix<TAny>::End(TInt anIndex) const
  1800. #line 850
  1801. {return(CArrayFixBase::End(anIndex));}
  1802. inline const TAny *CArrayFix<TAny>::Back(TInt anIndex) const
  1803. #line 877
  1804. {return(CArrayFixBase::Back(anIndex));}
  1805. inline TAny *CArrayFix<TAny>::At(TInt anIndex)
  1806. #line 897
  1807. {return(CArrayFixBase::At(anIndex));}
  1808. inline TAny *CArrayFix<TAny>::End(TInt anIndex)
  1809. #line 922
  1810. {return(CArrayFixBase::End(anIndex));}
  1811. inline TAny *CArrayFix<TAny>::Back(TInt anIndex)
  1812. #line 949
  1813. {return(CArrayFixBase::Back(anIndex));}
  1814. inline void CArrayFix<TAny>::AppendL(const TAny *aPtr)
  1815. #line 964
  1816. {CArrayFixBase::InsertL(Count(),aPtr);}
  1817. inline void CArrayFix<TAny>::AppendL(const TAny *aPtr,TInt aCount)
  1818. #line 982
  1819. {CArrayFixBase::InsertL(Count(),aPtr,aCount);}
  1820. inline TAny *CArrayFix<TAny>::ExtendL()
  1821. #line 1001
  1822. {return(CArrayFixBase::ExpandL(Count()));}
  1823. template <class T>
  1824. inline CArrayFixFlat<T>::CArrayFixFlat(TInt aGranularity)
  1825. : CArrayFix<T>((TBufRep)CBufFlat::NewL,aGranularity)
  1826. #line 1024
  1827. {}
  1828. template <class T>
  1829. inline void CArrayFixFlat<T>::SetReserveL(TInt aCount)
  1830. #line 1050
  1831. {this->SetReserveFlatL(aCount);}
  1832. inline CArrayFixFlat<TAny>::CArrayFixFlat(TInt aRecordLength,TInt aGranularity)
  1833. : CArrayFix<TAny>((TBufRep)CBufFlat::NewL,aRecordLength,aGranularity)
  1834. #line 1069
  1835. {}
  1836. inline void CArrayFixFlat<TAny>::SetReserveL(TInt aCount)
  1837. #line 1094
  1838. {SetReserveFlatL(aCount);}
  1839. inline void CArrayFixFlat<TInt>::SetReserveL(TInt aCount)
  1840. #line 1119
  1841. {SetReserveFlatL(aCount);}
  1842. inline void CArrayFixFlat<TUid>::SetReserveL(TInt aCount)
  1843. #line 1144
  1844. {SetReserveFlatL(aCount);}
  1845. template <class T>
  1846. inline CArrayFixSeg<T>::CArrayFixSeg(TInt aGranularity)
  1847. : CArrayFix<T>((TBufRep)CBufSeg::NewL,aGranularity)
  1848. #line 1168
  1849. {}
  1850. inline CArrayFixSeg<TAny>::CArrayFixSeg(TInt aRecordLength,TInt aGranularity)
  1851. : CArrayFix<TAny>((TBufRep)CBufSeg::NewL,aRecordLength,aGranularity)
  1852. #line 1188
  1853. {}
  1854. template <class T>
  1855. inline CArrayPtr<T>::CArrayPtr(TBufRep aRep,TInt aGranularity)
  1856. : CArrayFix<T*>(aRep,aGranularity)
  1857. {}
  1858. template <class T>
  1859. void CArrayPtr<T>::ResetAndDestroy()
  1860. #line 1221
  1861. {
  1862. for (TInt i=0;i<this->Count();++i)
  1863. delete this->At(i);
  1864. this->Reset();
  1865. }
  1866. template <class T>
  1867. inline CArrayPtrFlat<T>::CArrayPtrFlat(TInt aGranularity)
  1868. : CArrayPtr<T>((TBufRep)CBufFlat::NewL,aGranularity)
  1869. #line 1243
  1870. {}
  1871. template <class T>
  1872. inline void CArrayPtrFlat<T>::SetReserveL(TInt aCount)
  1873. #line 1269
  1874. {this->SetReserveFlatL(aCount);}
  1875. template <class T>
  1876. inline CArrayPtrSeg<T>::CArrayPtrSeg(TInt aGranularity)
  1877. : CArrayPtr<T>((TBufRep)CBufSeg::NewL,aGranularity)
  1878. #line 1287
  1879. {}
  1880. inline TInt CArrayVarBase::Count() const
  1881. {return(iCount);}
  1882. template <class T>
  1883. inline CArrayVar<T>::CArrayVar(TBufRep aRep,TInt aGranularity)
  1884. : CArrayVarBase(aRep,aGranularity)
  1885. {}
  1886. template <class T>
  1887. inline const T &CArrayVar<T>::operator[](TInt anIndex) const
  1888. #line 1334
  1889. {return(*((const T *)CArrayVarBase::At(anIndex)));}
  1890. template <class T>
  1891. inline T &CArrayVar<T>::operator[](TInt anIndex)
  1892. #line 1358
  1893. {return(*((T *)CArrayVarBase::At(anIndex)));}
  1894. template <class T>
  1895. inline const T &CArrayVar<T>::At(TInt anIndex) const
  1896. #line 1381
  1897. {return(*((const T *)CArrayVarBase::At(anIndex)));}
  1898. template <class T>
  1899. inline T &CArrayVar<T>::At(TInt anIndex)
  1900. #line 1403
  1901. {return(*((T *)CArrayVarBase::At(anIndex)));}
  1902. template <class T>
  1903. inline void CArrayVar<T>::AppendL(const T &aRef,TInt aLength)
  1904. #line 1423
  1905. {CArrayVarBase::InsertL(Count(),&aRef,aLength);}
  1906. template <class T>
  1907. inline T &CArrayVar<T>::ExpandL(TInt anIndex,TInt aLength)
  1908. #line 1465
  1909. {return(*new(CArrayVarBase::ExpandL(anIndex,aLength)) T);}
  1910. template <class T>
  1911. inline T &CArrayVar<T>::ExtendL(TInt aLength)
  1912. #line 1499
  1913. {return(*new(CArrayVarBase::ExpandL(Count(),aLength)) T);}
  1914. template <class T>
  1915. inline TInt CArrayVar<T>::Find(const T &aRef,TKeyArrayVar &aKey,TInt &anIndex) const
  1916. #line 1529
  1917. {return(CArrayVarBase::Find(&aRef,aKey,anIndex));}
  1918. template <class T>
  1919. inline TInt CArrayVar<T>::FindIsq(const T &aRef,TKeyArrayVar &aKey,TInt &anIndex) const
  1920. #line 1565
  1921. {return(CArrayVarBase::FindIsq(&aRef,aKey,anIndex));}
  1922. template <class T>
  1923. inline void CArrayVar<T>::InsertL(TInt anIndex,const T &aRef,TInt aLength)
  1924. #line 1595
  1925. {CArrayVarBase::InsertL(anIndex,&aRef,aLength);}
  1926. template <class T>
  1927. inline TInt CArrayVar<T>::InsertIsqL(const T &aRef,TInt aLength,TKeyArrayVar &aKey)
  1928. #line 1628
  1929. {return(CArrayVarBase::InsertIsqL(&aRef,aLength,aKey));}
  1930. template <class T>
  1931. inline TInt CArrayVar<T>::InsertIsqAllowDuplicatesL(const T &aRef,TInt aLength,TKeyArrayVar &aKey)
  1932. #line 1658
  1933. {return(CArrayVarBase::InsertIsqAllowDuplicatesL(&aRef,aLength,aKey));}
  1934. template <class T>
  1935. inline const TArray<T> CArrayVar<T>::Array() const
  1936. {return(TArray<T>(CountR,AtR,this));}
  1937. inline const TAny *CArrayVar<TAny>::At(TInt anIndex) const
  1938. #line 1692
  1939. {return(CArrayVarBase::At(anIndex));}
  1940. inline CArrayVar<TAny>::CArrayVar(TBufRep aRep,TInt aGranularity)
  1941. : CArrayVarBase(aRep,aGranularity)
  1942. #line 1714
  1943. {}
  1944. inline TAny *CArrayVar<TAny>::At(TInt anIndex)
  1945. #line 1736
  1946. {return(CArrayVarBase::At(anIndex));}
  1947. inline void CArrayVar<TAny>::AppendL(const TAny *aPtr,TInt aLength)
  1948. {CArrayVarBase::InsertL(Count(),aPtr,aLength);}
  1949. inline TAny *CArrayVar<TAny>::ExtendL(TInt aLength)
  1950. #line 1773
  1951. {return(CArrayVarBase::ExpandL(Count(),aLength));}
  1952. template <class T>
  1953. inline CArrayVarFlat<T>::CArrayVarFlat(TInt aGranularity)
  1954. : CArrayVar<T>((TBufRep)CBufFlat::NewL,aGranularity)
  1955. #line 1791
  1956. {}
  1957. template <class T>
  1958. inline CArrayVarSeg<T>::CArrayVarSeg(TInt aGranularity)
  1959. : CArrayVar<T>((TBufRep)CBufSeg::NewL,aGranularity)
  1960. #line 1809
  1961. {}
  1962. inline TInt CArrayPakBase::Count() const
  1963. {return(iCount);}
  1964. template <class T>
  1965. inline CArrayPak<T>::CArrayPak(TBufRep aRep,TInt aGranularity)
  1966. : CArrayPakBase(aRep,aGranularity)
  1967. {}
  1968. template <class T>
  1969. inline const T &CArrayPak<T>::operator[](TInt anIndex) const
  1970. #line 1857
  1971. {return(*((const T *)CArrayPakBase::At(anIndex)));}
  1972. template <class T>
  1973. inline T &CArrayPak<T>::operator[](TInt anIndex)
  1974. #line 1881
  1975. {return(*((T *)CArrayPakBase::At(anIndex)));}
  1976. template <class T>
  1977. inline const T &CArrayPak<T>::At(TInt anIndex) const
  1978. #line 1905
  1979. {return(*((const T *)CArrayPakBase::At(anIndex)));}
  1980. template <class T>
  1981. inline T &CArrayPak<T>::At(TInt anIndex)
  1982. #line 1929
  1983. {return(*((T *)CArrayPakBase::At(anIndex)));}
  1984. template <class T>
  1985. inline void CArrayPak<T>::AppendL(const T &aRef,TInt aLength)
  1986. #line 1948
  1987. {CArrayPakBase::InsertL(Count(),&aRef,aLength);}
  1988. template <class T>
  1989. inline T &CArrayPak<T>::ExpandL(TInt anIndex,TInt aLength)
  1990. #line 1988
  1991. {return(*new(CArrayPakBase::ExpandL(anIndex,aLength)) T);}
  1992. template <class T>
  1993. inline T &CArrayPak<T>::ExtendL(TInt aLength)
  1994. #line 2021
  1995. {return(*new(CArrayPakBase::ExpandL(Count(),aLength)) T);}
  1996. template <class T>
  1997. inline TInt CArrayPak<T>::Find(const T &aRef,TKeyArrayPak &aKey,TInt &anIndex) const
  1998. #line 2051
  1999. {return(CArrayPakBase::Find(&aRef,aKey,anIndex));}
  2000. template <class T>
  2001. inline TInt CArrayPak<T>::FindIsq(const T &aRef,TKeyArrayPak &aKey,TInt &anIndex) const
  2002. #line 2088
  2003. {return(CArrayPakBase::FindIsq(&aRef,aKey,anIndex));}
  2004. template <class T>
  2005. inline void CArrayPak<T>::InsertL(TInt anIndex,const T &aRef,TInt aLength)
  2006. #line 2114
  2007. {CArrayPakBase::InsertL(anIndex,&aRef,aLength);}
  2008. template <class T>
  2009. inline TInt CArrayPak<T>::InsertIsqL(const T &aRef,TInt aLength,TKeyArrayPak &aKey)
  2010. #line 2146
  2011. {return(CArrayPakBase::InsertIsqL(&aRef,aLength,aKey));}
  2012. template <class T>
  2013. inline TInt CArrayPak<T>::InsertIsqAllowDuplicatesL(const T &aRef,TInt aLength,TKeyArrayPak &aKey)
  2014. #line 2175
  2015. {return(CArrayPakBase::InsertIsqAllowDuplicatesL(&aRef,aLength,aKey));}
  2016. template <class T>
  2017. inline const TArray<T> CArrayPak<T>::Array() const
  2018. {return(TArray<T>(CountR,AtR,this));}
  2019. inline CArrayPak<TAny>::CArrayPak(TBufRep aRep,TInt aGranularity)
  2020. : CArrayPakBase(aRep,aGranularity)
  2021. #line 2209
  2022. {}
  2023. inline const TAny *CArrayPak<TAny>::At(TInt anIndex) const
  2024. #line 2231
  2025. {return(CArrayPakBase::At(anIndex));}
  2026. inline TAny *CArrayPak<TAny>::At(TInt anIndex)
  2027. #line 2253
  2028. {return(CArrayPakBase::At(anIndex));}
  2029. inline void CArrayPak<TAny>::AppendL(const TAny *aPtr,TInt aLength)
  2030. #line 2269
  2031. {CArrayPakBase::InsertL(Count(),aPtr,aLength);}
  2032. inline TAny *CArrayPak<TAny>::ExtendL(TInt aLength)
  2033. #line 2290
  2034. {return(CArrayPakBase::ExpandL(Count(),aLength));}
  2035. template <class T>
  2036. inline CArrayPakFlat<T>::CArrayPakFlat(TInt aGranularity)
  2037. : CArrayPak<T>((TBufRep)CBufFlat::NewL,aGranularity)
  2038. #line 2308
  2039. {}
  2040. inline TInt CObject::UniqueID() const
  2041. #line 2326
  2042. {return(iContainer->UniqueID());}
  2043. inline TInt CObject::AccessCount() const
  2044. {return(iAccessCount);}
  2045. inline void CObject::Inc()
  2046. #line 2351
  2047. {iAccessCount++;}
  2048. inline void CObject::Dec()
  2049. #line 2365
  2050. {iAccessCount--;}
  2051. inline CObject * CObject::Owner() const
  2052. {return(iOwner);}
  2053. inline void CObject::SetOwner(CObject *anOwner)
  2054. #line 2393
  2055. {iOwner=anOwner;}
  2056. inline TInt CObjectIx::Count() const
  2057. #line 2409
  2058. {return iHighWaterMark;}
  2059. inline TInt CObjectIx::ActiveCount() const
  2060. {return iNumEntries;}
  2061. inline TInt CObjectCon::UniqueID() const
  2062. {return iUniqueID;}
  2063. inline TInt CObjectCon::Count() const
  2064. {return iCount;}
  2065. inline TInt CCirBufBase::Count() const
  2066. {return(iCount);}
  2067. inline TInt CCirBufBase::Length() const
  2068. #line 2474
  2069. {return(iLength);}
  2070. template <class T>
  2071. inline CCirBuf<T>::CCirBuf()
  2072. : CCirBufBase(sizeof(T))
  2073. #line 2491
  2074. {}
  2075. template <class T>
  2076. inline TInt CCirBuf<T>::Add(const T *aPtr)
  2077. #line 2514
  2078. {return(DoAdd((const TUint8 *)aPtr));}
  2079. template <class T>
  2080. inline TInt CCirBuf<T>::Add(const T *aPtr,TInt aCount)
  2081. #line 2541
  2082. {return(DoAdd((const TUint8 *)aPtr,aCount));}
  2083. template <class T>
  2084. inline TInt CCirBuf<T>::Remove(T *aPtr)
  2085. #line 2560
  2086. {return(DoRemove((TUint8 *)aPtr));}
  2087. template <class T>
  2088. inline TInt CCirBuf<T>::Remove(T *aPtr,TInt aCount)
  2089. #line 2585
  2090. {return(DoRemove((TUint8 *)aPtr,aCount));}
  2091. inline TBool CActive::IsActive() const
  2092. #line 2605
  2093. {return(iStatus.iFlags&TRequestStatus::EActive);}
  2094. inline TBool CActive::IsAdded() const
  2095. #line 2628
  2096. {return(iLink.iNext!=0 );}
  2097. inline TInt CActive::Priority() const
  2098. {return iLink.iPriority;}
  2099. inline TDeltaTimerEntry::TDeltaTimerEntry(TCallBack& aCallback)
  2100. {iCallBack=aCallback;}
  2101. inline TDeltaTimerEntry::TDeltaTimerEntry()
  2102. {}
  2103. inline void TDeltaTimerEntry::Set(TCallBack& aCallback)
  2104. {iCallBack=aCallback;}
  2105. #line 2681
  2106. inline const RMessage2 &CServer2::Message() const
  2107. {return iMessage;}
  2108. #line 2695
  2109. inline const CServer2 *CSession2::Server() const
  2110. {return iServer;}
  2111. inline RThread& CAsyncOneShot::Thread()
  2112. { return iThread; }
  2113. inline TInt CActiveScheduler::Level() const
  2114. #line 2724
  2115. {return StackDepth();}
  2116. inline TBool CActiveSchedulerWait::IsStarted() const
  2117. #line 2743
  2118. {return iLoop != 0 ;}
  2119. inline void CleanupStack::Pop(TAny* aExpectedItem)
  2120. #line 2768
  2121. { CleanupStack::Check(aExpectedItem); CleanupStack::Pop(); }
  2122. inline void CleanupStack::Pop(TInt aCount, TAny* aLastExpectedItem)
  2123. #line 2795
  2124. {
  2125. if (--aCount)
  2126. CleanupStack::Pop(aCount);
  2127. CleanupStack::Check(aLastExpectedItem);
  2128. CleanupStack::Pop();
  2129. }
  2130. inline void CleanupStack::PopAndDestroy(TAny* aExpectedItem)
  2131. #line 2823
  2132. { CleanupStack::Check(aExpectedItem); CleanupStack::PopAndDestroy(); }
  2133. inline void CleanupStack::PopAndDestroy(TInt aCount, TAny* aLastExpectedItem)
  2134. #line 2851
  2135. {
  2136. if (--aCount)
  2137. CleanupStack::PopAndDestroy(aCount);
  2138. CleanupStack::Check(aLastExpectedItem);
  2139. CleanupStack::PopAndDestroy();
  2140. }
  2141. #line 2961
  2142. inline TCleanupItem::TCleanupItem(TCleanupOperation anOperation)
  2143. : iOperation(anOperation)
  2144. {}
  2145. inline TCleanupItem::TCleanupItem(TCleanupOperation anOperation,TAny *aPtr)
  2146. : iOperation(anOperation), iPtr(aPtr)
  2147. #line 2988
  2148. {}
  2149. inline CCleanup &TCleanupTrapHandler::Cleanup()
  2150. {return(*iCleanup);}
  2151. template <class T>
  2152. inline TAutoClose<T>::~TAutoClose()
  2153. {if (!std::uncaught_exception()) iObj.Close();}
  2154. template <class T>
  2155. inline void TAutoClose<T>::PushL()
  2156. {CleanupStack::PushL(TCleanupItem(Close, (TAny *)&iObj));}
  2157. template <class T>
  2158. inline void TAutoClose<T>::Pop()
  2159. {CleanupStack::Pop();}
  2160. template <class T>
  2161. void TAutoClose<T>::Close(TAny *aObj)
  2162. {((T *)aObj)->Close();}
  2163. template <class T>
  2164. inline void CleanupDelete<T>::PushL(T* aPtr)
  2165. #line 3053
  2166. {CleanupStack::PushL(TCleanupItem(&Delete,aPtr));}
  2167. template <class T>
  2168. void CleanupDelete<T>::Delete(TAny *aPtr)
  2169. {delete (static_cast<T*>(aPtr)) ;}
  2170. template <class T>
  2171. inline void CleanupDeletePushL(T* aPtr)
  2172. {CleanupDelete<T>::PushL(aPtr);}
  2173. template <class T>
  2174. inline void CleanupArrayDelete<T>::PushL(T* aPtr)
  2175. #line 3091
  2176. {CleanupStack::PushL(TCleanupItem(&ArrayDelete,aPtr));}
  2177. template <class T>
  2178. void CleanupArrayDelete<T>::ArrayDelete(TAny *aPtr)
  2179. {delete [] (static_cast<T*>(aPtr)) ;}
  2180. template <class T>
  2181. inline void CleanupArrayDeletePushL(T* aPtr)
  2182. {CleanupArrayDelete<T>::PushL(aPtr);}
  2183. template <class T>
  2184. inline void CleanupClose<T>::PushL(T& aRef)
  2185. {CleanupStack::PushL(TCleanupItem(&Close,&aRef));}
  2186. template <class T>
  2187. void CleanupClose<T>::Close(TAny *aPtr)
  2188. {((static_cast<T*>(aPtr)) )->Close();}
  2189. template <class T>
  2190. inline void CleanupClosePushL(T& aRef)
  2191. {CleanupClose<T>::PushL(aRef);}
  2192. template <class T>
  2193. inline void CleanupRelease<T>::PushL(T& aRef)
  2194. {CleanupStack::PushL(TCleanupItem(&Release,&aRef));}
  2195. template <class T>
  2196. void CleanupRelease<T>::Release(TAny *aPtr)
  2197. {((static_cast<T*>(aPtr)) )->Release();}
  2198. template <class T>
  2199. inline void CleanupReleasePushL(T& aRef)
  2200. {CleanupRelease<T>::PushL(aRef);}
  2201. #line 3245 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32base.h" /* stack depth 4 */
  2202. #line 14 "C:\Symbian\9.1\S60_3rd\epoc32\include\coecntrl.h" /* stack depth 3 */
  2203. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\w32std.h" /* stack depth 4 */
  2204. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\fntstore.h" /* stack depth 5 */
  2205. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\f32file.h" /* stack depth 6 */
  2206. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32svr.h" /* stack depth 7 */
  2207. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32hal.h" /* stack depth 8 */
  2208. #line 14
  2209. const TInt KMaxRomDevices=8;
  2210. #line 33
  2211. enum TDigitizerCalibrationType
  2212.     {
  2213.     EFactory,
  2214.     ESaved
  2215.     };
  2216. #line 61
  2217. class TDigitizerCalibration
  2218.     {
  2219. public:
  2220.     TPoint iTl;
  2221.     TPoint iBl;
  2222.     TPoint iTr;
  2223.     TPoint iBr;
  2224.     };
  2225. #line 83
  2226. enum TKeyboard
  2227. {
  2228. EKeyboard_Keypad=1,
  2229. EKeyboard_Full=2,
  2230. };
  2231. #line 115
  2232. class TKeyboardInfoV01
  2233. {
  2234. public:
  2235. TInt iDeviceKeys;
  2236. #line 135
  2237.     TInt iAppsKeys;
  2238. #line 148
  2239. TKeyboard iKeyboardType;
  2240.     };
  2241. #line 162
  2242. typedef TPckgBuf<TKeyboardInfoV01> TKeyboardInfoV01Buf;
  2243. #line 182
  2244. class TDigitiserInfoV01
  2245. {
  2246. public:
  2247. TPoint iOffsetToDisplay;
  2248. TSize iDigitiserSize;
  2249. };
  2250. #line 196
  2251. class TDigitiserInfoV02 : public TDigitiserInfoV01
  2252. {
  2253. TInt iZRange;
  2254. TUint8 iThetaSupported;
  2255. TUint8 iPhiSupported;
  2256. TUint8 iAlphaSupported;
  2257. TUint8 iPressureSupported;
  2258. };
  2259. #line 214
  2260. typedef TPckgBuf<TDigitiserInfoV01> TDigitiserInfoV01Buf;
  2261. #line 224
  2262. typedef TPckgBuf<TDigitiserInfoV02> TDigitiserInfoV02Buf;
  2263. #line 241
  2264. class TMouseInfoV01
  2265. {
  2266. public:
  2267. TInt iMouseButtons;
  2268. TPoint iOffsetToDisplay;
  2269. TSize iMouseAreaSize;
  2270. };
  2271. #line 260
  2272. typedef TPckgBuf<TMouseInfoV01> TMouseInfoV01Buf;
  2273. #line 279
  2274. class TVariantInfoV01
  2275. {
  2276. public:
  2277. TVersion iRomVersion;
  2278. SInt64 iMachineUniqueId;
  2279.     TUint iLedCapabilities;
  2280.     TInt iProcessorClockInKHz;
  2281.     TInt iSpeedFactor;
  2282.     };
  2283. #line 321
  2284. typedef TPckgBuf<TVariantInfoV01> TVariantInfoV01Buf;
  2285. #line 334
  2286. enum TMachineStartupType
  2287. {
  2288. EStartupCold,EStartupColdReset,EStartupNewOs,
  2289. EStartupPowerFail,EStartupWarmReset,EStartupKernelFault,
  2290. EStartupSafeReset
  2291. };
  2292. #line 350
  2293. enum TXYInputType
  2294. {
  2295. EXYInputNone,
  2296. EXYInputPointer,
  2297. EXYInputMouse,
  2298. EXYInputDeltaMouse
  2299. };
  2300. #line 367
  2301. class TMachineInfoV1
  2302. {
  2303. public:
  2304. TVersion iRomVersion;
  2305. TXYInputType iXYInputType;
  2306. TBool iKeyboardPresent;
  2307. TBool iBacklightPresent;
  2308.     TSize iDisplaySizeInPixels;
  2309.     TSize iXYInputSizeInPixels;
  2310.     TSize iPhysicalScreenSize;
  2311. TPoint iOffsetToDisplayInPixels;
  2312. TInt iKeyboardId;
  2313. TInt iDisplayId;
  2314. SInt64 iMachineUniqueId;
  2315.     TUint iLedCapabilities;
  2316.     TInt iProcessorClockInKHz;
  2317.     TInt iSpeedFactor;
  2318.     TInt iMaximumDisplayColors;
  2319. };
  2320. typedef TPckgBuf<TMachineInfoV1> TMachineInfoV1Buf;
  2321. #line 401
  2322. class TMachineInfoV2 : public TMachineInfoV1
  2323. {
  2324. public:
  2325. TInt iLanguageIndex;
  2326.     TInt iKeyboardIndex;
  2327.     };
  2328. typedef TPckgBuf<TMachineInfoV2> TMachineInfoV2Buf;
  2329. #line 422
  2330. class TMemoryInfoV1
  2331.     {
  2332. public:
  2333.     TInt iTotalRamInBytes;
  2334.     TInt iTotalRomInBytes;
  2335.     TInt iMaxFreeRamInBytes;
  2336.     TInt iFreeRamInBytes;
  2337.     TInt iInternalDiskRamInBytes;
  2338.     TBool iRomIsReprogrammable;
  2339.     };
  2340. typedef TPckgBuf<TMemoryInfoV1> TMemoryInfoV1Buf;
  2341. #line 447
  2342. class TRomInfoEntryV1
  2343. {
  2344. public:
  2345.     enum TRomTypeV1
  2346.      {
  2347.      ERomTypeRom=0,
  2348.      ERomTypeFlash=1
  2349.      };
  2350. TInt iSize;
  2351. TInt iWidth;
  2352. TInt iSpeed;
  2353. TRomTypeV1 iType;
  2354. };
  2355. #line 470
  2356. class TRomInfoV1
  2357. {
  2358. public:
  2359. TRomInfoEntryV1 iEntry[KMaxRomDevices];
  2360. };
  2361. typedef TPckgBuf<TRomInfoV1> TRomInfoV1Buf;
  2362. const TUint KRuggedFileSystem=0x01;
  2363. class TDriveInfoV1
  2364.     {
  2365. public:
  2366. TInt iTotalSupportedDrives;
  2367. TInfoName iDriveName[KMaxLocalDrives];
  2368. TInt iTotalSockets;
  2369. TInfoName iSocketName[KMaxPBusSockets];
  2370. TInt iRuggedFileSystem;
  2371. TUint iRegisteredDriveBitmask;
  2372. };
  2373. typedef TPckgBuf<TDriveInfoV1> TDriveInfoV1Buf;
  2374. class TDriveInfoV18
  2375.     {
  2376. public:
  2377. TInt iTotalSupportedDrives;
  2378. TBuf8<KMaxInfoName> iDriveName[KMaxLocalDrives];
  2379. TInt iTotalSockets;
  2380. TBuf8<KMaxInfoName> iSocketName[KMaxPBusSockets];
  2381. TInt iRuggedFileSystem;
  2382. TUint iRegisteredDriveBitmask;
  2383. };
  2384. typedef TPckgBuf<TDriveInfoV18> TDriveInfoV1Buf8;
  2385. #line 536
  2386. class TExcInfo
  2387. {
  2388. public:
  2389. TAny *iCodeAddress;
  2390. TAny *iDataAddress;
  2391. TInt iExtraData;
  2392. };
  2393. #line 575
  2394. class UserHal
  2395. {
  2396. public:
  2397. __declspec(dllexport) static TInt MemoryInfo(TDes8& anInfo);
  2398. __declspec(dllexport) static TInt RomInfo(TDes8& anInfo);
  2399. __declspec(dllexport) static TInt StartupReason(TMachineStartupType& aReason);
  2400. __declspec(dllexport) static TInt FaultReason(TInt &aReason);
  2401. __declspec(dllexport) static TInt ExceptionId(TInt &anId);
  2402. __declspec(dllexport) static TInt ExceptionInfo(TExcInfo &aInfo);
  2403. __declspec(dllexport) static TInt PageSizeInBytes(TInt& aSize);
  2404. __declspec(dllexport) static TInt MachineInfo(TDes8& anInfo);
  2405. __declspec(dllexport) static TInt TickPeriod(TTimeIntervalMicroSeconds32& aPeriod);
  2406. __declspec(dllexport) static TInt DriveInfo(TDes8& anInfo);
  2407.     __declspec(dllexport) static TInt SwitchOff();
  2408. __declspec(dllexport) static TInt SetXYInputCalibration(const TDigitizerCalibration& aCalibration);
  2409. __declspec(dllexport) static TInt CalibrationPoints(TDigitizerCalibration& aCalibration);
  2410. __declspec(dllexport) static TInt SaveXYInputCalibration();
  2411. __declspec(dllexport) static TInt RestoreXYInputCalibration(TDigitizerCalibrationType aType);
  2412. };
  2413. #line 8 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32svr.h" /* stack depth 7 */
  2414. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\d32locd.h" /* stack depth 8 */
  2415. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\partitions.h" /* stack depth 9 */
  2416. #line 15
  2417. const TUint KPartitionTypeEmpty=0x00;
  2418. const TUint KPartitionTypeFAT12=0x01;
  2419. const TUint KPartitionTypeXENIXroot=0x02;
  2420. const TUint KPartitionTypeXENIXusr=0x03;
  2421. const TUint KPartitionTypeFAT16small=0x04;
  2422. const TUint KPartitionTypeExtended=0x05;
  2423. const TUint KPartitionTypeFAT16=0x06;
  2424. const TUint KPartitionTypeNTFS=0x07;
  2425. const TUint KPartitionTypeAIX=0x08;
  2426. const TUint KPartitionTypeAIXboot=0x09;
  2427. const TUint KPartitionTypeOS2BootManager=0x0a;
  2428. const TUint KPartitionTypeWin95FAT32=0x0b;
  2429. const TUint KPartitionTypeWin95FAT32LBA=0x0c;
  2430. const TUint KPartitionTypeWin95FAT16LBA=0x0e;
  2431. const TUint KPartitionTypeWin95ExtdLBA=0x0f;
  2432. const TUint KPartitionTypeOPUS=0x10;
  2433. const TUint KPartitionTypeHiddenFAT12=0x11;
  2434. const TUint KPartitionTypeCompaqDiag=0x12;
  2435. const TUint KPartitionTypeHiddenFAT16small=0x14;
  2436. const TUint KPartitionTypeHiddenFAT16=0x16;
  2437. const TUint KPartitionTypeHiddenNTFS=0x17;
  2438. const TUint KPartitionTypeASTSmartSleep=0x18;
  2439. const TUint KPartitionTypeHiddenWin95FAT32=0x1b;
  2440. const TUint KPartitionTypeHiddenWin95FAT32LBA=0x1c;
  2441. const TUint KPartitionTypeHiddenWin95FAT16LBA=0x1e;
  2442. const TUint KPartitionTypeNECDOS=0x24;
  2443. const TUint KPartitionTypePlan9=0x39;
  2444. const TUint KPartitionTypePartitionMagic=0x3c;
  2445. const TUint KPartitionTypeVenix80286=0x40;
  2446. const TUint KPartitionTypePPCPRePBoot=0x41;
  2447. const TUint KPartitionTypeSFS=0x42;
  2448. const TUint KPartitionTypeQNX4x=0x4d;
  2449. const TUint KPartitionTypeQNX4x_2=0x4e;
  2450. const TUint KPartitionTypeQNX4x_3=0x4f;
  2451. const TUint KPartitionTypeOnTrackDM=0x50;
  2452. const TUint KPartitionTypeOnTrackDM6Aux=0x51;
  2453. const TUint KPartitionTypeCPM=0x52;
  2454. const TUint KPartitionTypeOnTrackDM6Aux_2=0x53;
  2455. const TUint KPartitionTypeOnTrackDM6=0x54;
  2456. const TUint KPartitionTypeEZDrive=0x55;
  2457. const TUint KPartitionTypeGoldenBow=0x56;
  2458. const TUint KPartitionTypePriamEdisk=0x5c;
  2459. const TUint KPartitionTypeSpeedStor=0x61;
  2460. const TUint KPartitionTypeGNU_HURD=0x63;
  2461. const TUint KPartitionTypeNovellNetware=0x64;
  2462. const TUint KPartitionTypeNovellNetware_2=0x65;
  2463. const TUint KPartitionTypeDiskSecure=0x70;
  2464. const TUint KPartitionTypePCIX=0x75;
  2465. const TUint KPartitionTypeOldMinix=0x80;
  2466. const TUint KPartitionTypeMinixOldLinux=0x81;
  2467. const TUint KPartitionTypeLinuxSwap=0x82;
  2468. const TUint KPartitionTypeLinux=0x83;
  2469. const TUint KPartitionTypeOS2Hidden=0x84;
  2470. const TUint KPartitionTypeLinuxExtended=0x85;
  2471. const TUint KPartitionTypeNTFSvolset=0x86;
  2472. const TUint KPartitionTypeNTFSvolset_2=0x87;
  2473. const TUint KPartitionTypeLinuxLVM=0x8e;
  2474. const TUint KPartitionTypeAmoeba=0x93;
  2475. const TUint KPartitionTypeAmoebaBBT=0x94;
  2476. const TUint KPartitionTypeBSD_OS=0x9f;
  2477. const TUint KPartitionTypeIBMThinkpad=0xa0;
  2478. const TUint KPartitionTypeFreeBSD=0xa5;
  2479. const TUint KPartitionTypeOpenBSD=0xa6;
  2480. const TUint KPartitionTypeNeXTSTEP=0xa7;
  2481. const TUint KPartitionTypeNetBSD=0xa9;
  2482. const TUint KPartitionTypeBSDIfs=0xb7;
  2483. const TUint KPartitionTypeBSDIswap=0xb8;
  2484. const TUint KPartitionTypeBootWizardHidden=0xbb;
  2485. const TUint KPartitionTypeDRDOS=0xc1;
  2486. const TUint KPartitionTypeDRDOS_2=0xc4;
  2487. const TUint KPartitionTypeDRDOS_3=0xc6;
  2488. const TUint KPartitionTypeSyrinx=0xc7;
  2489. const TUint KPartitionTypeNonFSData=0xda;
  2490. const TUint KPartitionTypeCPM_CTOS=0xdb;
  2491. const TUint KPartitionTypeDellUtility=0xde;
  2492. const TUint KPartitionTypeBootIt=0xdf;
  2493. const TUint KPartitionTypeDOSaccess=0xe1;
  2494. const TUint KPartitionTypeDOS_RO=0xe3;
  2495. const TUint KPartitionTypeSymbianCrashLog=0xf0;
  2496. const TUint KPartitionTypeSpeedStor_2=0xf1;
  2497. const TUint KPartitionTypeDOSsecondary=0xf2;
  2498. const TUint KPartitionTypeSpeedStor_3=0xf4;
  2499. const TUint KPartitionTypeRofs=0xfa;
  2500. const TUint KPartitionTypeIso9660=0xfb;
  2501. const TUint KPartitionTypeEneaLFFS=0xfc;
  2502. const TUint KPartitionTypeLinuxRaidAuto=0xfd;
  2503. const TUint KPartitionTypeLANStep=0xfe;
  2504. const TUint KPartitionTypeBBT=0xff;
  2505. inline TBool PartitionIsFAT(TUint a)
  2506. {
  2507. return (
  2508. a==KPartitionTypeFAT12 ||
  2509. a==KPartitionTypeFAT16small ||
  2510. a==KPartitionTypeFAT16 ||
  2511. a==KPartitionTypeFAT16 ||
  2512. a==KPartitionTypeWin95FAT16LBA ||
  2513. a==KPartitionTypeHiddenFAT12 ||
  2514. a==KPartitionTypeHiddenFAT16small ||
  2515. a==KPartitionTypeHiddenFAT16 ||
  2516. a==KPartitionTypeHiddenWin95FAT16LBA
  2517. );
  2518. }
  2519. inline TBool PartitionIsFAT32(TUint a)
  2520. {
  2521. return (
  2522. a==KPartitionTypeWin95FAT32 ||
  2523. a==KPartitionTypeWin95FAT32LBA ||
  2524. a==KPartitionTypeHiddenWin95FAT32 ||
  2525. a==KPartitionTypeHiddenWin95FAT32LBA
  2526. );
  2527. }
  2528. inline TBool PartitionIsNTFS(TUint a)
  2529. {
  2530. return (
  2531. a==KPartitionTypeNTFS ||
  2532. a==KPartitionTypeHiddenNTFS
  2533. );
  2534. }
  2535. const TUint KBootIndicatorBootable=0x80;
  2536. class TMBRPartitionEntry
  2537. {
  2538. public:
  2539. TBool IsValidPartition()
  2540. { return (iNumSectors>0 && iPartitionType!=KPartitionTypeEmpty); }
  2541. TBool IsValidDosPartition()
  2542. { return (iNumSectors>0 && PartitionIsFAT(iPartitionType)); }
  2543. TBool IsDefaultBootPartition()
  2544. { return(iX86BootIndicator==KBootIndicatorBootable && (IsValidDosPartition() || IsValidFAT32Partition())); }
  2545. TBool IsValidFAT32Partition()
  2546. { return (iNumSectors>0 && PartitionIsFAT32(iPartitionType)); }
  2547. public:
  2548. TUint8 iX86BootIndicator;
  2549. TUint8 iStartHead;
  2550. TUint8 iStartSector;
  2551. TUint8 iStartCylinder;
  2552. TUint8 iPartitionType;
  2553. TUint8 iEndHead;
  2554. TUint8 iEndSector;
  2555. TUint8 iEndCylinder;
  2556. TUint32 iFirstSector;
  2557. TUint32 iNumSectors;
  2558. };
  2559. const TUint KMBRFirstPartitionOffset=0x1BE;
  2560. const TUint KMBRSignatureOffset=0x1FE;
  2561. const TUint KMBRSignature=0xAA55;
  2562. const TInt KMBRMaxPrimaryPartitions=4;
  2563. class TMasterBootRecord
  2564. {
  2565. public:
  2566. TUint8 iBootCode[KMBRFirstPartitionOffset];
  2567. TMBRPartitionEntry iPartitionEntry[KMBRMaxPrimaryPartitions];
  2568. TUint16 iSignature;
  2569. };
  2570. #line 9 "C:\Symbian\9.1\S60_3rd\epoc32\include\d32locd.h" /* stack depth 8 */
  2571. #line 21
  2572. enum TMediaDevice { EFixedMedia0, EFixedMedia1, EFixedMedia2, EFixedMedia3,
  2573. EFixedMedia4, EFixedMedia5, EFixedMedia6, EFixedMedia7,
  2574. ERemovableMedia0, ERemovableMedia1, ERemovableMedia2, ERemovableMedia3,
  2575. EInvalidMedia
  2576. };
  2577. #line 36
  2578. typedef signed int TSocket;
  2579. class TLDriveAssignInfo
  2580. {
  2581. public:
  2582. TMediaDevice iDevice;
  2583. TInt iPriority;
  2584. };
  2585. class TMediaDeviceAssignInfo
  2586. {
  2587. public:
  2588. TInt iFirstMedia;
  2589. TInt iLastMedia;
  2590. };
  2591. class TLocalDriveCaps
  2592. {
  2593. public:
  2594. __declspec(dllexport) TLocalDriveCaps();
  2595. public:
  2596. TInt64 iSize;
  2597. TMediaType iType;
  2598. TBatteryState iBattery;
  2599. TUint iDriveAtt;
  2600. TUint iMediaAtt;
  2601.     TUint8* iBaseAddress;
  2602. TUint16 iFileSystemId;
  2603. TUint16 iPartitionType;
  2604. };
  2605. typedef TPckgBuf<TLocalDriveCaps> TLocalDriveCapsBuf;
  2606. class TLocalDriveCapsV2 : public TLocalDriveCaps
  2607. {
  2608. public:
  2609. TUint iHiddenSectors;
  2610. TUint iEraseBlockSize;
  2611.     };
  2612. typedef TPckgBuf<TLocalDriveCapsV2> TLocalDriveCapsV2Buf;
  2613. class TLDFormatInfo
  2614. {
  2615. public:
  2616. TInt64 iCapacity;
  2617. TUint16 iSectorsPerCluster;
  2618. TUint16 iSectorsPerTrack;
  2619. TUint16 iNumberOfSides;
  2620. enum TFATBits {EFBDontCare, EFB12 = 12, EFB16 = 16, EFB32 = 32};
  2621. TFATBits iFATBits;
  2622. TUint32 iPad;
  2623. };
  2624. typedef TPckgBuf<TLDFormatInfo> TSpecialFormatInfoBuf;
  2625. class TLocalDriveCapsV3 : public TLocalDriveCapsV2
  2626. {
  2627. public:
  2628. TLDFormatInfo iFormatInfo;
  2629. TBool iExtraInfo;
  2630. TInt iMaxBytesPerFormat;
  2631.     };
  2632. void __compile_time_assert(int __check[((((TInt)&(((TLocalDriveCaps *)0x1000)->iSize))-0x1000)%8 == 0)?1:-1]) ;
  2633. void __compile_time_assert(int __check[((((TInt)&(((TLocalDriveCapsV3 *)0x1000)->iFormatInfo.iCapacity))-0x1000) % 8 == 0)?1:-1]) ;
  2634. typedef TPckgBuf<TLocalDriveCapsV3> TLocalDriveCapsV3Buf;
  2635. class TLocalDriveCapsV4 : public TLocalDriveCapsV3
  2636. {
  2637. public:
  2638. TInt iNumOfBlocks;
  2639. TInt iNumPagesPerBlock;
  2640. TInt iNumBytesMain;
  2641. TInt iNumBytesSpare;
  2642. TInt iEffectiveBlks;
  2643. TInt iStartPage;
  2644.     };
  2645. typedef TPckgBuf<TLocalDriveCapsV4> TLocalDriveCapsV4Buf;
  2646. typedef TBuf8<64 > TMediaSerialNumber;
  2647. class TLocalDriveCapsV5 : public TLocalDriveCapsV4
  2648. {
  2649. public:
  2650.     TUint iSerialNumLength;
  2651. TUint8 iSerialNum[64 ];
  2652. };
  2653. typedef TPckgBuf<TLocalDriveCapsV5> TLocalDriveCapsV5Buf;
  2654. class TFormatInfo
  2655. {
  2656. public:
  2657. __declspec(dllexport) TFormatInfo();
  2658. public:
  2659. TBool iFormatIsCurrent;
  2660. TInt i512ByteSectorsFormatted;
  2661. TInt iMaxBytesPerFormat;
  2662. };
  2663. class TErrorInfo
  2664. {
  2665. public:
  2666. enum TReasonCode
  2667. {
  2668. ENoError=0,
  2669. EBadSector=1,
  2670. };
  2671. public:
  2672.     TReasonCode iReasonCode;
  2673. union
  2674. {
  2675. TInt64 iErrorPos;
  2676.         TInt iOtherInfo;
  2677. };
  2678.     };
  2679. typedef TPckgBuf<TErrorInfo> TErrorInfoBuf;
  2680. class TLocalDriveMessageData
  2681. {
  2682. public:
  2683. inline TLocalDriveMessageData()
  2684. {}
  2685. inline TLocalDriveMessageData(TInt64 aPos, TInt aLength, const TAny* aPtr, TInt aHandle, TInt anOffset, TInt aFlags)
  2686. : iPos(aPos), iLength(aLength), iPtr(aPtr), iHandle(aHandle), iOffset(anOffset), iFlags(aFlags)
  2687. {}
  2688. public:
  2689. TInt64 iPos;
  2690. TInt iLength;
  2691. const TAny* iPtr;
  2692. TInt iHandle;
  2693. TInt iOffset;
  2694. TInt iFlags;
  2695. };
  2696. class TLocalDriveControlIOData
  2697. {
  2698. public:
  2699. inline TLocalDriveControlIOData()
  2700. {}
  2701. inline TLocalDriveControlIOData(TInt aCommand, TAny* aParam1, TAny* aParam2, TInt aHandle)
  2702. : iCommand(aCommand), iParam1(aParam1), iParam2(aParam2), iHandle(aHandle)
  2703. {}
  2704. public:
  2705. TInt iCommand;
  2706. TAny* iParam1;
  2707. TAny* iParam2;
  2708. TInt iHandle;
  2709. };
  2710. class TLocalDrivePasswordData
  2711. {
  2712. public:
  2713. TLocalDrivePasswordData(const TDesC8& aOldPasswd, const TDesC8& aNewPasswd, TBool aStorePasswd)
  2714. : iOldPasswd(&aOldPasswd), iNewPasswd(&aNewPasswd), iStorePasswd(aStorePasswd)
  2715. {}
  2716. TLocalDrivePasswordData()
  2717. : iOldPasswd(&KNullDesC8), iNewPasswd(&KNullDesC8), iStorePasswd(EFalse)
  2718. {}
  2719. public:
  2720. const TDesC8 *iOldPasswd;
  2721. const TDesC8 *iNewPasswd;
  2722. TBool iStorePasswd;
  2723. };
  2724. typedef TPckgBuf<TLocalDrivePasswordData> TLocalDrivePasswordDataPckg;
  2725. class TPasswordStore
  2726. {
  2727. public:
  2728. virtual TInt Init()=0;
  2729. virtual TInt ReadPasswordData(TDes8 &aBuf)=0;
  2730. virtual TInt WritePasswordData(TDesC8 &aBuf)=0;
  2731. virtual TInt PasswordStoreLengthInBytes()=0;
  2732. enum {EMaxPasswordLength=256};
  2733. };
  2734. class TMountInfoData
  2735. {
  2736. public:
  2737. TDesC8* iInfo;
  2738. TAny* iThread;
  2739. };
  2740. const TInt KLocalDriveMajorVersion=1;
  2741. const TInt KLocalDriveMinorVersion=0;
  2742. const TInt KLocalDriveBuildVersion=160;
  2743. const static TLitC<sizeof(L"LocDrv")/2> KLitLocalDriveLddName={sizeof(L"LocDrv")/2-1,L"LocDrv"} ;
  2744. const TInt KLocalMessageHandle=-1;
  2745. class RLocalDrive : public RBusLogicalChannel
  2746. {
  2747. public:
  2748. enum TControl
  2749. {
  2750. EControlRead=0,
  2751. EControlWrite=1,
  2752. EControlCaps=2,
  2753. EControlFormat=3,
  2754. EControlEnlarge=4,
  2755. EControlReduce=5,
  2756. EControlForceMediaChange=6,
  2757. EControlMediaDevice=7,
  2758. EControlPasswordLock=8,
  2759. EControlPasswordUnlock=9,
  2760. EControlPasswordClear=10,
  2761. EControlNotifyChange=11,