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

Symbian

开发平台:

C/C++

  1. inline TAny* operator new[](TUint , TAny* aBase) throw()
  2. {return aBase;}
  3. inline void operator delete[](TAny* , TAny* ) throw()
  4. {}
  5. inline RAllocator::RAllocator()
  6. {
  7. iAccessCount=1;
  8. iHandleCount=0;
  9. iHandles=0;
  10. iFlags=0;
  11. iCellCount=0;
  12. iTotalAllocSize=0;
  13. }
  14. inline void RAllocator::__DbgMarkCheck(TBool aCountAll, TInt aCount, const TUint8* aFileName, TInt aLineNum)
  15. {__DbgMarkCheck(aCountAll, aCount, TPtrC8(aFileName), aLineNum);}
  16. inline RHeap::RHeap()
  17. {}
  18. inline TInt RHeap::MaxLength() const
  19. {return iMaxLength;}
  20. inline void RHeap::operator delete(TAny*, TAny*)
  21. {}
  22. inline TUint8* RHeap::Base() const
  23. #line 73
  24. {return iBase;}
  25. inline TInt RHeap::Size() const
  26. #line 89
  27. {return iTop-iBase;}
  28. inline TInt RHeap::Align(TInt a) const
  29. {return (((a)+( iAlign)-1)&~(( iAlign)-1)) ;}
  30. inline const TAny* RHeap::Align(const TAny* a) const
  31. {return (const TAny*)((((TLinAddr)a)+( iAlign)-1)&~(( iAlign)-1)) ;}
  32. inline TBool RHeap::IsLastCell(const SCell* aCell) const
  33. {return (((TUint8*)aCell) + aCell->len) == iTop;}
  34. inline void RHeap::Lock() const
  35. {((RFastLock&)iLock).Wait();}
  36. inline void RHeap::Unlock() const
  37. {((RFastLock&)iLock).Signal();}
  38. template <class T>
  39. inline TRefByValue<T>::TRefByValue(T &aRef)
  40. : iRef(aRef)
  41. {}
  42. template <class T>
  43. inline TRefByValue<T>::operator T &()
  44. {return(iRef);}
  45. #line 201
  46. inline TInt RBusLogicalChannel::DoCreate(const TDesC& aDevice, const TVersion& aVer, TInt aUnit, const TDesC* aDriver, const TDesC8* aInfo, TOwnerType aType, TBool aTransferable)
  47. { return DoCreate(aDevice, aVer, aUnit, aDriver, aInfo, (TInt)aType | (aTransferable?KCreateProtectedObject:0) ); }
  48. inline TChar::TChar()
  49. {}
  50. inline TChar::TChar(TUint aChar)
  51. : iChar(aChar)
  52. {}
  53. inline TChar& TChar::operator-=(TUint aChar)
  54. #line 241
  55. {iChar-=aChar;return(*this);}
  56. inline TChar& TChar::operator+=(TUint aChar)
  57. #line 256
  58. {iChar+=aChar;return(*this);}
  59. inline TChar TChar::operator-(TUint aChar)
  60. #line 273
  61. {return(iChar-aChar);}
  62. inline TChar TChar::operator+(TUint aChar)
  63. #line 288
  64. {return(iChar+aChar);}
  65. inline TChar::operator TUint() const
  66. {return(iChar);}
  67. inline TBool TDesC8::operator<(const TDesC8 &aDes) const
  68. #line 320
  69. {return(Compare(aDes)<0);}
  70. inline TBool TDesC8::operator<=(const TDesC8 &aDes) const
  71. #line 339
  72. {return(Compare(aDes)<=0);}
  73. inline TBool TDesC8::operator>(const TDesC8 &aDes) const
  74. #line 358
  75. {return(Compare(aDes)>0);}
  76. inline TBool TDesC8::operator>=(const TDesC8 &aDes) const
  77. #line 377
  78. {return(Compare(aDes)>=0);}
  79. inline TBool TDesC8::operator==(const TDesC8 &aDes) const
  80. #line 396
  81. {return(Compare(aDes)==0);}
  82. inline TBool TDesC8::operator!=(const TDesC8 &aDes) const
  83. #line 415
  84. {return(Compare(aDes)!=0);}
  85. inline const TUint8 &TDesC8::operator[](TInt anIndex) const
  86. #line 433
  87. {return(AtC(anIndex));}
  88. inline TInt TDesC8::Length() const
  89. {return(iLength&KMaskDesLength8);}
  90. inline TInt TDesC8::Size() const
  91. {return(Length());}
  92. inline void TDesC8::DoSetLength(TInt aLength)
  93. {iLength=(iLength&(~KMaskDesLength8))|aLength;}
  94. inline void TPtrC8::Set(const TUint8 *aBuf,TInt aLength)
  95. #line 483
  96. {new(this) TPtrC8(aBuf,aLength);}
  97. inline void TPtrC8::Set(const TDesC8 &aDes)
  98. {new(this) TPtrC8(aDes);}
  99. inline void TPtrC8::Set(const TPtrC8& aPtr)
  100. #line 510
  101. {new(this) TPtrC8(aPtr);}
  102. inline TPtr8 TBufCBase8::DoDes(TInt aMaxLength)
  103. {return TPtr8(*this,aMaxLength);}
  104. template <TInt S>
  105. inline TBufC8<S>::TBufC8()
  106. : TBufCBase8()
  107. #line 540
  108. {}
  109. template <TInt S>
  110. inline TBufC8<S>::TBufC8(const TUint8 *aString)
  111. : TBufCBase8(aString,S)
  112. #line 564
  113. {}
  114. template <TInt S>
  115. inline TBufC8<S>::TBufC8(const TDesC8 &aDes)
  116. : TBufCBase8(aDes,S)
  117. #line 588
  118. {}
  119. template <TInt S>
  120. inline TBufC8<S> &TBufC8<S>::operator=(const TUint8 *aString)
  121. #line 607
  122. {Copy(aString,S);return(*this);}
  123. template <TInt S>
  124. inline TBufC8<S> &TBufC8<S>::operator=(const TDesC8 &aDes)
  125. #line 626
  126. {Copy(aDes,S);return(*this);}
  127. template <TInt S>
  128. inline TPtr8 TBufC8<S>::Des()
  129. #line 656
  130. {return DoDes(S);}
  131. inline HBufC8 &HBufC8::operator=(const HBufC8 &aLcb)
  132. #line 681
  133. {return *this=static_cast<const TDesC8&>(aLcb);}
  134. #line 710
  135. inline void RBuf8::CreateL(RReadStream &aStream,TInt aMaxLength)
  136. {
  137. Assign(HBufC8::NewL(aStream,aMaxLength));
  138. }
  139. inline TDes8 &TDes8::operator=(const TUint8 *aString)
  140. #line 733
  141.     {Copy(aString);return(*this);}
  142. inline TDes8 &TDes8::operator=(const TDesC8 &aDes)
  143. #line 751
  144.     {Copy(aDes);return(*this);}
  145. inline TDes8 &TDes8::operator=(const TDes8 &aDes)
  146. #line 769
  147.     {Copy(aDes);return(*this);}
  148. inline TDes8 &TDes8::operator+=(const TDesC8 &aDes)
  149. #line 788
  150. {Append(aDes);return(*this);}
  151. inline const TUint8 &TDes8::operator[](TInt anIndex) const
  152. #line 806
  153. {return(AtC(anIndex));}
  154. inline TUint8 &TDes8::operator[](TInt anIndex)
  155. #line 825
  156. {return((TUint8 &)AtC(anIndex));}
  157. inline TInt TDes8::MaxLength() const
  158. #line 839
  159. {return(iMaxLength);}
  160. inline TInt TDes8::MaxSize() const
  161. #line 853
  162. {return(iMaxLength);}
  163. inline TUint8 * TDes8::WPtr() const
  164. {return((TUint8 *)Ptr());}
  165. inline TPtr8 &TPtr8::operator=(const TUint8 *aString)
  166. #line 879
  167. {Copy(aString);return(*this);}
  168. inline TPtr8 &TPtr8::operator=(const TDesC8 &aDes)
  169. #line 899
  170. {Copy(aDes);return(*this);}
  171. inline TPtr8 &TPtr8::operator=(const TPtr8 &aDes)
  172. #line 919
  173. {Copy(aDes);return(*this);}
  174. inline void TPtr8::Set(TUint8 *aBuf,TInt aLength,TInt aMaxLength)
  175. #line 940
  176. {new(this) TPtr8(aBuf,aLength,aMaxLength);}
  177. inline void TPtr8::Set(const TPtr8 &aPtr)
  178. #line 955
  179. {new(this) TPtr8(aPtr);}
  180. template <TInt S>
  181. inline TBuf8<S>::TBuf8()
  182. : TBufBase8(S)
  183. #line 972
  184. {}
  185. template <TInt S>
  186. inline TBuf8<S>::TBuf8(TInt aLength)
  187. : TBufBase8(aLength,S)
  188. #line 994
  189. {}
  190. template <TInt S>
  191. inline TBuf8<S>::TBuf8(const TUint8 *aString)
  192. : TBufBase8(aString,S)
  193. #line 1018
  194. {}
  195. template <TInt S>
  196. inline TBuf8<S>::TBuf8(const TDesC8 &aDes)
  197. : TBufBase8(aDes,S)
  198. #line 1042
  199. {}
  200. template <TInt S>
  201. inline TBuf8<S> &TBuf8<S>::operator=(const TUint8 *aString)
  202. #line 1062
  203. {Copy(aString);return(*this);}
  204. template <TInt S>
  205. inline TBuf8<S> &TBuf8<S>::operator=(const TDesC8 &aDes)
  206. #line 1082
  207. {Copy(aDes);return(*this);}
  208. template <TInt S>
  209. inline TBuf8<S>& TBuf8<S>::operator=(const TBuf8<S>& aBuf)
  210. #line 1100
  211. {Copy(aBuf);return *this;}
  212. template <TInt S>
  213. inline TAlignedBuf8<S>::TAlignedBuf8()
  214. : TBufBase8(S)
  215. #line 1117
  216. {}
  217. template <TInt S>
  218. inline TAlignedBuf8<S>::TAlignedBuf8(TInt aLength)
  219. : TBufBase8(aLength,S)
  220. #line 1139
  221. {}
  222. template <TInt S>
  223. inline TAlignedBuf8<S>::TAlignedBuf8(const TUint8 *aString)
  224. : TBufBase8(aString,S)
  225. #line 1163
  226. {}
  227. template <TInt S>
  228. inline TAlignedBuf8<S>::TAlignedBuf8(const TDesC8 &aDes)
  229. : TBufBase8(aDes,S)
  230. #line 1187
  231. {}
  232. template <TInt S>
  233. inline TAlignedBuf8<S> &TAlignedBuf8<S>::operator=(const TUint8 *aString)
  234. #line 1207
  235. {Copy(aString);return(*this);}
  236. template <TInt S>
  237. inline TAlignedBuf8<S> &TAlignedBuf8<S>::operator=(const TDesC8 &aDes)
  238. #line 1227
  239. {Copy(aDes);return(*this);}
  240. template <TInt S>
  241. inline TAlignedBuf8<S>& TAlignedBuf8<S>::operator=(const TAlignedBuf8<S>& aBuf)
  242. #line 1245
  243. {Copy(aBuf);return *this;}
  244. template <TInt S>
  245. inline const TDesC8* TLitC8<S>::operator&() const
  246. {return (reinterpret_cast<const TDesC8*>(this)) ;}
  247. template <TInt S>
  248. inline const TDesC8& TLitC8<S>::operator()() const
  249. {return *operator&();}
  250. template <TInt S>
  251. inline TLitC8<S>::operator const TDesC8&() const
  252. {return *operator&();}
  253. template <TInt S>
  254. inline TLitC8<S>::operator const __TRefDesC8() const
  255. {return *operator&();}
  256. inline TBool TDesC16::operator<(const TDesC16 &aDes) const
  257. #line 1314
  258. {return(Compare(aDes)<0);}
  259. inline TBool TDesC16::operator<=(const TDesC16 &aDes) const
  260. #line 1333
  261. {return(Compare(aDes)<=0);}
  262. inline TBool TDesC16::operator>(const TDesC16 &aDes) const
  263. #line 1352
  264. {return(Compare(aDes)>0);}
  265. inline TBool TDesC16::operator>=(const TDesC16 &aDes) const
  266. #line 1371
  267. {return(Compare(aDes)>=0);}
  268. inline TBool TDesC16::operator==(const TDesC16 &aDes) const
  269. #line 1390
  270. {return(Compare(aDes)==0);}
  271. inline TBool TDesC16::operator!=(const TDesC16 &aDes) const
  272. #line 1409
  273. {return(Compare(aDes)!=0);}
  274. inline const TUint16 &TDesC16::operator[](TInt anIndex) const
  275. #line 1427
  276. {return(AtC(anIndex));}
  277. inline TInt TDesC16::Length() const
  278. {return(iLength&KMaskDesLength16);}
  279. inline TInt TDesC16::Size() const
  280. #line 1454
  281. {return(Length()<<1);}
  282. inline void TDesC16::DoSetLength(TInt aLength)
  283. {iLength=(iLength&(~KMaskDesLength16))|aLength;}
  284. inline void TPtrC16::Set(const TUint16 *aBuf,TInt aLength)
  285. #line 1478
  286. {new(this) TPtrC16(aBuf,aLength);}
  287. inline void TPtrC16::Set(const TDesC16 &aDes)
  288. {new(this) TPtrC16(aDes);}
  289. inline void TPtrC16::Set(const TPtrC16& aPtr)
  290. {new(this) TPtrC16(aPtr);}
  291. inline TPtr16 TBufCBase16::DoDes(TInt aMaxLength)
  292. {return TPtr16(*this,aMaxLength);}
  293. template <TInt S>
  294. inline TBufC16<S>::TBufC16()
  295. : TBufCBase16()
  296. #line 1526
  297. {}
  298. template <TInt S>
  299. inline TBufC16<S>::TBufC16(const TUint16 *aString)
  300. : TBufCBase16(aString,S)
  301. #line 1550
  302. {}
  303. template <TInt S>
  304. inline TBufC16<S>::TBufC16(const TDesC16 &aDes)
  305. : TBufCBase16(aDes,S)
  306. #line 1574
  307. {}
  308. template <TInt S>
  309. inline TBufC16<S> &TBufC16<S>::operator=(const TUint16 *aString)
  310. #line 1593
  311. {Copy(aString,S);return(*this);}
  312. template <TInt S>
  313. inline TBufC16<S> &TBufC16<S>::operator=(const TDesC16 &aDes)
  314. #line 1612
  315. {Copy(aDes,S);return(*this);}
  316. template <TInt S>
  317. inline TPtr16 TBufC16<S>::Des()
  318. #line 1642
  319. {return(DoDes(S));}
  320. inline HBufC16 &HBufC16::operator=(const HBufC16 &aLcb)
  321. #line 1667
  322. {return *this=static_cast<const TDesC16&>(aLcb);}
  323. inline TDes16 &TDes16::operator=(const TUint16 *aString)
  324. #line 1687
  325.     {Copy(aString);return(*this);}
  326. inline TDes16 &TDes16::operator=(const TDesC16 &aDes)
  327. #line 1705
  328.     {Copy(aDes);return(*this);}
  329. inline TDes16 &TDes16::operator=(const TDes16 &aDes)
  330. #line 1723
  331.     {Copy(aDes);return(*this);}
  332. inline TDes16 &TDes16::operator+=(const TDesC16 &aDes)
  333. #line 1742
  334. {Append(aDes);return(*this);}
  335. inline const TUint16 &TDes16::operator[](TInt anIndex) const
  336. #line 1759
  337. {return(AtC(anIndex));}
  338. inline TUint16 &TDes16::operator[](TInt anIndex)
  339. #line 1778
  340. {return((TUint16 &)AtC(anIndex));}
  341. inline TInt TDes16::MaxLength() const
  342. #line 1792
  343. {return(iMaxLength);}
  344. inline TInt TDes16::MaxSize() const
  345. #line 1806
  346. {return(iMaxLength<<1);}
  347. inline TUint16 * TDes16::WPtr() const
  348. {return((TUint16 *)Ptr());}
  349. inline TPtr16 &TPtr16::operator=(const TUint16 *aString)
  350. #line 1832
  351. {Copy(aString);return(*this);}
  352. inline TPtr16 &TPtr16::operator=(const TDesC16 &aDes)
  353. #line 1852
  354. {Copy(aDes);return(*this);}
  355. inline TPtr16 &TPtr16::operator=(const TPtr16 &aDes)
  356. #line 1872
  357. {Copy(aDes);return(*this);}
  358. inline void TPtr16::Set(TUint16 *aBuf,TInt aLength,TInt aMaxLength)
  359. #line 1893
  360. {new(this) TPtr16(aBuf,aLength,aMaxLength);}
  361. inline void TPtr16::Set(const TPtr16 &aPtr)
  362. #line 1908
  363. {new(this) TPtr16(aPtr);}
  364. template <TInt S>
  365. inline TBuf16<S>::TBuf16()
  366. : TBufBase16(S)
  367. #line 1925
  368. {}
  369. template <TInt S>
  370. inline TBuf16<S>::TBuf16(TInt aLength)
  371. : TBufBase16(aLength,S)
  372. #line 1947
  373. {}
  374. template <TInt S>
  375. inline TBuf16<S>::TBuf16(const TUint16 *aString)
  376. : TBufBase16(aString,S)
  377. #line 1971
  378. {}
  379. template <TInt S>
  380. inline TBuf16<S>::TBuf16(const TDesC16 &aDes)
  381. : TBufBase16(aDes,S)
  382. #line 1995
  383. {}
  384. template <TInt S>
  385. inline TBuf16<S> &TBuf16<S>::operator=(const TUint16 *aString)
  386. #line 2015
  387. {Copy(aString);return(*this);}
  388. template <TInt S>
  389. inline TBuf16<S> &TBuf16<S>::operator=(const TDesC16 &aDes)
  390. #line 2035
  391. {Copy(aDes);return(*this);}
  392. template <TInt S>
  393. inline TBuf16<S>& TBuf16<S>::operator=(const TBuf16<S>& aBuf)
  394. #line 2056
  395. {Copy(aBuf);return *this;}
  396. #line 2083
  397. inline void RBuf16::CreateL(RReadStream &aStream,TInt aMaxLength)
  398. {
  399. Assign(HBufC16::NewL(aStream,aMaxLength));
  400. }
  401. template <TInt S>
  402. inline const TDesC16* TLitC16<S>::operator&() const
  403. {return (reinterpret_cast<const TDesC16*>(this)) ;}
  404. template <TInt S>
  405. inline const TDesC16& TLitC16<S>::operator()() const
  406. {return *operator&();}
  407. template <TInt S>
  408. inline TLitC16<S>::operator const TDesC16&() const
  409. {return *operator&();}
  410. template <TInt S>
  411. inline TLitC16<S>::operator const __TRefDesC16() const
  412. {return *operator&();}
  413. template <TInt S>
  414. inline TBufC<S>::TBufC()
  415. : TBufCBase16()
  416. #line 2157
  417. {}
  418. template <TInt S>
  419. inline TBufC<S>::TBufC(const TText *aString)
  420. : TBufCBase16(aString,S)
  421. #line 2186
  422. {}
  423. template <TInt S>
  424. inline TBufC<S>::TBufC(const TDesC &aDes)
  425. : TBufCBase16(aDes,S)
  426. #line 2219
  427. {}
  428. #line 2234
  429. template <TInt S>
  430. inline TBufC<S> &TBufC<S>::operator=(const TText *aString)
  431. #line 2253
  432. {Copy(aString,S);return(*this);}
  433. template <TInt S>
  434. inline TBufC<S> &TBufC<S>::operator=(const TDesC &aDes)
  435. #line 2277
  436. {Copy(aDes,S);return(*this);}
  437. template <TInt S>
  438. inline TPtr TBufC<S>::Des()
  439. #line 2308
  440. {return(DoDes(S));}
  441. template <TInt S>
  442. inline TBuf<S>::TBuf()
  443. : TBufBase16(S)
  444. {}
  445. template <TInt S>
  446. inline TBuf<S>::TBuf(TInt aLength)
  447. : TBufBase16(aLength,S)
  448. #line 2350
  449. {}
  450. template <TInt S>
  451. inline TBuf<S>::TBuf(const TText *aString)
  452. : TBufBase16(aString,S)
  453. #line 2378
  454. {}
  455. template <TInt S>
  456. inline TBuf<S>::TBuf(const TDesC &aDes)
  457. : TBufBase16(aDes,S)
  458. #line 2407
  459. {}
  460. #line 2426
  461. template <TInt S>
  462. inline TBuf<S> &TBuf<S>::operator=(const TText *aString)
  463. {Copy(aString);return(*this);}
  464. template <TInt S>
  465. inline TBuf<S> &TBuf<S>::operator=(const TDesC &aDes)
  466. {Copy(aDes);return(*this);}
  467. template <TInt S>
  468. inline TBuf<S> &TBuf<S>::operator=(const TBuf<S> &aBuf)
  469. {Copy(aBuf);return(*this);}
  470. template <TInt S>
  471. inline const TDesC* TLitC<S>::operator&() const
  472. {return (reinterpret_cast<const TDesC*>(this)) ;}
  473. template <TInt S>
  474. inline const TDesC& TLitC<S>::operator()() const
  475. {return *operator&();}
  476. template <TInt S>
  477. inline TLitC<S>::operator const TDesC&() const
  478. {return *operator&();}
  479. template <TInt S>
  480. inline TLitC<S>::operator const __TRefDesC() const
  481. {return *operator&();}
  482. template <class T>
  483. inline TPckgC<T>::TPckgC(const T &aRef)
  484. : TPtrC8((const TUint8 *)&aRef,sizeof(T))
  485. {}
  486. template <class T>
  487. inline const T &TPckgC<T>::operator()() const
  488. {return(*((const T *)iPtr));}
  489. template <class T>
  490. inline TPckg<T>::TPckg(const T &aRef)
  491. : TPtr8((TUint8 *)&aRef,sizeof(T),sizeof(T))
  492. {}
  493. template <class T>
  494. inline T &TPckg<T>::operator()()
  495. {return(*((T *)iPtr));}
  496. template <class T>
  497. inline TPckgBuf<T>::TPckgBuf()
  498. : TAlignedBuf8<sizeof(T)>(sizeof(T))
  499. {new(&this->iBuf[0]) T;}
  500. template <class T>
  501. inline TPckgBuf<T>::TPckgBuf(const T &aRef)
  502. : TAlignedBuf8<sizeof(T)>(sizeof(T))
  503. #line 2576
  504. {new(&this->iBuf[0]) T(aRef);}
  505. template <class T>
  506. inline TPckgBuf<T> &TPckgBuf<T>::operator=(const TPckgBuf<T> &aRef)
  507. {this->Copy(aRef);return(*this);}
  508. template <class T>
  509. inline T &TPckgBuf<T>::operator=(const T &aRef)
  510. #line 2605
  511. {this->Copy((TUint8 *)&aRef,sizeof(T));return(*((T *)&this->iBuf[0]));}
  512. template <class T>
  513. inline T &TPckgBuf<T>::operator()()
  514. {return(*((T *)&this->iBuf[0]));}
  515. template <class T>
  516. inline const T &TPckgBuf<T>::operator()() const
  517. {return(*((T *)&this->iBuf[0]));}
  518. inline TRequestStatus::TRequestStatus()
  519. : iFlags(0)
  520. {}
  521. inline TRequestStatus::TRequestStatus(TInt aVal)
  522. : iStatus(aVal),
  523. iFlags(aVal==KRequestPending ? TRequestStatus::ERequestPending : 0)
  524. {}
  525. inline TInt TRequestStatus::operator=(TInt aVal)
  526. {
  527. if(aVal==KRequestPending)
  528. iFlags|=TRequestStatus::ERequestPending;
  529. else
  530. iFlags&=~TRequestStatus::ERequestPending;
  531. return (iStatus=aVal);
  532. }
  533. inline TBool TRequestStatus::operator==(TInt aVal) const
  534. #line 2691
  535. {return(iStatus==aVal);}
  536. inline TBool TRequestStatus::operator!=(TInt aVal) const
  537. #line 2705
  538. {return(iStatus!=aVal);}
  539. inline TBool TRequestStatus::operator>=(TInt aVal) const
  540. #line 2720
  541. {return(iStatus>=aVal);}
  542. inline TBool TRequestStatus::operator<=(TInt aVal) const
  543. #line 2735
  544. {return(iStatus<=aVal);}
  545. inline TBool TRequestStatus::operator>(TInt aVal) const
  546. #line 2750
  547. {return(iStatus>aVal);}
  548. inline TBool TRequestStatus::operator<(TInt aVal) const
  549. #line 2765
  550. {return(iStatus<aVal);}
  551. inline TInt TRequestStatus::Int() const
  552. {return(iStatus);}
  553. inline TPoint::TPoint()
  554. : iX(0),iY(0)
  555. {}
  556. inline TPoint::TPoint(TInt aX,TInt aY)
  557. : iX(aX),iY(aY)
  558. {}
  559. inline TSize::TSize()
  560. : iWidth(0),iHeight(0)
  561. {}
  562. inline TSize::TSize(TInt aWidth,TInt aHeight)
  563. : iWidth(aWidth),iHeight(aHeight)
  564. {}
  565. inline RHandleBase::RHandleBase()
  566. : iHandle(0)
  567. {}
  568. inline RHandleBase::RHandleBase(TInt aHandle)
  569. : iHandle(aHandle)
  570. #line 2853
  571. {}
  572. inline void RHandleBase::SetHandle(TInt aHandle)
  573. { iHandle=aHandle; }
  574. inline TInt RHandleBase::Handle() const
  575. {return(iHandle);}
  576. inline TInt RHandleBase::SetReturnedHandle(TInt aHandleOrError)
  577. #line 2899
  578. {
  579. if(aHandleOrError>=0)
  580. {
  581. iHandle = aHandleOrError;
  582. return KErrNone;
  583. }
  584. iHandle = 0;
  585. return aHandleOrError;
  586. }
  587. inline TInt RSemaphore::Open(const TFindSemaphore& aFind,TOwnerType aType)
  588. #line 2935
  589. {return(RHandleBase::Open((const TFindHandleBase&)aFind,aType));}
  590. #line 2947
  591. inline RFastLock::RFastLock()
  592. : iCount(0)
  593. {}
  594. #line 2960
  595. inline RMessagePtr2::RMessagePtr2()
  596. : iHandle(0)
  597. {}
  598. #line 2972
  599. inline TBool RMessagePtr2::IsNull() const
  600. {return iHandle==0;}
  601. #line 2983
  602. inline TInt RMessagePtr2::Handle() const
  603. {return iHandle;}
  604. inline TBool operator==(RMessagePtr2 aLeft,RMessagePtr2 aRight)
  605. {return aLeft.Handle()==aRight.Handle();}
  606. inline TBool operator!=(RMessagePtr2 aLeft,RMessagePtr2 aRight)
  607. {return aLeft.Handle()!=aRight.Handle();}
  608. #line 3000
  609. inline RMessage2::RMessage2()
  610. {}
  611. #line 3011
  612. inline TInt RMessage2::Function() const
  613. {return(iFunction);}
  614. #line 3022
  615. inline TInt RMessage2::Int0() const
  616. {return(iArgs[0]);}
  617. #line 3033
  618. inline TInt RMessage2::Int1() const
  619. {return(iArgs[1]);}
  620. #line 3044
  621. inline TInt RMessage2::Int2() const
  622. {return(iArgs[2]);}
  623. #line 3054
  624. inline TInt RMessage2::Int3() const
  625. {return(iArgs[3]);}
  626. #line 3064
  627. inline const TAny *RMessage2::Ptr0() const
  628. {return((const TAny *)iArgs[0]);}
  629. #line 3075
  630. inline const TAny *RMessage2::Ptr1() const
  631. {return((const TAny *)iArgs[1]);}
  632. #line 3086
  633. inline const TAny *RMessage2::Ptr2() const
  634. {return((const TAny *)iArgs[2]);}
  635. #line 3097
  636. inline const TAny *RMessage2::Ptr3() const
  637. {return((const TAny *)iArgs[3]);}
  638. #line 3107
  639. inline CSession2* RMessage2::Session() const
  640. {return (CSession2*)iSessionPtr; }
  641. inline TUid TUid::Uid(TInt aUid)
  642. #line 3123
  643. {TUid uid={aUid};return uid;}
  644. inline TUid TUid::Null()
  645. {TUid uid={KNullUidValue};return uid;}
  646. template <class T>
  647. inline TArray<T>::TArray(TInt (*aCount)(const CBase *aPtr),const TAny *(*anAt)(const CBase *aPtr,TInt anIndex),const CBase *aPtr)
  648. : iPtr(aPtr),iCount(aCount),iAt(anAt)
  649. #line 3195
  650. {}
  651. template <class T>
  652. inline TInt TArray<T>::Count() const
  653. {return((*iCount)(iPtr));}
  654. template <class T>
  655. inline const T &TArray<T>::operator[](TInt anIndex) const
  656. #line 3232
  657. {return(*((const T *)(*iAt)(iPtr,anIndex)));}
  658. template <class T>
  659. inline TIdentityRelation<T>::TIdentityRelation( TBool (*anIdentity)(const T&, const T&) )
  660. #line 3254
  661. { iIdentity=(TGeneralIdentityRelation)anIdentity; }
  662. template <class T>
  663. inline TIdentityRelation<T>::operator TGeneralIdentityRelation() const
  664. { return iIdentity; }
  665. template <class T>
  666. inline TLinearOrder<T>::TLinearOrder( TInt(*anOrder)(const T&, const T&) )
  667. #line 3288
  668. { iOrder=(TGeneralLinearOrder)anOrder; }
  669. template <class T>
  670. inline TLinearOrder<T>::operator TGeneralLinearOrder() const
  671. { return iOrder; }
  672. #line 3312
  673. template <class T>
  674. inline RPointerArray<T>::RPointerArray()
  675. : RPointerArrayBase()
  676. {}
  677. #line 3331
  678. template <class T>
  679. inline RPointerArray<T>::RPointerArray(TInt aGranularity)
  680. : RPointerArrayBase(aGranularity)
  681. {}
  682. #line 3354
  683. template <class T>
  684. inline RPointerArray<T>::RPointerArray(TInt aMinGrowBy, TInt aFactor)
  685. : RPointerArrayBase(aMinGrowBy, aFactor)
  686. {}
  687. template <class T>
  688. inline void RPointerArray<T>::Close()
  689. #line 3372
  690. {RPointerArrayBase::Close();}
  691. template <class T>
  692. inline TInt RPointerArray<T>::Count() const
  693. { return RPointerArrayBase::Count(); }
  694. template <class T>
  695. inline T* const& RPointerArray<T>::operator[](TInt anIndex) const
  696. #line 3408
  697. {return (T* const&)At(anIndex);}
  698. template <class T>
  699. inline T*& RPointerArray<T>::operator[](TInt anIndex)
  700. #line 3432
  701. {return (T*&)At(anIndex);}
  702. template <class T>
  703. inline TInt RPointerArray<T>::Append(const T* anEntry)
  704. #line 3447
  705. { return RPointerArrayBase::Append(anEntry); }
  706. template <class T>
  707. inline TInt RPointerArray<T>::Insert(const T* anEntry, TInt aPos)
  708. #line 3468
  709. { return RPointerArrayBase::Insert(anEntry,aPos); }
  710. template <class T>
  711. inline void RPointerArray<T>::Remove(TInt anIndex)
  712. #line 3488
  713. {RPointerArrayBase::Remove(anIndex);}
  714. template <class T>
  715. inline void RPointerArray<T>::Compress()
  716. #line 3503
  717. {RPointerArrayBase::Compress();}
  718. template <class T>
  719. inline void RPointerArray<T>::Reset()
  720. #line 3522
  721. {RPointerArrayBase::Reset();}
  722. template <class T>
  723. inline TInt RPointerArray<T>::Find(const T* anEntry) const
  724. #line 3542
  725. { return RPointerArrayBase::Find(anEntry); }
  726. template <class T>
  727. inline TInt RPointerArray<T>::Find(const T* anEntry, TIdentityRelation<T> anIdentity) const
  728. #line 3566
  729. { return RPointerArrayBase::Find(anEntry,anIdentity); }
  730. template <class T>
  731. inline TInt RPointerArray<T>::FindInAddressOrder(const T* anEntry) const
  732. #line 3584
  733. { return RPointerArrayBase::FindIsqUnsigned((TUint)anEntry); }
  734. template <class T>
  735. inline TInt RPointerArray<T>::FindInOrder(const T* anEntry, TLinearOrder<T> anOrder) const
  736. #line 3606
  737. { return RPointerArrayBase::FindIsq(anEntry,anOrder); }
  738. template <class T>
  739. inline TInt RPointerArray<T>::FindInAddressOrder(const T* anEntry, TInt& anIndex) const
  740. #line 3631
  741. { return RPointerArrayBase::BinarySearchUnsigned((TUint)anEntry,anIndex); }
  742. template <class T>
  743. inline TInt RPointerArray<T>::FindInOrder(const T* anEntry, TInt& anIndex, TLinearOrder<T> anOrder) const
  744. #line 3660
  745. { return RPointerArrayBase::BinarySearch(anEntry,anIndex,anOrder); }
  746. template <class T>
  747. inline TInt RPointerArray<T>::SpecificFindInAddressOrder(const T* anEntry, TInt aMode) const
  748. #line 3691
  749. { return RPointerArrayBase::FindIsqUnsigned((TUint)anEntry, aMode); }
  750. template <class T>
  751. inline TInt RPointerArray<T>::SpecificFindInOrder(const T* anEntry, TLinearOrder<T> anOrder, TInt aMode) const
  752. #line 3726
  753. { return RPointerArrayBase::FindIsq(anEntry,anOrder,aMode); }
  754. template <class T>
  755. inline TInt RPointerArray<T>::SpecificFindInAddressOrder(const T* anEntry, TInt& anIndex, TInt aMode) const
  756. #line 3766
  757. { return RPointerArrayBase::BinarySearchUnsigned((TUint)anEntry,anIndex,aMode); }
  758. template <class T>
  759. inline TInt RPointerArray<T>::SpecificFindInOrder(const T* anEntry, TInt& anIndex, TLinearOrder<T> anOrder, TInt aMode) const
  760. #line 3810
  761. { return RPointerArrayBase::BinarySearch(anEntry,anIndex,anOrder,aMode); }
  762. template <class T>
  763. inline TInt RPointerArray<T>::InsertInAddressOrder(const T* anEntry)
  764. #line 3833
  765. { return RPointerArrayBase::InsertIsqUnsigned((TUint)anEntry,EFalse); }
  766. template <class T>
  767. inline TInt RPointerArray<T>::InsertInOrder(const T* anEntry, TLinearOrder<T> anOrder)
  768. #line 3862
  769. { return RPointerArrayBase::InsertIsq(anEntry,anOrder,EFalse); }
  770. template <class T>
  771. inline TInt RPointerArray<T>::InsertInAddressOrderAllowRepeats(const T* anEntry)
  772. #line 3885
  773. { return RPointerArrayBase::InsertIsqUnsigned((TUint)anEntry,ETrue); }
  774. template <class T>
  775. inline TInt RPointerArray<T>::InsertInOrderAllowRepeats(const T* anEntry, TLinearOrder<T> anOrder)
  776. #line 3911
  777. { return RPointerArrayBase::InsertIsq(anEntry,anOrder,ETrue); }
  778. template <class T>
  779. inline RPointerArray<T>::RPointerArray(T** aEntries, TInt aCount)
  780. : RPointerArrayBase((TAny **)aEntries, aCount)
  781. #line 3935
  782. {}
  783. template <class T>
  784. inline void RPointerArray<T>::GranularCompress()
  785. #line 3950
  786. {RPointerArrayBase::GranularCompress();}
  787. template <class T>
  788. inline TInt RPointerArray<T>::Reserve(TInt aCount)
  789. #line 3969
  790. { return RPointerArrayBase::DoReserve(aCount); }
  791. template <class T>
  792. inline void RPointerArray<T>::SortIntoAddressOrder()
  793. { HeapSortUnsigned(); }
  794. template <class T>
  795. inline void RPointerArray<T>::Sort(TLinearOrder<T> anOrder)
  796. #line 3996
  797. { HeapSort(anOrder); }
  798. template <class T>
  799. inline TArray<T*> RPointerArray<T>::Array() const
  800. { return TArray<T*>(GetCount,GetElementPtr,(const CBase*)this); }
  801. template <class T>
  802. void RPointerArray<T>::ResetAndDestroy()
  803. #line 4026
  804. {
  805. TInt c=Count();
  806. T** pE=(T**)Entries();
  807. ZeroCount();
  808. TInt i;
  809. for (i=0; i<c; i++)
  810. {
  811. delete *pE;
  812. pE++;
  813. }
  814. Reset();
  815. }
  816. #line 4049
  817. inline RPointerArray<TAny>::RPointerArray()
  818. : RPointerArrayBase()
  819. {}
  820. #line 4067
  821. inline RPointerArray<TAny>::RPointerArray(TInt aGranularity)
  822. : RPointerArrayBase(aGranularity)
  823. {}
  824. #line 4089
  825. inline RPointerArray<TAny>::RPointerArray(TInt aMinGrowBy, TInt aFactor)
  826. : RPointerArrayBase(aMinGrowBy, aFactor)
  827. {}
  828. inline void RPointerArray<TAny>::Close()
  829. #line 4105
  830. {RPointerArrayBase::Close();}
  831. inline TInt RPointerArray<TAny>::Count() const
  832. { return RPointerArrayBase::Count(); }
  833. inline TAny* const& RPointerArray<TAny>::operator[](TInt anIndex) const
  834. #line 4139
  835. {return At(anIndex);}
  836. inline TAny*& RPointerArray<TAny>::operator[](TInt anIndex)
  837. #line 4162
  838. {return At(anIndex);}
  839. inline TInt RPointerArray<TAny>::Append(const TAny* anEntry)
  840. #line 4176
  841. { return RPointerArrayBase::Append(anEntry); }
  842. inline TInt RPointerArray<TAny>::Insert(const TAny* anEntry, TInt aPos)
  843. #line 4196
  844. { return RPointerArrayBase::Insert(anEntry,aPos); }
  845. inline void RPointerArray<TAny>::Remove(TInt anIndex)
  846. #line 4215
  847. {RPointerArrayBase::Remove(anIndex);}
  848. inline void RPointerArray<TAny>::Compress()
  849. #line 4229
  850. {RPointerArrayBase::Compress();}
  851. inline void RPointerArray<TAny>::Reset()
  852. #line 4247
  853. {RPointerArrayBase::Reset();}
  854. inline TInt RPointerArray<TAny>::Find(const TAny* anEntry) const
  855. #line 4266
  856. { return RPointerArrayBase::Find(anEntry); }
  857. inline TInt RPointerArray<TAny>::FindInAddressOrder(const TAny* anEntry) const
  858. #line 4283
  859. { return RPointerArrayBase::FindIsqUnsigned((TUint)anEntry); }
  860. inline TInt RPointerArray<TAny>::FindInAddressOrder(const TAny* anEntry, TInt& anIndex) const
  861. #line 4307
  862. { return RPointerArrayBase::BinarySearchUnsigned((TUint)anEntry,anIndex); }
  863. inline TInt RPointerArray<TAny>::SpecificFindInAddressOrder(const TAny* anEntry, TInt aMode) const
  864. #line 4337
  865. { return RPointerArrayBase::FindIsqUnsigned((TUint)anEntry, aMode); }
  866. inline TInt RPointerArray<TAny>::SpecificFindInAddressOrder(const TAny* anEntry, TInt& anIndex, TInt aMode) const
  867. #line 4376
  868. { return RPointerArrayBase::BinarySearchUnsigned((TUint)anEntry,anIndex,aMode); }
  869. inline TInt RPointerArray<TAny>::InsertInAddressOrder(const TAny* anEntry)
  870. #line 4398
  871. { return RPointerArrayBase::InsertIsqUnsigned((TUint)anEntry,EFalse); }
  872. inline TInt RPointerArray<TAny>::InsertInAddressOrderAllowRepeats(const TAny* anEntry)
  873. #line 4420
  874. { return RPointerArrayBase::InsertIsqUnsigned((TUint)anEntry,ETrue); }
  875. inline RPointerArray<TAny>::RPointerArray(TAny** aEntries, TInt aCount)
  876. : RPointerArrayBase((TAny **)aEntries, aCount)
  877. #line 4443
  878. {}
  879. inline void RPointerArray<TAny>::GranularCompress()
  880. #line 4457
  881. {RPointerArrayBase::GranularCompress();}
  882. inline void RPointerArray<TAny>::SortIntoAddressOrder()
  883. { HeapSortUnsigned(); }
  884. inline TArray<TAny*> RPointerArray<TAny>::Array() const
  885. { return TArray<TAny*>(GetCount,GetElementPtr,(const CBase*)this); }
  886. template <class T>
  887. inline RArray<T>::RArray()
  888. : RArrayBase(sizeof(T))
  889. #line 4497
  890. {}
  891. template <class T>
  892. inline RArray<T>::RArray(TInt aGranularity)
  893. : RArrayBase(sizeof(T),aGranularity)
  894. #line 4519
  895. {}
  896. template <class T>
  897. inline RArray<T>::RArray(TInt aGranularity, TInt aKeyOffset)
  898. : RArrayBase(sizeof(T),aGranularity,aKeyOffset)
  899. #line 4543
  900. {}
  901. #line 4567
  902. template <class T>
  903. inline RArray<T>::RArray(TInt aMinGrowBy, TInt aKeyOffset, TInt aFactor)
  904. : RArrayBase(sizeof(T), aMinGrowBy, aKeyOffset, aFactor)
  905. {}
  906. template <class T>
  907. inline void RArray<T>::Close()
  908. {RArrayBase::Close();}
  909. template <class T>
  910. inline TInt RArray<T>::Count() const
  911. {return RArrayBase::Count();}
  912. template <class T>
  913. inline const T& RArray<T>::operator[](TInt anIndex) const
  914. #line 4616
  915. {return *(const T*)At(anIndex); }
  916. template <class T>
  917. inline T& RArray<T>::operator[](TInt anIndex)
  918. #line 4638
  919. {return *(T*)At(anIndex); }
  920. template <class T>
  921. inline TInt RArray<T>::Append(const T& anEntry)
  922. #line 4653
  923. {return RArrayBase::Append(&anEntry);}
  924. template <class T>
  925. inline TInt RArray<T>::Insert(const T& anEntry, TInt aPos)
  926. #line 4675
  927. {return RArrayBase::Insert(&anEntry,aPos);}
  928. template <class T>
  929. inline void RArray<T>::Remove(TInt anIndex)
  930. #line 4692
  931. {RArrayBase::Remove(anIndex);}
  932. template <class T>
  933. inline void RArray<T>::Compress()
  934. {RArrayBase::Compress();}
  935. template <class T>
  936. inline void RArray<T>::Reset()
  937. #line 4721
  938. {RArrayBase::Reset();}
  939. template <class T>
  940. inline TInt RArray<T>::Find(const T& anEntry) const
  941. #line 4743
  942. {return RArrayBase::Find(&anEntry);}
  943. template <class T>
  944. inline TInt RArray<T>::Find(const T& anEntry, TIdentityRelation<T> anIdentity) const
  945. #line 4768
  946. {return RArrayBase::Find(&anEntry,anIdentity);}
  947. template <class T>
  948. inline TInt RArray<T>::FindInSignedKeyOrder(const T& anEntry) const
  949. #line 4787
  950. {return RArrayBase::FindIsqSigned(&anEntry);}
  951. template <class T>
  952. inline TInt RArray<T>::FindInUnsignedKeyOrder(const T& anEntry) const
  953. #line 4806
  954. {return RArrayBase::FindIsqUnsigned(&anEntry);}
  955. template <class T>
  956. inline TInt RArray<T>::FindInOrder(const T& anEntry, TLinearOrder<T> anOrder) const
  957. #line 4828
  958. {return RArrayBase::FindIsq(&anEntry,anOrder);}
  959. template <class T>
  960. inline TInt RArray<T>::FindInSignedKeyOrder(const T& anEntry, TInt& anIndex) const
  961. #line 4851
  962. {return RArrayBase::BinarySearchSigned(&anEntry,anIndex);}
  963. template <class T>
  964. inline TInt RArray<T>::FindInUnsignedKeyOrder(const T& anEntry, TInt& anIndex) const
  965. #line 4875
  966. {return RArrayBase::BinarySearchUnsigned(&anEntry,anIndex);}
  967. template <class T>
  968. inline TInt RArray<T>::FindInOrder(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder) const
  969. #line 4902
  970. {return RArrayBase::BinarySearch(&anEntry,anIndex,anOrder);}
  971. template <class T>
  972. inline TInt RArray<T>::SpecificFindInSignedKeyOrder(const T& anEntry, TInt aMode) const
  973. #line 4936
  974. {return RArrayBase::FindIsqSigned(&anEntry,aMode);}
  975. template <class T>
  976. inline TInt RArray<T>::SpecificFindInUnsignedKeyOrder(const T& anEntry, TInt aMode) const
  977. #line 4970
  978. {return RArrayBase::FindIsqUnsigned(&anEntry,aMode);}
  979. template <class T>
  980. inline TInt RArray<T>::SpecificFindInOrder(const T& anEntry, TLinearOrder<T> anOrder, TInt aMode) const
  981. #line 5003
  982. {return RArrayBase::FindIsq(&anEntry,anOrder,aMode);}
  983. template <class T>
  984. inline TInt RArray<T>::SpecificFindInSignedKeyOrder(const T& anEntry, TInt& anIndex, TInt aMode) const
  985. #line 5042
  986. {return RArrayBase::BinarySearchSigned(&anEntry,anIndex,aMode);}
  987. template <class T>
  988. inline TInt RArray<T>::SpecificFindInUnsignedKeyOrder(const T& anEntry, TInt& anIndex, TInt aMode) const
  989. #line 5081
  990. {return RArrayBase::BinarySearchUnsigned(&anEntry,anIndex,aMode);}
  991. template <class T>
  992. inline TInt RArray<T>::SpecificFindInOrder(const T& anEntry, TInt& anIndex, TLinearOrder<T> anOrder, TInt aMode) const
  993. #line 5123
  994. {return RArrayBase::BinarySearch(&anEntry,anIndex,anOrder,aMode);}
  995. template <class T>
  996. inline TInt RArray<T>::InsertInSignedKeyOrder(const T& anEntry)
  997. #line 5146
  998. {return RArrayBase::InsertIsqSigned(&anEntry,EFalse);}
  999. template <class T>
  1000. inline TInt RArray<T>::InsertInUnsignedKeyOrder(const T& anEntry)
  1001. #line 5169
  1002. {return RArrayBase::InsertIsqUnsigned(&anEntry,EFalse);}
  1003. template <class T>
  1004. inline TInt RArray<T>::InsertInOrder(const T& anEntry, TLinearOrder<T> anOrder)
  1005. #line 5197
  1006. {return RArrayBase::InsertIsq(&anEntry,anOrder,EFalse);}
  1007. template <class T>
  1008. inline TInt RArray<T>::InsertInSignedKeyOrderAllowRepeats(const T& anEntry)
  1009. #line 5221
  1010. {return RArrayBase::InsertIsqSigned(&anEntry,ETrue);}
  1011. template <class T>
  1012. inline TInt RArray<T>::InsertInUnsignedKeyOrderAllowRepeats(const T& anEntry)
  1013. #line 5245
  1014. {return RArrayBase::InsertIsqUnsigned(&anEntry,ETrue);}
  1015. template <class T>
  1016. inline TInt RArray<T>::InsertInOrderAllowRepeats(const T& anEntry, TLinearOrder<T> anOrder)
  1017. #line 5272
  1018. {return RArrayBase::InsertIsq(&anEntry,anOrder,ETrue);}
  1019. template <class T>
  1020. inline RArray<T>::RArray(TInt aEntrySize,T* aEntries, TInt aCount)
  1021. : RArrayBase(aEntrySize,aEntries,aCount)
  1022. #line 5303
  1023. {}
  1024. template <class T>
  1025. inline void RArray<T>::GranularCompress()
  1026. #line 5318
  1027. {RArrayBase::GranularCompress();}
  1028. template <class T>
  1029. inline TInt RArray<T>::Reserve(TInt aCount)
  1030. #line 5337
  1031. { return RArrayBase::DoReserve(aCount); }
  1032. template <class T>
  1033. inline void RArray<T>::SortSigned()
  1034. {HeapSortSigned();}
  1035. template <class T>
  1036. inline void RArray<T>::SortUnsigned()
  1037. {HeapSortUnsigned();}
  1038. template <class T>
  1039. inline void RArray<T>::Sort(TLinearOrder<T> anOrder)
  1040. #line 5375
  1041. {HeapSort(anOrder);}
  1042. template <class T>
  1043. inline TArray<T> RArray<T>::Array() const
  1044. { return TArray<T>(GetCount,GetElementPtr,(const CBase*)this); }
  1045. inline RArray<TInt>::RArray()
  1046. : RPointerArrayBase()
  1047. {}
  1048. inline RArray<TInt>::RArray(TInt aGranularity)
  1049. : RPointerArrayBase(aGranularity)
  1050. #line 5417
  1051. {}
  1052. #line 5437
  1053. inline RArray<TInt>::RArray(TInt aMinGrowBy, TInt aFactor)
  1054. : RPointerArrayBase(aMinGrowBy, aFactor)
  1055. {}
  1056. inline void RArray<TInt>::Close()
  1057. {RPointerArrayBase::Close();}
  1058. inline TInt RArray<TInt>::Count() const
  1059. { return RPointerArrayBase::Count(); }
  1060. inline const TInt& RArray<TInt>::operator[](TInt anIndex) const
  1061. #line 5484
  1062. {return (const TInt&)At(anIndex);}
  1063. inline TInt& RArray<TInt>::operator[](TInt anIndex)
  1064. #line 5507
  1065. {return (TInt&)At(anIndex);}
  1066. inline TInt RArray<TInt>::Append(TInt anEntry)
  1067. #line 5521
  1068. { return RPointerArrayBase::Append((const TAny*)anEntry); }
  1069. inline TInt RArray<TInt>::Insert(TInt anEntry, TInt aPos)
  1070. #line 5541
  1071. { return RPointerArrayBase::Insert((const TAny*)anEntry,aPos); }
  1072. inline void RArray<TInt>::Remove(TInt anIndex)
  1073. #line 5558
  1074. {RPointerArrayBase::Remove(anIndex);}
  1075. inline void RArray<TInt>::Compress()
  1076. {RPointerArrayBase::Compress();}
  1077. inline void RArray<TInt>::Reset()
  1078. #line 5586
  1079. {RPointerArrayBase::Reset();}
  1080. inline TInt RArray<TInt>::Find(TInt anEntry) const
  1081. #line 5604
  1082. { return RPointerArrayBase::Find((const TAny*)anEntry); }
  1083. inline TInt RArray<TInt>::FindInOrder(TInt anEntry) const
  1084. #line 5621
  1085. { return RPointerArrayBase::FindIsqSigned(anEntry); }
  1086. inline TInt RArray<TInt>::FindInOrder(TInt anEntry, TInt& anIndex) const
  1087. #line 5644
  1088. { return RPointerArrayBase::BinarySearchSigned(anEntry,anIndex); }
  1089. inline TInt RArray<TInt>::SpecificFindInOrder(TInt anEntry, TInt aMode) const
  1090. #line 5675
  1091. { return RPointerArrayBase::FindIsqSigned(anEntry,aMode); }
  1092. inline TInt RArray<TInt>::SpecificFindInOrder(TInt anEntry, TInt& anIndex, TInt aMode) const
  1093. #line 5713
  1094. { return RPointerArrayBase::BinarySearchSigned(anEntry,anIndex,aMode); }
  1095. inline TInt RArray<TInt>::InsertInOrder(TInt anEntry)
  1096. #line 5735
  1097. { return RPointerArrayBase::InsertIsqSigned(anEntry,EFalse); }
  1098. inline TInt RArray<TInt>::InsertInOrderAllowRepeats(TInt anEntry)
  1099. #line 5758
  1100. { return RPointerArrayBase::InsertIsqSigned(anEntry,ETrue); }
  1101. inline RArray<TInt>::RArray(TInt* aEntries, TInt aCount)
  1102. : RPointerArrayBase((TAny**)aEntries, aCount)
  1103. #line 5781
  1104. {}
  1105. inline void RArray<TInt>::GranularCompress()
  1106. #line 5792
  1107. {RPointerArrayBase::GranularCompress();}
  1108. inline TInt RArray<TInt>::Reserve(TInt aCount)
  1109. #line 5810
  1110. { return RPointerArrayBase::DoReserve(aCount); }
  1111. inline void RArray<TInt>::Sort()
  1112. { HeapSortSigned(); }
  1113. inline TArray<TInt> RArray<TInt>::Array() const
  1114. { return TArray<TInt>(GetCount,GetElementPtr,(const CBase*)this); }
  1115. inline RArray<TUint>::RArray()
  1116. : RPointerArrayBase()
  1117. #line 5847
  1118. {}
  1119. inline RArray<TUint>::RArray(TInt aGranularity)
  1120. : RPointerArrayBase(aGranularity)
  1121. #line 5863
  1122. {}
  1123. #line 5883
  1124. inline RArray<TUint>::RArray(TInt aMinGrowBy, TInt aFactor)
  1125. : RPointerArrayBase(aMinGrowBy, aFactor)
  1126. {}
  1127. inline void RArray<TUint>::Close()
  1128. {RPointerArrayBase::Close();}
  1129. inline TInt RArray<TUint>::Count() const
  1130. {return RPointerArrayBase::Count(); }
  1131. inline const TUint& RArray<TUint>::operator[](TInt anIndex) const
  1132. #line 5930
  1133. {return (const TUint&)At(anIndex);}
  1134. inline TUint& RArray<TUint>::operator[](TInt anIndex)
  1135. #line 5953
  1136. {return (TUint&)At(anIndex);}
  1137. inline TInt RArray<TUint>::Append(TUint anEntry)
  1138. { return RPointerArrayBase::Append((const TAny*)anEntry); }
  1139. inline TInt RArray<TUint>::Insert(TUint anEntry, TInt aPos)
  1140. #line 5987
  1141. { return RPointerArrayBase::Insert((const TAny*)anEntry,aPos); }
  1142. inline void RArray<TUint>::Remove(TInt anIndex)
  1143. #line 6005
  1144. {RPointerArrayBase::Remove(anIndex);}
  1145. inline void RArray<TUint>::Compress()
  1146. {RPointerArrayBase::Compress();}
  1147. inline void RArray<TUint>::Reset()
  1148. #line 6033
  1149. {RPointerArrayBase::Reset();}
  1150. inline TInt RArray<TUint>::Find(TUint anEntry) const
  1151. #line 6051
  1152. { return RPointerArrayBase::Find((const TAny*)anEntry); }
  1153. inline TInt RArray<TUint>::FindInOrder(TUint anEntry) const
  1154. #line 6070
  1155. { return RPointerArrayBase::FindIsqUnsigned(anEntry); }
  1156. inline TInt RArray<TUint>::FindInOrder(TUint anEntry, TInt& anIndex) const
  1157. #line 6098
  1158. { return RPointerArrayBase::BinarySearchUnsigned(anEntry,anIndex); }
  1159. inline TInt RArray<TUint>::SpecificFindInOrder(TUint anEntry, TInt aMode) const
  1160. #line 6128
  1161. { return RPointerArrayBase::FindIsqUnsigned(anEntry,aMode); }
  1162. inline TInt RArray<TUint>::SpecificFindInOrder(TUint anEntry, TInt& anIndex, TInt aMode) const
  1163. #line 6163
  1164. { return RPointerArrayBase::BinarySearchUnsigned(anEntry,anIndex,aMode); }
  1165. inline TInt RArray<TUint>::InsertInOrder(TUint anEntry)
  1166. #line 6185
  1167. { return RPointerArrayBase::InsertIsqUnsigned(anEntry,EFalse); }
  1168. inline TInt RArray<TUint>::InsertInOrderAllowRepeats(TUint anEntry)
  1169. #line 6208
  1170. { return RPointerArrayBase::InsertIsqUnsigned(anEntry,ETrue); }
  1171. inline RArray<TUint>::RArray(TUint* aEntries, TInt aCount)
  1172. : RPointerArrayBase((TAny**)aEntries, aCount)
  1173. #line 6231
  1174. {}
  1175. inline void RArray<TUint>::GranularCompress()
  1176. #line 6244
  1177. {RPointerArrayBase::GranularCompress();}
  1178. inline TInt RArray<TUint>::Reserve(TInt aCount)
  1179. #line 6262
  1180. { return RPointerArrayBase::DoReserve(aCount); }
  1181. inline void RArray<TUint>::Sort()
  1182. { HeapSortUnsigned(); }
  1183. inline TArray<TUint> RArray<TUint>::Array() const
  1184. { return TArray<TUint>(GetCount,GetElementPtr,(const CBase*)this); }
  1185. #line 6293
  1186. inline void TIpcArgs::Set(TInt,TNothing)
  1187. {}
  1188. #line 6307
  1189. inline void TIpcArgs::Set(TInt aIndex,TInt aValue)
  1190. {
  1191. iArgs[aIndex] = aValue;
  1192. iFlags |= EUnspecified<<(aIndex*KBitsPerType);
  1193. }
  1194. #line 6324
  1195. inline void TIpcArgs::Set(TInt aIndex,const TAny* aValue)
  1196. {
  1197. iArgs[aIndex] = (TInt)aValue;
  1198. iFlags |= EUnspecified<<(aIndex*KBitsPerType);
  1199. }
  1200. #line 6341
  1201. inline void TIpcArgs::Set(TInt aIndex,RHandleBase aValue)
  1202. {
  1203. iArgs[aIndex] = (TInt)aValue.Handle();
  1204. iFlags |= EHandle<<(aIndex*KBitsPerType);
  1205. }
  1206. #line 6358
  1207. inline void TIpcArgs::Set(TInt aIndex,const TDesC8* aValue)
  1208. {
  1209. iArgs[aIndex] = (TInt)aValue;
  1210. iFlags |= EDesC8<<(aIndex*KBitsPerType);
  1211. }
  1212. #line 6377
  1213. inline void TIpcArgs::Set(TInt aIndex,const TDesC16* aValue)
  1214. {
  1215. iArgs[aIndex] = (TInt)aValue;
  1216. iFlags |= EDesC16<<(aIndex*KBitsPerType);
  1217. }
  1218. #line 6396
  1219. inline void TIpcArgs::Set(TInt aIndex,TDes8* aValue)
  1220. {
  1221. iArgs[aIndex] = (TInt)aValue;
  1222. iFlags |= EDes8<<(aIndex*KBitsPerType);
  1223. }
  1224. #line 6415
  1225. inline void TIpcArgs::Set(TInt aIndex,TDes16* aValue)
  1226. {
  1227. iArgs[aIndex] = (TInt)aValue;
  1228. iFlags |= EDes16<<(aIndex*KBitsPerType);
  1229. }
  1230. inline TIpcArgs::TArgType TIpcArgs::Type(TNothing)
  1231. { return EUnspecified; }
  1232. inline TIpcArgs::TArgType TIpcArgs::Type(TInt)
  1233. { return EUnspecified; }
  1234. inline TIpcArgs::TArgType TIpcArgs::Type(const TAny*)
  1235. { return EUnspecified; }
  1236. inline TIpcArgs::TArgType TIpcArgs::Type(RHandleBase)
  1237. { return EHandle; }
  1238. inline TIpcArgs::TArgType TIpcArgs::Type(const TDesC8*)
  1239. { return EDesC8; }
  1240. inline TIpcArgs::TArgType TIpcArgs::Type(const TDesC16*)
  1241. { return EDesC16; }
  1242. inline TIpcArgs::TArgType TIpcArgs::Type(TDes8*)
  1243. { return EDes8; }
  1244. inline TIpcArgs::TArgType TIpcArgs::Type(TDes16*)
  1245. { return EDes16; }
  1246. inline void TIpcArgs::Assign(TInt&,TIpcArgs::TNothing)
  1247. {}
  1248. inline void TIpcArgs::Assign(TInt& aArg,TInt aValue)
  1249. { aArg = aValue; }
  1250. inline void TIpcArgs::Assign(TInt& aArg,const TAny* aValue)
  1251. { aArg = (TInt)aValue; }
  1252. inline void TIpcArgs::Assign(TInt& aArg,RHandleBase aValue)
  1253. { aArg = (TInt)aValue.Handle(); }
  1254. inline void TIpcArgs::Assign(TInt& aArg,const TDesC8* aValue)
  1255. { aArg = (TInt)aValue; }
  1256. inline void TIpcArgs::Assign(TInt& aArg,const TDesC16* aValue)
  1257. { aArg = (TInt)aValue; }
  1258. inline void TIpcArgs::Assign(TInt& aArg,TDes8* aValue)
  1259. { aArg = (TInt)aValue; }
  1260. inline void TIpcArgs::Assign(TInt& aArg,TDes16* aValue)
  1261. { aArg = (TInt)aValue; }
  1262. inline SInt64::SInt64()
  1263. {}
  1264. inline SInt64::SInt64(Int64 a)
  1265. {
  1266. iData[0] = (TUint32)((Uint64)a);
  1267. iData[1] = (TUint32)(((Uint64)a)>>32);
  1268. }
  1269. inline SInt64& SInt64::operator=(Int64 a)
  1270. {
  1271. iData[0] = (TUint32)((Uint64)a);
  1272. iData[1] = (TUint32)(((Uint64)a)>>32);
  1273. return *this;
  1274. }
  1275. inline SInt64::operator Int64() const
  1276. {
  1277. Int64 x;
  1278. TUint32* px = (TUint32*)&x;
  1279. px[0] = iData[0];
  1280. px[1] = iData[1];
  1281. return x;
  1282. }
  1283. inline SUint64::SUint64()
  1284. {}
  1285. inline SUint64::SUint64(Uint64 a)
  1286. {
  1287. iData[0] = (TUint32)a;
  1288. iData[1] = (TUint32)(a>>32);
  1289. }
  1290. inline SUint64& SUint64::operator=(Uint64 a)
  1291. {
  1292. iData[0] = (TUint32)a;
  1293. iData[1] = (TUint32)(a>>32);
  1294. return *this;
  1295. }
  1296. inline SUint64::operator Uint64() const
  1297. {
  1298. Uint64 x;
  1299. TUint32* px = (TUint32*)&x;
  1300. px[0] = iData[0];
  1301. px[1] = iData[1];
  1302. return x;
  1303. }
  1304. inline SDouble::SDouble()
  1305. {}
  1306. inline SDouble::SDouble(TReal a)
  1307. {
  1308. const TUint32* pa = (const TUint32*)&a;
  1309. iData[0] = pa[0];
  1310. iData[1] = pa[1];
  1311. }
  1312. inline SDouble& SDouble::operator=(TReal a)
  1313. {
  1314. new (this) SDouble(a);
  1315. return *this;
  1316. }
  1317. inline SDouble::operator TReal() const
  1318. {
  1319. TReal x;
  1320. TUint32* px = (TUint32*)&x;
  1321. px[0] = iData[0];
  1322. px[1] = iData[1];
  1323. return x;
  1324. }
  1325. inline TSecureId::TSecureId()
  1326. {}
  1327. inline TSecureId::TSecureId(TUint32 aId)
  1328. : iId(aId) {}
  1329. inline TSecureId::operator TUint32() const
  1330. { return iId; }
  1331. inline TSecureId::TSecureId(TUid aId)
  1332. : iId(aId.iUid) {}
  1333. inline TSecureId::operator TUid() const
  1334. { return (TUid&)iId; }
  1335. inline const TSecureId* SSecureId::operator&() const
  1336. { return (const TSecureId*)this; }
  1337. inline SSecureId::operator const TSecureId&() const
  1338. { return (const TSecureId&)iId; }
  1339. inline SSecureId::operator TUint32() const
  1340. { return iId; }
  1341. inline SSecureId::operator TUid() const
  1342. { return (TUid&)iId; }
  1343. inline TVendorId::TVendorId()
  1344. {}
  1345. inline TVendorId::TVendorId(TUint32 aId)
  1346. : iId(aId) {}
  1347. inline TVendorId::operator TUint32() const
  1348. { return iId; }
  1349. inline TVendorId::TVendorId(TUid aId)
  1350. : iId(aId.iUid) {}
  1351. inline TVendorId::operator TUid() const
  1352. { return (TUid&)iId; }
  1353. inline const TVendorId* SVendorId::operator&() const
  1354. { return (const TVendorId*)this; }
  1355. inline SVendorId::operator const TVendorId&() const
  1356. { return (const TVendorId&)iId; }
  1357. inline SVendorId::operator TUint32() const
  1358. { return iId; }
  1359. inline SVendorId::operator TUid() const
  1360. { return (TUid&)iId; }
  1361. inline TCapabilitySet::TCapabilitySet()
  1362. {}
  1363. inline TCapabilitySet::TCapabilitySet(TCapability aCapability)
  1364. { new (this) TCapabilitySet(aCapability, aCapability); }
  1365. inline void TCapabilitySet::Set(TCapability aCapability)
  1366. { new (this) TCapabilitySet(aCapability, aCapability); }
  1367. inline void TCapabilitySet::Set(TCapability aCapability1, TCapability aCapability2)
  1368. { new (this) TCapabilitySet(aCapability1, aCapability2); }
  1369. inline TSecurityInfo::TSecurityInfo()
  1370. {}
  1371. inline TSecurityPolicy::TSecurityPolicy()
  1372. { new (this) TSecurityPolicy(EAlwaysFail); }
  1373. inline const TSecurityPolicy* TStaticSecurityPolicy::operator&() const
  1374. { return (const TSecurityPolicy*)this; }
  1375. inline TStaticSecurityPolicy::operator const TSecurityPolicy&() const
  1376. { return *(const TSecurityPolicy*)this; }
  1377. inline const TSecurityPolicy& TStaticSecurityPolicy::operator()() const
  1378. { return *(const TSecurityPolicy*)this; }
  1379. #line 6341 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32cmn.h" /* stack depth 6 */
  1380. #line 13 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32std.h" /* stack depth 5 */
  1381. class TFunctor
  1382. {
  1383. public:
  1384. __declspec(dllexport) virtual void operator()() =0;
  1385. };
  1386. #line 53
  1387. class TCallBack
  1388. {
  1389. public:
  1390. inline TCallBack();
  1391. inline TCallBack(TInt (*aFunction)(TAny* aPtr));
  1392. inline TCallBack(TInt (*aFunction)(TAny* aPtr),TAny* aPtr);
  1393. inline TInt CallBack() const;
  1394. public:
  1395. TInt (*iFunction)(TAny* aPtr);
  1396. TAny* iPtr;
  1397. };
  1398. #line 89
  1399. class TSglQueLink
  1400. {
  1401. public:
  1402. inline TSglQueLink() : iNext(0 )
  1403. {}
  1404. private:
  1405. __declspec(dllexport) void Enque(TSglQueLink* aLink);
  1406. public:
  1407. TSglQueLink* iNext;
  1408. friend class TSglQueBase;
  1409. };
  1410. #line 130
  1411. class TDblQueLinkBase
  1412. {
  1413. public:
  1414. inline TDblQueLinkBase() : iNext(0 )
  1415. {}
  1416. __declspec(dllexport) void Enque(TDblQueLinkBase* aLink);
  1417. __declspec(dllexport) void AddBefore(TDblQueLinkBase* aLink);
  1418. public:
  1419. TDblQueLinkBase* iNext;
  1420. TDblQueLinkBase* iPrev;
  1421. };
  1422. #line 166
  1423. class TDblQueLink : public TDblQueLinkBase
  1424. {
  1425. public:
  1426. __declspec(dllexport) void Deque();
  1427. };
  1428. #line 184
  1429. class TPriQueLink : public TDblQueLink
  1430. {
  1431. public:
  1432. TInt iPriority;
  1433. };
  1434. #line 205
  1435. class TDeltaQueLink : public TDblQueLinkBase
  1436. {
  1437. public:
  1438. TInt iDelta;
  1439. };
  1440. #line 224
  1441. class TTickCountQueLink : public TDblQueLink
  1442. {
  1443. public:
  1444. TUint iTickCount;
  1445. };
  1446. #line 248
  1447. class TSglQueBase
  1448. {
  1449. public:
  1450. __declspec(dllexport) TBool IsEmpty() const;
  1451. __declspec(dllexport) void SetOffset(TInt aOffset);
  1452. __declspec(dllexport) void Reset();
  1453. protected:
  1454. __declspec(dllexport) TSglQueBase();
  1455. __declspec(dllexport) TSglQueBase(TInt aOffset);
  1456. __declspec(dllexport) void DoAddFirst(TAny* aPtr);
  1457. __declspec(dllexport) void DoAddLast(TAny* aPtr);
  1458. __declspec(dllexport) void DoRemove(TAny* aPtr);
  1459. protected:
  1460. TSglQueLink* iHead;
  1461. TSglQueLink* iLast;
  1462. TInt iOffset;
  1463. private:
  1464. TSglQueBase(const TSglQueBase& aQue);
  1465. TSglQueBase &operator=(const TSglQueBase& aQue);
  1466. friend class TSglQueIterBase;
  1467. };
  1468. #line 296
  1469. class TDblQueBase
  1470. {
  1471. public:
  1472. __declspec(dllexport) TBool IsEmpty() const;
  1473. __declspec(dllexport) void SetOffset(TInt aOffset);
  1474. __declspec(dllexport) void Reset();
  1475. protected:
  1476. __declspec(dllexport) TDblQueBase();
  1477. __declspec(dllexport) TDblQueBase(TInt aOffset);
  1478. __declspec(dllexport) void DoAddFirst(TAny* aPtr);
  1479. __declspec(dllexport) void DoAddLast(TAny* aPtr);
  1480. __declspec(dllexport) void DoAddPriority(TAny* aPtr);
  1481. __declspec(dllexport) void __DbgTestEmpty() const;
  1482. protected:
  1483. TDblQueLink iHead;
  1484. TInt iOffset;
  1485. private:
  1486. TDblQueBase(const TDblQueBase& aQue);
  1487. TDblQueBase& operator=(const TDblQueBase& aQue);
  1488. friend class TDblQueIterBase;
  1489. };
  1490. #line 338
  1491. class TDeltaQueBase : public TDblQueBase
  1492. {
  1493. public:
  1494. __declspec(dllexport) TBool CountDown();
  1495. __declspec(dllexport) TBool CountDown(TInt aValue);
  1496. __declspec(dllexport) TBool FirstDelta(TInt& aValue);
  1497. __declspec(dllexport) void Reset();
  1498. protected:
  1499. __declspec(dllexport) TDeltaQueBase();
  1500. __declspec(dllexport) TDeltaQueBase(TInt aOffset);
  1501. __declspec(dllexport) void DoAddDelta(TAny* aPtr,TInt aDelta);
  1502. __declspec(dllexport) void DoRemove(TAny* aPtr);
  1503. __declspec(dllexport) TAny* DoRemoveFirst();
  1504. protected:
  1505. TInt* iFirstDelta;
  1506. };
  1507. #line 375
  1508. template <class T>
  1509. class TSglQue : public TSglQueBase
  1510. {
  1511. public:
  1512. inline TSglQue();
  1513. inline explicit TSglQue(TInt aOffset);
  1514. inline void AddFirst(T& aRef);
  1515. inline void AddLast(T& aRef);
  1516. inline TBool IsFirst(const T* aPtr) const;
  1517. inline TBool IsLast(const T* aPtr) const;
  1518. inline T* First() const;
  1519. inline T* Last() const;
  1520. inline void Remove(T& aRef);
  1521. };
  1522. #line 407
  1523. template <class T>
  1524. class TDblQue : public TDblQueBase
  1525. {
  1526. public:
  1527. inline TDblQue();
  1528. inline explicit TDblQue(TInt aOffset);
  1529. inline void AddFirst(T& aRef);
  1530. inline void AddLast(T& aRef);
  1531. inline TBool IsHead(const T* aPtr) const;
  1532. inline TBool IsFirst(const T* aPtr) const;
  1533. inline TBool IsLast(const T* aPtr) const;
  1534. inline T* First() const;
  1535. inline T* Last() const;
  1536. };
  1537. #line 441
  1538. template <class T>
  1539. class TPriQue : public TDblQueBase
  1540. {
  1541. public:
  1542. inline TPriQue();
  1543. inline explicit TPriQue(TInt aOffset);
  1544. inline void Add(T& aRef);
  1545. inline TBool IsHead(const T* aPtr) const;
  1546. inline TBool IsFirst(const T* aPtr) const;
  1547. inline TBool IsLast(const T* aPtr) const;
  1548. inline T* First() const;
  1549. inline T* Last() const;
  1550. };
  1551. #line 487
  1552. template <class T>
  1553. class TDeltaQue : public TDeltaQueBase
  1554. {
  1555. public:
  1556. inline TDeltaQue();
  1557. inline explicit TDeltaQue(TInt aOffset);
  1558. inline void Add(T& aRef,TInt aDelta);
  1559. inline void Remove(T& aRef);
  1560. inline T* RemoveFirst();
  1561. };
  1562. class TTickCountQueLink;
  1563. #line 520
  1564. class TTickCountQue : public TDblQueBase
  1565. {
  1566. public:
  1567. TTickCountQue();
  1568. void Add(TTickCountQueLink& aRef);
  1569. TTickCountQueLink* First() const;
  1570. TTickCountQueLink* RemoveFirst();
  1571. TTickCountQueLink* RemoveFirst(TUint aTickCount);
  1572. };
  1573. #line 543
  1574. class TSglQueIterBase
  1575. {
  1576. public:
  1577. __declspec(dllexport) void SetToFirst();
  1578. protected:
  1579. __declspec(dllexport) TSglQueIterBase(TSglQueBase& aQue);
  1580. __declspec(dllexport) TAny* DoPostInc();
  1581. __declspec(dllexport) TAny* DoCurrent();
  1582. __declspec(dllexport) void DoSet(TAny* aLink);
  1583. protected:
  1584. TInt iOffset;
  1585. TSglQueLink* iHead;
  1586. TSglQueLink* iNext;
  1587. };
  1588. #line 571
  1589. template <class T>
  1590. class TSglQueIter : public TSglQueIterBase
  1591. {
  1592. public:
  1593. inline TSglQueIter(TSglQueBase& aQue);
  1594. inline void Set(T& aLink);
  1595. inline operator T*();
  1596. inline T* operator++(TInt);
  1597. };
  1598. #line 594
  1599. class TDblQueIterBase
  1600. {
  1601. public:
  1602. __declspec(dllexport) void SetToFirst();
  1603. __declspec(dllexport) void SetToLast();
  1604. protected:
  1605. __declspec(dllexport) TDblQueIterBase(TDblQueBase& aQue);
  1606. __declspec(dllexport) TAny* DoPostInc();
  1607. __declspec(dllexport) TAny* DoPostDec();
  1608. __declspec(dllexport) TAny* DoCurrent();
  1609. __declspec(dllexport) void DoSet(TAny* aLink);
  1610. protected:
  1611. TInt iOffset;
  1612. TDblQueLinkBase* iHead;
  1613. TDblQueLinkBase* iNext;
  1614. };
  1615. #line 635
  1616. template <class T>
  1617. class TDblQueIter : public TDblQueIterBase
  1618. {
  1619. public:
  1620. inline TDblQueIter(TDblQueBase& aQue);
  1621. inline void Set(T& aLink);
  1622. inline operator T*();
  1623. inline T* operator++(TInt);
  1624. inline T* operator--(TInt);
  1625. };
  1626. #line 660
  1627. enum TKeyCmpText
  1628. {
  1629. ECmpNormal,
  1630. #line 682
  1631. ECmpNormal8,
  1632. #line 696
  1633. ECmpNormal16,
  1634. #line 706
  1635. ECmpFolded,
  1636. #line 717
  1637. ECmpFolded8,
  1638. #line 728
  1639. ECmpFolded16,
  1640. #line 738
  1641. ECmpCollated,
  1642. #line 749
  1643. ECmpCollated8,
  1644. #line 761
  1645. ECmpCollated16
  1646. };
  1647. #line 777
  1648. enum TKeyCmpNumeric
  1649. {
  1650. ECmpTInt8=((ECmpCollated16+1)<<1),
  1651. ECmpTInt16,
  1652. ECmpTInt32,
  1653. ECmpTInt,
  1654. ECmpTUint8,
  1655. ECmpTUint16,
  1656. ECmpTUint32,
  1657. ECmpTUint,
  1658. ECmpTInt64
  1659. };
  1660. #line 856
  1661. class TKey
  1662. {
  1663. public:
  1664. inline void SetPtr(const TAny* aPtr);
  1665. __declspec(dllexport) virtual TInt Compare(TInt aLeft,TInt aRight) const;
  1666. __declspec(dllexport) virtual TAny* At(TInt anIndex) const;
  1667. protected:
  1668. __declspec(dllexport) TKey();
  1669. __declspec(dllexport) TKey(TInt aOffset,TKeyCmpText aType);
  1670. __declspec(dllexport) TKey(TInt aOffset,TKeyCmpText aType,TInt aLength);
  1671. __declspec(dllexport) TKey(TInt aOffset,TKeyCmpNumeric aType);
  1672. protected:
  1673. TInt iKeyOffset;
  1674. TInt iKeyLength;
  1675. TInt iCmpType;
  1676. const TAny* iPtr;
  1677. };
  1678. #line 890
  1679. class TSwap
  1680. {
  1681. public:
  1682. __declspec(dllexport) TSwap();
  1683. __declspec(dllexport) virtual void Swap(TInt aLeft,TInt aRight) const;
  1684. };
  1685. #line 918
  1686. class TCharF : public TChar
  1687. {
  1688. public:
  1689. inline TCharF(TUint aChar);
  1690. inline TCharF(const TChar& aChar);
  1691. inline TCharF& operator=(TUint aChar);
  1692. inline TCharF& operator=(const TChar& aChar);
  1693. };
  1694. #line 937
  1695. class TCharLC : public TChar
  1696. {
  1697. public:
  1698. inline TCharLC(TUint aChar);
  1699. inline TCharLC(const TChar& aChar);
  1700. inline TCharLC& operator=(TUint aChar);
  1701. inline TCharLC& operator=(const TChar& aChar);
  1702. };
  1703. #line 956
  1704. class TCharUC : public TChar
  1705. {
  1706. public:
  1707. inline TCharUC(TUint aChar);
  1708. inline TCharUC(const TChar& aChar);
  1709. inline TCharUC& operator=(TUint aChar);
  1710. inline TCharUC& operator=(const TChar& aChar);
  1711. };
  1712. #line 982
  1713. class TRealFormat
  1714. {
  1715. public:
  1716. __declspec(dllexport) TRealFormat();
  1717. __declspec(dllexport) TRealFormat(TInt aWidth);
  1718. __declspec(dllexport) TRealFormat(TInt aWidth,TInt aDecimalPlaces);
  1719. public:
  1720. #line 1007
  1721. TInt iType;
  1722. TInt iWidth;
  1723. #line 1025
  1724. TInt iPlaces;
  1725. #line 1038
  1726. TChar iPoint;
  1727. #line 1051
  1728. TChar iTriad;
  1729. #line 1071
  1730. TInt iTriLen;
  1731. };
  1732. #line 1089
  1733. class TLexMark8
  1734. {
  1735. public:
  1736. inline TLexMark8();
  1737. private:
  1738. inline TLexMark8(const TUint8* aString);
  1739. const TUint8* iPtr;
  1740. friend class TLex8;
  1741. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1742. };
  1743. class TRealX;
  1744. #line 1123
  1745. class TLex8
  1746. {
  1747. public:
  1748. __declspec(dllexport) TLex8();
  1749. inline TLex8(const TUint8* aString);
  1750. inline TLex8(const TDesC8& aDes);
  1751. inline TLex8& operator=(const TUint8* aString);
  1752. inline TLex8& operator=(const TDesC8& aDes);
  1753. inline TBool Eos() const;
  1754. inline void Mark(TLexMark8& aMark) const;
  1755. inline void Mark();
  1756. __declspec(dllexport) void Inc();
  1757. __declspec(dllexport) void Inc(TInt aNumber);
  1758. __declspec(dllexport) TChar Get();
  1759. __declspec(dllexport) TChar Peek() const;
  1760. __declspec(dllexport) void UnGet();
  1761. inline void UnGetToMark();
  1762. __declspec(dllexport) void UnGetToMark(const TLexMark8 aMark);
  1763. __declspec(dllexport) void SkipSpace();
  1764. inline void SkipAndMark(TInt aNumber);
  1765. __declspec(dllexport) void SkipAndMark(TInt aNumber, TLexMark8& aMark);
  1766. inline void SkipSpaceAndMark();
  1767. __declspec(dllexport) void SkipSpaceAndMark(TLexMark8& aMark);
  1768. __declspec(dllexport) void SkipCharacters();
  1769. inline TInt TokenLength() const;
  1770. __declspec(dllexport) TInt TokenLength(const TLexMark8 aMark) const;
  1771. __declspec(dllexport) TPtrC8 MarkedToken() const;
  1772. __declspec(dllexport) TPtrC8 MarkedToken(const TLexMark8 aMark) const;
  1773. __declspec(dllexport) TPtrC8 NextToken();
  1774. __declspec(dllexport) TPtrC8 Remainder() const;
  1775. __declspec(dllexport) TPtrC8 RemainderFromMark() const;
  1776. __declspec(dllexport) TPtrC8 RemainderFromMark(const TLexMark8 aMark) const;
  1777. __declspec(dllexport) TInt Offset() const;
  1778. inline TInt MarkedOffset() const;
  1779. __declspec(dllexport) TInt MarkedOffset(const TLexMark8 aMark) const;
  1780. __declspec(dllexport) TInt Val(TInt8& aVal);
  1781. __declspec(dllexport) TInt Val(TInt16& aVal);
  1782. __declspec(dllexport) TInt Val(TInt32& aVal);
  1783. __declspec(dllexport) TInt Val(TInt64& aVal);
  1784. inline TInt Val(TInt& aVal);
  1785. __declspec(dllexport) TInt Val(TUint8& aVal,TRadix aRadix);
  1786. __declspec(dllexport) TInt Val(TUint16& aVal,TRadix aRadix);
  1787. __declspec(dllexport) TInt Val(TUint32& aVal,TRadix aRadix);
  1788. __declspec(dllexport) TInt Val(TInt64& aVal, TRadix aRadix);
  1789. inline TInt Val(TUint& aVal,TRadix aRadix=EDecimal);
  1790. __declspec(dllexport) TInt BoundedVal(TInt32& aVal,TInt aLimit);
  1791. __declspec(dllexport) TInt BoundedVal(TInt64& aVal, const TInt64& aLimit);
  1792. __declspec(dllexport) TInt BoundedVal(TUint32& aVal,TRadix aRadix,TUint aLimit);
  1793. __declspec(dllexport) TInt BoundedVal(TInt64& aVal, TRadix aRadix, const TInt64& aLimit);
  1794. __declspec(dllexport) TInt Val(TReal32& aVal);
  1795. __declspec(dllexport) TInt Val(TReal32& aVal,TChar aPoint);
  1796. __declspec(dllexport) TInt Val(TReal64& aVal);
  1797. __declspec(dllexport) TInt Val(TReal64& aVal,TChar aPoint);
  1798. inline void Assign(const TLex8& aLex);
  1799. __declspec(dllexport) void Assign(const TUint8* aString);
  1800. __declspec(dllexport) void Assign(const TDesC8& aDes);
  1801. TInt Val(TRealX& aVal);
  1802. TInt Val(TRealX& aVal, TChar aPoint);
  1803. inline TInt Val(TInt32& aVal,TInt aLimit) { return BoundedVal(aVal,aLimit); };
  1804. inline TInt Val(TInt64& aVal,const TInt64& aLimit) { return BoundedVal(aVal,aLimit); };
  1805. inline TInt Val(TUint32& aVal,TRadix aRadix,TUint aLimit) { return BoundedVal(aVal,aRadix,aLimit); };
  1806. inline TInt Val(TInt64& aVal,TRadix aRadix,const TInt64& aLimit) { return BoundedVal(aVal,aRadix,aLimit); };
  1807. private:
  1808. void Scndig(TInt& aSig,TInt& aExp,TInt64& aDl);
  1809. void ScndigAfterPoint(TInt& aSig,TInt64& aDl);
  1810. void ValidateMark(const TLexMark8 aMark) const;
  1811. private:
  1812. const TUint8* iNext;
  1813. const TUint8* iBuf;
  1814. const TUint8* iEnd;
  1815. TLexMark8 iMark;
  1816. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1817. };
  1818. #line 1220
  1819. class TLexMark16
  1820. {
  1821. public:
  1822. inline TLexMark16();
  1823. private:
  1824. inline TLexMark16(const TUint16* aString);
  1825. const TUint16* iPtr;
  1826. friend class TLex16;
  1827. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1828. };
  1829. #line 1253
  1830. class TLex16
  1831. {
  1832. public:
  1833. __declspec(dllexport) TLex16();
  1834. inline TLex16(const TUint16* aString);
  1835. inline TLex16(const TDesC16& aDes);
  1836. inline TLex16& operator=(const TUint16* aString);
  1837. inline TLex16& operator=(const TDesC16& aDes);
  1838. inline TBool Eos() const;
  1839. inline void Mark();
  1840. inline void Mark(TLexMark16& aMark) const;
  1841. __declspec(dllexport) void Inc();
  1842. __declspec(dllexport) void Inc(TInt aNumber);
  1843. __declspec(dllexport) TChar Get();
  1844. __declspec(dllexport) TChar Peek() const;
  1845. __declspec(dllexport) void UnGet();
  1846. inline void UnGetToMark();
  1847. __declspec(dllexport) void UnGetToMark(const TLexMark16 aMark);
  1848. __declspec(dllexport) void SkipSpace();
  1849. inline void SkipAndMark(TInt aNumber);
  1850. __declspec(dllexport) void SkipAndMark(TInt aNumber, TLexMark16& aMark);
  1851. __declspec(dllexport) void SkipSpaceAndMark(TLexMark16& aMark);
  1852. inline void SkipSpaceAndMark();
  1853. __declspec(dllexport) void SkipCharacters();
  1854. inline TInt TokenLength() const;
  1855. __declspec(dllexport) TInt TokenLength(const TLexMark16 aMark) const;
  1856. __declspec(dllexport) TPtrC16 MarkedToken() const;
  1857. __declspec(dllexport) TPtrC16 MarkedToken(const TLexMark16 aMark) const;
  1858. __declspec(dllexport) TPtrC16 NextToken();
  1859. __declspec(dllexport) TPtrC16 Remainder() const;
  1860. __declspec(dllexport) TPtrC16 RemainderFromMark() const;
  1861. __declspec(dllexport) TPtrC16 RemainderFromMark(const TLexMark16 aMark) const;
  1862. __declspec(dllexport) TInt Offset() const;
  1863. inline TInt MarkedOffset() const;
  1864. __declspec(dllexport) TInt MarkedOffset(const TLexMark16 aMark) const;
  1865. __declspec(dllexport) TInt Val(TInt8& aVal);
  1866. __declspec(dllexport) TInt Val(TInt16& aVal);
  1867. __declspec(dllexport) TInt Val(TInt32& aVal);
  1868. __declspec(dllexport) TInt Val(TInt64& aVal);
  1869. inline TInt Val(TInt& aVal);
  1870. __declspec(dllexport) TInt Val(TUint8& aVal,TRadix aRadix);
  1871. __declspec(dllexport) TInt Val(TUint16& aVal,TRadix aRadix);
  1872. __declspec(dllexport) TInt Val(TUint32& aVal,TRadix aRadix);
  1873. __declspec(dllexport) TInt Val(TInt64& aVal, TRadix aRadix);
  1874. inline TInt Val(TUint& aVal,TRadix aRadix=EDecimal);
  1875. __declspec(dllexport) TInt BoundedVal(TInt32& aVal,TInt aLimit);
  1876. __declspec(dllexport) TInt BoundedVal(TInt64& aVal, const TInt64& aLimit);
  1877. __declspec(dllexport) TInt BoundedVal(TUint32& aVal,TRadix aRadix,TUint aLimit);
  1878. __declspec(dllexport) TInt BoundedVal(TInt64& aVal, TRadix aRadix, const TInt64& aLimit);
  1879. __declspec(dllexport) TInt Val(TReal32& aVal);
  1880. __declspec(dllexport) TInt Val(TReal32& aVal,TChar aPoint);
  1881. __declspec(dllexport) TInt Val(TReal64& aVal);
  1882. __declspec(dllexport) TInt Val(TReal64& aVal,TChar aPoint);
  1883. inline void Assign(const TLex16& aLex);
  1884. __declspec(dllexport) void Assign(const TUint16* aString);
  1885. __declspec(dllexport) void Assign(const TDesC16& aDes);
  1886. TInt Val(TRealX& aVal);
  1887. TInt Val(TRealX& aVal, TChar aPoint);
  1888. inline TInt Val(TInt32& aVal,TInt aLimit) { return BoundedVal(aVal,aLimit); };
  1889. inline TInt Val(TInt64& aVal,const TInt64& aLimit) { return BoundedVal(aVal,aLimit); };
  1890. inline TInt Val(TUint32& aVal,TRadix aRadix,TUint aLimit) { return BoundedVal(aVal,aRadix,aLimit); };
  1891. inline TInt Val(TInt64& aVal,TRadix aRadix,const TInt64& aLimit) { return BoundedVal(aVal,aRadix,aLimit); };
  1892. private:
  1893. void Scndig(TInt& aSig,TInt& aExp,TInt64& aDl);
  1894. void ValidateMark(const TLexMark16 aMark) const;
  1895. private:
  1896. const TUint16* iNext;
  1897. const TUint16* iBuf;
  1898. const TUint16* iEnd;
  1899. TLexMark16 iMark;
  1900. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  1901. };
  1902. #line 1355
  1903. typedef TLex16 TLex;
  1904. #line 1373
  1905. typedef TLexMark16 TLexMark;
  1906. #line 1430
  1907. class TCheckedUid
  1908. {
  1909. public:
  1910. __declspec(dllexport) TCheckedUid();
  1911. __declspec(dllexport) TCheckedUid(const TUidType& aUidType);
  1912. __declspec(dllexport) TCheckedUid(const TDesC8& aPtr);
  1913. __declspec(dllexport) void Set(const TUidType& aUidType);
  1914. __declspec(dllexport) void Set(const TDesC8& aPtr);
  1915. __declspec(dllexport) TPtrC8 Des() const;
  1916. inline const TUidType& UidType() const;
  1917. protected:
  1918. __declspec(dllexport) TUint Check() const;
  1919. private:
  1920. TUidType iType;
  1921. TUint iCheck;
  1922. };
  1923. #line 1469
  1924. class TDateTime
  1925. {
  1926. public:
  1927. inline TDateTime();
  1928. __declspec(dllexport) TDateTime(TInt aYear,TMonth aMonth,TInt aDay,TInt aHour,TInt aMinute, TInt aSecond,TInt aMicroSecond);
  1929. __declspec(dllexport) TInt Set(TInt aYear,TMonth aMonth,TInt aDay,TInt aHour,TInt aMinute, TInt aSecond,TInt aMicroSecond);
  1930. __declspec(dllexport) TInt SetYear(TInt aYear);
  1931. __declspec(dllexport) TInt SetYearLeapCheck(TInt aYear);
  1932. __declspec(dllexport) TInt SetMonth(TMonth aMonth);
  1933. __declspec(dllexport) TInt SetDay(TInt aDay);
  1934. __declspec(dllexport) TInt SetHour(TInt aHour);
  1935. __declspec(dllexport) TInt SetMinute(TInt aMinute);
  1936. __declspec(dllexport) TInt SetSecond(TInt aSecond);
  1937. __declspec(dllexport) TInt SetMicroSecond(TInt aMicroSecond);
  1938. inline TInt Year() const;
  1939. inline TMonth Month() const;
  1940. inline TInt Day() const;
  1941. inline TInt Hour() const;
  1942. inline TInt Minute() const;
  1943. inline TInt Second() const;
  1944. inline TInt MicroSecond() const;
  1945. private:
  1946. TInt iYear;
  1947. TMonth iMonth;
  1948. TInt iDay;
  1949. TInt iHour;
  1950. TInt iMinute;
  1951. TInt iSecond;
  1952. TInt iMicroSecond;
  1953. };
  1954. #line 1516
  1955. class TTimeIntervalMicroSeconds
  1956. {
  1957. public:
  1958. inline TTimeIntervalMicroSeconds();
  1959. inline TTimeIntervalMicroSeconds(const TInt64& aInterval);
  1960. inline TTimeIntervalMicroSeconds& operator=(const TInt64& aInterval);
  1961. inline TBool operator==(const TTimeIntervalMicroSeconds& aInterval) const;
  1962. inline TBool operator!=(const TTimeIntervalMicroSeconds& aInterval) const;
  1963. inline TBool operator>=(const TTimeIntervalMicroSeconds& aInterval) const;
  1964. inline TBool operator<=(const TTimeIntervalMicroSeconds& aInterval) const;
  1965. inline TBool operator>(const TTimeIntervalMicroSeconds& aInterval) const;
  1966. inline TBool operator<(const TTimeIntervalMicroSeconds& aInterval) const;
  1967. inline const TInt64& Int64() const;
  1968. private:
  1969. TInt64 iInterval;
  1970. };
  1971. #line 1554
  1972. class TTimeIntervalBase
  1973. {
  1974. public:
  1975. inline TBool operator==(TTimeIntervalBase aInterval) const;
  1976. inline TBool operator!=(TTimeIntervalBase aInterval) const;
  1977. inline TBool operator>=(TTimeIntervalBase aInterval) const;
  1978. inline TBool operator<=(TTimeIntervalBase aInterval) const;
  1979. inline TBool operator>(TTimeIntervalBase aInterval) const;
  1980. inline TBool operator<(TTimeIntervalBase aInterval) const;
  1981. inline TInt Int() const;
  1982. protected:
  1983. inline TTimeIntervalBase();
  1984. inline TTimeIntervalBase(TInt aInterval);
  1985. protected:
  1986. TInt iInterval;
  1987. };
  1988. #line 1583
  1989. class TTimeIntervalMicroSeconds32 : public TTimeIntervalBase
  1990. {
  1991. public:
  1992. inline TTimeIntervalMicroSeconds32();
  1993. inline TTimeIntervalMicroSeconds32(TInt aInterval);
  1994. inline TTimeIntervalMicroSeconds32& operator=(TInt aInterval);
  1995. };
  1996. #line 1606
  1997. class TTimeIntervalSeconds : public TTimeIntervalBase
  1998. {
  1999. public:
  2000. inline TTimeIntervalSeconds();
  2001. inline TTimeIntervalSeconds(TInt aInterval);
  2002. inline TTimeIntervalSeconds& operator=(TInt aInterval);
  2003. };
  2004. #line 1626
  2005. class TTimeIntervalMinutes : public TTimeIntervalBase
  2006. {
  2007. public:
  2008. inline TTimeIntervalMinutes();
  2009. inline TTimeIntervalMinutes(TInt aInterval);
  2010. inline TTimeIntervalMinutes& operator=(TInt aInterval);
  2011. };
  2012. #line 1646
  2013. class TTimeIntervalHours : public TTimeIntervalBase
  2014. {
  2015. public:
  2016. inline TTimeIntervalHours();
  2017. inline TTimeIntervalHours(TInt aInterval);
  2018. inline TTimeIntervalHours& operator=(TInt aInterval);
  2019. };
  2020. #line 1666
  2021. class TTimeIntervalDays : public TTimeIntervalBase
  2022. {
  2023. public:
  2024. inline TTimeIntervalDays();
  2025. inline TTimeIntervalDays(TInt aInterval);
  2026. inline TTimeIntervalDays& operator=(TInt aInterval);
  2027. };
  2028. #line 1686
  2029. class TTimeIntervalMonths : public TTimeIntervalBase
  2030. {
  2031. public:
  2032. inline TTimeIntervalMonths();
  2033. inline TTimeIntervalMonths(TInt aInterval);
  2034. inline TTimeIntervalMonths& operator=(TInt aInterval);
  2035. };
  2036. #line 1706
  2037. class TTimeIntervalYears : public TTimeIntervalBase
  2038. {
  2039. public:
  2040. inline TTimeIntervalYears();
  2041. inline TTimeIntervalYears(TInt aInterval);
  2042. inline TTimeIntervalYears& operator=(TInt aInterval);
  2043. };
  2044. #line 1725
  2045. enum {
  2046.      EParseTimePresent=0x1,
  2047.      EParseDatePresent=0x2
  2048.      };
  2049. #line 1770
  2050. class TTime
  2051. {
  2052. public:
  2053. inline TTime();
  2054. inline TTime(const TInt64& aTime);
  2055. __declspec(dllexport) TTime(const TDesC& aString);
  2056. __declspec(dllexport) TTime(const TDateTime& aDateTime);
  2057. inline TTime& operator=(const TInt64& aTime);
  2058. __declspec(dllexport) TTime& operator=(const TDateTime& aDateTime);
  2059. __declspec(dllexport) void HomeTime();
  2060. __declspec(dllexport) void UniversalTime();
  2061. __declspec(dllexport) TInt Set(const TDesC& aString);
  2062. __declspec(dllexport) TDateTime DateTime() const;
  2063. __declspec(dllexport) TTimeIntervalMicroSeconds MicroSecondsFrom(TTime aTime) const;
  2064. __declspec(dllexport) TInt SecondsFrom(TTime aTime,TTimeIntervalSeconds& aInterval) const;
  2065. __declspec(dllexport) TInt MinutesFrom(TTime aTime,TTimeIntervalMinutes& aInterval) const;
  2066. __declspec(dllexport) TInt HoursFrom(TTime aTime,TTimeIntervalHours& aInterval) const;
  2067. __declspec(dllexport) TTimeIntervalDays DaysFrom(TTime aTime) const;
  2068. __declspec(dllexport) TTimeIntervalMonths MonthsFrom(TTime aTime) const;
  2069. __declspec(dllexport) TTimeIntervalYears YearsFrom(TTime aTime) const;
  2070. __declspec(dllexport) TInt DaysInMonth() const;
  2071. __declspec(dllexport) TDay DayNoInWeek() const;
  2072. __declspec(dllexport) TInt DayNoInMonth() const;
  2073. __declspec(dllexport) TInt DayNoInYear() const;
  2074. __declspec(dllexport) TInt DayNoInYear(TTime aStartDate) const;
  2075. __declspec(dllexport) TInt WeekNoInYear() const;
  2076. __declspec(dllexport) TInt WeekNoInYear(TTime aStartDate) const;
  2077. __declspec(dllexport) TInt WeekNoInYear(TFirstWeekRule aRule) const;
  2078. __declspec(dllexport) TInt WeekNoInYear(TTime aStartDate,TFirstWeekRule aRule) const;
  2079. __declspec(dllexport) void FormatL(TDes& aDes,const TDesC& aFormat) const;
  2080. __declspec(dllexport) void RoundUpToNextMinute();
  2081. __declspec(dllexport) TInt Parse(const TDesC& aDes,TInt aCenturyOffset=0);
  2082. __declspec(dllexport) TTime operator+(TTimeIntervalYears aYear) const;
  2083. __declspec(dllexport) TTime operator+(TTimeIntervalMonths aMonth) const;
  2084. __declspec(dllexport) TTime operator+(TTimeIntervalDays aDay) const;
  2085. __declspec(dllexport) TTime operator+(TTimeIntervalHours aHour) const;
  2086. __declspec(dllexport) TTime operator+(TTimeIntervalMinutes aMinute) const;
  2087. __declspec(dllexport) TTime operator+(TTimeIntervalSeconds aSecond) const;
  2088. __declspec(dllexport) TTime operator+(TTimeIntervalMicroSeconds aMicroSecond) const;
  2089. __declspec(dllexport) TTime operator+(TTimeIntervalMicroSeconds32 aMicroSecond) const;
  2090. __declspec(dllexport) TTime operator-(TTimeIntervalYears aYear) const;
  2091. __declspec(dllexport) TTime operator-(TTimeIntervalMonths aMonth) const;
  2092. __declspec(dllexport) TTime operator-(TTimeIntervalDays aDay) const;
  2093. __declspec(dllexport) TTime operator-(TTimeIntervalHours aHour) const;
  2094. __declspec(dllexport) TTime operator-(TTimeIntervalMinutes aMinute) const;
  2095. __declspec(dllexport) TTime operator-(TTimeIntervalSeconds aSecond) const;
  2096. __declspec(dllexport) TTime operator-(TTimeIntervalMicroSeconds aMicroSecond) const;
  2097. __declspec(dllexport) TTime operator-(TTimeIntervalMicroSeconds32 aMicroSecond) const;
  2098. __declspec(dllexport) TTime& operator+=(TTimeIntervalYears aYear);
  2099. __declspec(dllexport) TTime& operator+=(TTimeIntervalMonths aMonth);
  2100. __declspec(dllexport) TTime& operator+=(TTimeIntervalDays aDay);
  2101. __declspec(dllexport) TTime& operator+=(TTimeIntervalHours aHour);
  2102. __declspec(dllexport) TTime& operator+=(TTimeIntervalMinutes aMinute);
  2103. __declspec(dllexport) TTime& operator+=(TTimeIntervalSeconds aSecond);
  2104. __declspec(dllexport) TTime& operator+=(TTimeIntervalMicroSeconds aMicroSecond);
  2105. __declspec(dllexport) TTime& operator+=(TTimeIntervalMicroSeconds32 aMicroSecond);
  2106. __declspec(dllexport) TTime& operator-=(TTimeIntervalYears aYear);
  2107. __declspec(dllexport) TTime& operator-=(TTimeIntervalMonths aMonth);
  2108. __declspec(dllexport) TTime& operator-=(TTimeIntervalDays aDay);
  2109. __declspec(dllexport) TTime& operator-=(TTimeIntervalHours aHour);
  2110. __declspec(dllexport) TTime& operator-=(TTimeIntervalMinutes aMinute);
  2111. __declspec(dllexport) TTime& operator-=(TTimeIntervalSeconds aSecond);
  2112. __declspec(dllexport) TTime& operator-=(TTimeIntervalMicroSeconds aMicroSecond);
  2113. __declspec(dllexport) TTime& operator-=(TTimeIntervalMicroSeconds32 aMicroSecond);
  2114. inline TBool operator==(TTime aTime) const;
  2115. inline TBool operator!=(TTime aTime) const;
  2116. inline TBool operator>=(TTime aTime) const;
  2117. inline TBool operator<=(TTime aTime) const;
  2118. inline TBool operator>(TTime aTime) const;
  2119. inline TBool operator<(TTime aTime) const;
  2120. inline const TInt64& Int64() const;
  2121. private:
  2122. static TTime Convert(const TDateTime& aDateTime);
  2123. private:
  2124. TInt64 iTime;
  2125. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  2126. };
  2127. #line 1861
  2128. class Time
  2129. {
  2130. public:
  2131. __declspec(dllexport) static TTime NullTTime();
  2132. __declspec(dllexport) static TTime MaxTTime();
  2133. __declspec(dllexport) static TTime MinTTime();
  2134. __declspec(dllexport) static TInt DaysInMonth(TInt aYear, TMonth aMonth);
  2135. __declspec(dllexport) static TBool IsLeapYear(TInt aYear);
  2136. __declspec(dllexport) static TInt LeapYearsUpTo(TInt aYear);
  2137. };
  2138. #line 1887
  2139. class TDayName : public TBuf<KMaxDayName>
  2140. {
  2141. public:
  2142. __declspec(dllexport) TDayName();
  2143. __declspec(dllexport) TDayName(TDay aDay);
  2144. __declspec(dllexport) void Set(TDay aDay);
  2145. };
  2146. #line 1915
  2147. class TDayNameAbb : public TBuf<KMaxDayNameAbb>
  2148. {
  2149. public:
  2150. __declspec(dllexport) TDayNameAbb();
  2151. __declspec(dllexport) TDayNameAbb(TDay aDay);
  2152. __declspec(dllexport) void Set(TDay aDay);
  2153. };
  2154. #line 1938
  2155. class TMonthName : public TBuf<KMaxMonthName>
  2156. {
  2157. public:
  2158. __declspec(dllexport) TMonthName();
  2159. __declspec(dllexport) TMonthName(TMonth aMonth);
  2160. __declspec(dllexport) void Set(TMonth aMonth);
  2161. };
  2162. #line 1961
  2163. class TMonthNameAbb : public TBuf<KMaxMonthNameAbb>
  2164. {
  2165. public:
  2166. __declspec(dllexport) TMonthNameAbb();
  2167. __declspec(dllexport) TMonthNameAbb(TMonth aMonth);
  2168. __declspec(dllexport) void Set(TMonth aMonth);
  2169. };
  2170. #line 1986
  2171. class TDateSuffix : public TBuf<KMaxSuffix>
  2172. {
  2173. public:
  2174. __declspec(dllexport) TDateSuffix();
  2175. __declspec(dllexport) TDateSuffix(TInt aDateSuffix);
  2176. __declspec(dllexport) void Set(TInt aDateSuffix);
  2177. };
  2178. #line 2010
  2179. class TAmPmName : public TBuf<KMaxAmPmName>
  2180. {
  2181. public:
  2182. __declspec(dllexport) TAmPmName();
  2183. __declspec(dllexport) TAmPmName(TAmPm aSelector);
  2184. __declspec(dllexport) void Set(TAmPm aSelector);
  2185. };
  2186. #line 2031
  2187. class TCurrencySymbol : public TBuf<KMaxCurrencySymbol>
  2188. {
  2189. public:
  2190. __declspec(dllexport) TCurrencySymbol();
  2191. __declspec(dllexport) void Set();
  2192. };
  2193. #line 2067
  2194. class TShortDateFormatSpec : public TBuf<KMaxShortDateFormatSpec>
  2195. {
  2196. public:
  2197. __declspec(dllexport) TShortDateFormatSpec();
  2198. __declspec(dllexport) void Set();
  2199. };
  2200. #line 2103
  2201. class TLongDateFormatSpec : public TBuf<KMaxLongDateFormatSpec>
  2202. {
  2203. public:
  2204. __declspec(dllexport) TLongDateFormatSpec();
  2205. __declspec(dllexport) void Set();
  2206. };
  2207. #line 2136
  2208. class TTimeFormatSpec : public TBuf<KMaxTimeFormatSpec>
  2209. {
  2210. public:
  2211. __declspec(dllexport) TTimeFormatSpec();
  2212. __declspec(dllexport) void Set();
  2213. };
  2214. #line 2156
  2215. class TLocale
  2216. {
  2217. public:
  2218. enum TNegativeCurrencyFormat
  2219. {
  2220. ELeadingMinusSign,
  2221. EInBrackets,
  2222. ETrailingMinusSign,
  2223. EInterveningMinusSign
  2224. };
  2225. enum
  2226. {
  2227. EFlagNegativeLoseSpace = 0x00000001,
  2228. EFlagNegativeCurrencySymbolOpposite=0x00000002
  2229. };
  2230. enum TDeviceTimeState
  2231. {
  2232. EDeviceUserTime,
  2233. ENITZNetworkTimeSync
  2234. };
  2235. public:
  2236. __declspec(dllexport) TLocale();
  2237. inline TLocale(TInt);
  2238. __declspec(dllexport) void Refresh();
  2239. __declspec(dllexport) TInt Set() const;
  2240. __declspec(dllexport) void FormatCurrency(TDes& aText, TInt aAmount);
  2241. __declspec(dllexport) void FormatCurrency(TDes& aText, TInt64 aAmount);
  2242. __declspec(dllexport) void FormatCurrency(TDes& aText, TDesOverflow& aOverflowHandler, TInt aAmount);
  2243. __declspec(dllexport) void FormatCurrency(TDes& aText, TDesOverflow& aOverflowHandler, TInt64 aAmount);
  2244. inline TInt CountryCode() const;
  2245. inline void SetCountryCode(TInt aCode);
  2246. inline TTimeIntervalSeconds UniversalTimeOffset() const;
  2247. inline TDateFormat DateFormat() const;
  2248. inline void SetDateFormat(TDateFormat aFormat);
  2249. inline TTimeFormat TimeFormat() const;
  2250. inline void SetTimeFormat(TTimeFormat aFormat);
  2251. inline TLocalePos CurrencySymbolPosition() const;
  2252. inline void SetCurrencySymbolPosition(TLocalePos aPos);
  2253. inline TBool CurrencySpaceBetween() const;
  2254. inline void SetCurrencySpaceBetween(TBool aSpace);
  2255. inline TInt CurrencyDecimalPlaces() const;
  2256. inline void SetCurrencyDecimalPlaces(TInt aPlaces);
  2257. inline TBool CurrencyNegativeInBrackets() const;
  2258. inline void SetCurrencyNegativeInBrackets(TBool aBool);
  2259.   inline TBool CurrencyTriadsAllowed() const;
  2260. inline void SetCurrencyTriadsAllowed(TBool aBool);
  2261. inline TChar ThousandsSeparator() const;
  2262. inline void SetThousandsSeparator(const TChar& aChar);
  2263. inline TChar DecimalSeparator() const;
  2264. inline void SetDecimalSeparator(const TChar& aChar);
  2265. inline TChar DateSeparator(TInt aIndex) const;
  2266. inline void SetDateSeparator(const TChar& aChar,TInt aIndex);
  2267. inline TChar TimeSeparator(TInt aIndex) const;
  2268. inline void SetTimeSeparator(const TChar& aChar,TInt aIndex);
  2269. inline TBool AmPmSpaceBetween() const;
  2270. inline void SetAmPmSpaceBetween(TBool aSpace);
  2271. inline TLocalePos AmPmSymbolPosition() const;
  2272. inline void SetAmPmSymbolPosition(TLocalePos aPos);
  2273. inline TUint DaylightSaving() const;
  2274. inline TBool QueryHomeHasDaylightSavingOn() const;
  2275. inline TDaylightSavingZone HomeDaylightSavingZone() const;
  2276. inline TUint WorkDays() const;
  2277. inline void SetWorkDays(TUint aMask);
  2278. inline TDay StartOfWeek() const;
  2279. inline void SetStartOfWeek(TDay aDay);
  2280. inline TClockFormat ClockFormat() const;
  2281. inline void SetClockFormat(TClockFormat aFormat);
  2282. inline TUnitsFormat UnitsGeneral() const;
  2283. inline void SetUnitsGeneral(TUnitsFormat aFormat);
  2284. inline TUnitsFormat UnitsDistanceShort() const;
  2285. inline void SetUnitsDistanceShort(TUnitsFormat aFormat);
  2286. inline TUnitsFormat UnitsDistanceLong() const;
  2287. inline void SetUnitsDistanceLong(TUnitsFormat aFormat);
  2288. inline TNegativeCurrencyFormat NegativeCurrencyFormat() const;
  2289. inline void SetNegativeCurrencyFormat(TNegativeCurrencyFormat aNegativeCurrencyFormat);
  2290. inline TBool NegativeLoseSpace() const;
  2291. inline void SetNegativeLoseSpace(TBool aBool);
  2292. inline TBool NegativeCurrencySymbolOpposite() const;
  2293. inline void SetNegativeCurrencySymbolOpposite(TBool aBool);
  2294. inline TLanguage LanguageDowngrade(TInt aIndex) const;
  2295. inline void SetLanguageDowngrade(TInt aIndex, TLanguage aLanguage);
  2296. inline TDigitType DigitType() const;
  2297. inline void SetDigitType(TDigitType aDigitType);
  2298. inline TDeviceTimeState DeviceTime() const;
  2299.   inline void SetDeviceTime(TDeviceTimeState aState);
  2300. void SetDefaults();
  2301. private:
  2302. friend class TExtendedLocale;
  2303. private:
  2304. TInt iCountryCode;
  2305. TTimeIntervalSeconds iUniversalTimeOffset;
  2306. TDateFormat iDateFormat;
  2307. TTimeFormat iTimeFormat;
  2308. TLocalePos iCurrencySymbolPosition;
  2309. TBool iCurrencySpaceBetween;
  2310. TInt iCurrencyDecimalPlaces;
  2311. TNegativeCurrencyFormat iNegativeCurrencyFormat;
  2312. TBool iCurrencyTriadsAllowed;
  2313. TChar iThousandsSeparator;
  2314. TChar iDecimalSeparator;
  2315. TChar iDateSeparator[KMaxDateSeparators];
  2316. TChar iTimeSeparator[KMaxTimeSeparators];
  2317. TLocalePos iAmPmSymbolPosition;
  2318. TBool iAmPmSpaceBetween;
  2319. TUint iDaylightSaving;
  2320. TDaylightSavingZone iHomeDaylightSavingZone;
  2321. TUint iWorkDays;
  2322. TDay iStartOfWeek;
  2323. TClockFormat iClockFormat;
  2324. TUnitsFormat iUnitsGeneral;
  2325. TUnitsFormat iUnitsDistanceShort;
  2326. TUnitsFormat iUnitsDistanceLong;
  2327. TUint iExtraNegativeCurrencyFormatFlags;
  2328. TUint16 iLanguageDowngrade[3];
  2329. TUint16 iSpare16;
  2330. TDigitType iDigitType;
  2331.   TDeviceTimeState iDeviceTimeState;
  2332.   TInt iSpare[0x1E];
  2333. };
  2334. const TUint KLocaleLanguageKey = 0x10208903;
  2335. const TUint KLocaleDataKey = 0x10208904;
  2336. const TUint KLocaleDataExtraKey = 0x10208905;
  2337. const TUint KLocaleTimeDateFormatKey = 0x10208907;
  2338. const TUint KLocaleDefaultCharSetKey = 0x10208908;
  2339. const TUint KLocalePreferredCharSetKey = 0x10208909;
  2340. enum TLocaleFunctions
  2341. {
  2342. FnDummy,
  2343. FnAmPmTable,
  2344. FnCharSet,
  2345. FnCollTable,
  2346. FnCurrencySymbol,
  2347. FnDateSuffixTable,
  2348. FnDayAbbTable,
  2349. FnDayTable,
  2350. FnFoldTable,
  2351. FnLanguage,
  2352. FnLocaleData,
  2353. FnLowerTable,
  2354. FnMonthAbbTable,
  2355. FnMonthTable,
  2356. FnMsgTable,
  2357. FnTypeTable,
  2358. FnUniCode,
  2359. FnUpperTable,
  2360. FnShortDateFormatSpec,
  2361. FnLongDateFormatSpec,
  2362. FnTimeFormatSpec,
  2363. FnFatUtilityFunctions
  2364. };
  2365. #line 2407
  2366. enum TLocaleAspect
  2367. {
  2368. ELocaleLanguageSettings = 0x01,
  2369. ELocaleCollateSetting = 0x02,
  2370. ELocaleLocaleSettings = 0x04,
  2371. ELocaleTimeDateSettings = 0x08,
  2372. };
  2373. struct SLocaleLanguage
  2374. {
  2375. TLanguage  iLanguage;
  2376. const TText* iDateSuffixTable;
  2377. const TText* iDayTable;
  2378. const TText* iDayAbbTable;
  2379. const TText* iMonthTable;
  2380. const TText* iMonthAbbTable;
  2381. const TText* iAmPmTable;
  2382. const TText16* const* iMsgTable;
  2383. };
  2384. struct SLocaleLocaleSettings
  2385. {
  2386. TText iCurrencySymbol[KMaxCurrencySymbol+1];
  2387. TAny* iLocaleExtraSettingsDllPtr;
  2388. };
  2389. struct SLocaleTimeDateFormat
  2390. {
  2391. TText iShortDateFormatSpec[KMaxShortDateFormatSpec+1];
  2392. TText iLongDateFormatSpec[KMaxLongDateFormatSpec+1];
  2393. TText iTimeFormatSpec[KMaxTimeFormatSpec+1];
  2394. TAny* iLocaleTimeDateFormatDllPtr;
  2395. };
  2396. struct LCharSet;
  2397. #line 2462
  2398. class TExtendedLocale
  2399. {
  2400. public:
  2401. __declspec(dllexport) TExtendedLocale();
  2402. __declspec(dllexport) void LoadSystemSettings();
  2403. __declspec(dllexport) TInt SaveSystemSettings();
  2404. __declspec(dllexport) TInt LoadLocale(const TDesC& aLocaleDllName);
  2405. #line 2488
  2406. __declspec(dllexport) TInt LoadLocaleAspect(TUint aAspectGroup, const TDesC& aLocaleDllName);
  2407. __declspec(dllexport) TInt SetCurrencySymbol(const TDesC &aSymbol);
  2408. __declspec(dllexport) TInt GetLocaleDllName(TLocaleAspect aLocaleDataSet, TDes& aDllName);
  2409. __declspec(dllexport) TCollationMethod GetPreferredCollationMethod(TInt index = 0) ;
  2410. inline TLocale* GetLocale();
  2411. private:
  2412. TInt DoLoadLocale(const TDesC& aLocaleDllName, TLibraryFunction* aExportList);
  2413. void DoUpdateLanguageSettings(TLibraryFunction* aExportList);
  2414. void DoUpdateLocaleSettings(TLibraryFunction* aExportList);
  2415. void DoUpdateTimeDateFormat(TLibraryFunction* aExportList);
  2416. private:
  2417. TLocale iLocale;
  2418. SLocaleLanguage iLanguageSettings;
  2419. SLocaleLocaleSettings iLocaleExtraSettings;
  2420. SLocaleTimeDateFormat iLocaleTimeDateFormat;
  2421. const LCharSet* iDefaultCharSet;
  2422. const LCharSet* iPreferredCharSet;
  2423. };
  2424. #line 2544
  2425. class TRect
  2426. {
  2427. public:
  2428. enum TUninitialized { EUninitialized };
  2429. TRect(TUninitialized) {}
  2430. __declspec(dllexport) TRect();
  2431. __declspec(dllexport) TRect(TInt aAx,TInt aAy,TInt aBx,TInt aBy);
  2432. __declspec(dllexport) TRect(const TPoint& aPointA,const TPoint& aPointB);
  2433. __declspec(dllexport) TRect(const TPoint& aPoint,const TSize& aSize);
  2434. __declspec(dllexport) TRect(const TSize& aSize);
  2435. __declspec(dllexport) TBool operator==(const TRect& aRect) const;
  2436. __declspec(dllexport) TBool operator!=(const TRect& aRect) const;
  2437. __declspec(dllexport) void SetRect(TInt aAx,TInt aAy,TInt aBx,TInt aBy);
  2438. __declspec(dllexport) void SetRect(const TPoint& aPointTL,const TPoint& aPointBR);
  2439. __declspec(dllexport) void SetRect(const TPoint& aPoint,const TSize& aSize);
  2440. __declspec(dllexport) void Move(TInt aDx,TInt aDy);
  2441. __declspec(dllexport) void Move(const TPoint& aOffset);
  2442. __declspec(dllexport) void Resize(TInt aDx,TInt aDy);
  2443. __declspec(dllexport) void Resize(const TSize& aSize);
  2444. __declspec(dllexport) void Shrink(TInt aDx,TInt aDy);
  2445. __declspec(dllexport) void Shrink(const TSize& aSize);
  2446. __declspec(dllexport) void Grow(TInt aDx,TInt aDy);
  2447. __declspec(dllexport) void Grow(const TSize& aSize);
  2448. __declspec(dllexport) void BoundingRect(const TRect& aRect);
  2449. __declspec(dllexport) TBool IsEmpty() const;
  2450. __declspec(dllexport) TBool Intersects(const TRect& aRect) const;
  2451. __declspec(dllexport) void Intersection(const TRect& aRect);
  2452. __declspec(dllexport) void Normalize();
  2453. __declspec(dllexport) TBool Contains(const TPoint& aPoint) const;
  2454. __declspec(dllexport) TSize Size() const;
  2455. __declspec(dllexport) TInt Width() const;
  2456. __declspec(dllexport) TInt Height() const;
  2457. __declspec(dllexport) TBool IsNormalized() const;
  2458. __declspec(dllexport) TPoint Center() const;
  2459. __declspec(dllexport) void SetSize(const TSize& aSize);
  2460. __declspec(dllexport) void SetWidth(TInt aWidth);
  2461. __declspec(dllexport) void SetHeight(TInt aHeight);
  2462. private:
  2463. void Adjust(TInt aDx,TInt aDy);
  2464. public:
  2465. TPoint iTl;
  2466. TPoint iBr;
  2467. };
  2468. #line 2646
  2469. class TRegion
  2470. {
  2471. public:
  2472. inline TInt Count() const;
  2473. inline const TRect* RectangleList() const;
  2474. inline TBool CheckError() const;
  2475. __declspec(dllexport) TBool IsEmpty() const;
  2476. __declspec(dllexport) TRect BoundingRect() const;
  2477. __declspec(dllexport) const TRect& operator[](TInt aIndex) const;
  2478. __declspec(dllexport) void Copy(const TRegion& aRegion);
  2479. __declspec(dllexport) void AddRect(const TRect& aRect);
  2480. __declspec(dllexport) void SubRect(const TRect& aRect,TRegion* aSubtractedRegion=0 );
  2481. __declspec(dllexport) void Offset(TInt aXoffset,TInt aYoffset);
  2482. __declspec(dllexport) void Offset(const TPoint& aOffset);
  2483. __declspec(dllexport) void Union(const TRegion& aRegion);
  2484. __declspec(dllexport) void Intersection(const TRegion& aRegion,const TRegion& aRegion2);
  2485. __declspec(dllexport) void Intersect(const TRegion& aRegion);
  2486. __declspec(dllexport) void SubRegion(const TRegion& aRegion,TRegion* aSubtractedRegion=0 );
  2487. __declspec(dllexport) void ClipRect(const TRect& aRect);
  2488. __declspec(dllexport) void Clear();
  2489. __declspec(dllexport) void Tidy();
  2490. __declspec(dllexport) TInt Sort();
  2491. __declspec(dllexport) TInt Sort(const TPoint& aOffset);
  2492. __declspec(dllexport) void ForceError();
  2493. __declspec(dllexport) TBool IsContainedBy(const TRect& aRect) const;
  2494. __declspec(dllexport) TBool Contains(const TPoint& aPoint) const;
  2495. protected:
  2496. __declspec(dllexport) TRect* RectangleListW();
  2497. __declspec(dllexport) TRegion(TInt aAllocedRects);
  2498. inline TRegion();
  2499. TBool SetListSize(TInt aCount);
  2500. void AppendRect(const TRect& aRect);
  2501. void DeleteRect(TRect* aRect);
  2502. void AppendRegion(TRegion& aRegion);
  2503. protected:
  2504. TInt iCount;
  2505. TBool iError;
  2506. TInt iAllocedRects;
  2507. protected:
  2508. enum {ERRegionBuf=0x40000000};
  2509. };
  2510. #line 2703
  2511. class RRegion : public TRegion
  2512. {
  2513. private:
  2514. enum {EDefaultGranularity=5};
  2515. protected:
  2516. __declspec(dllexport) RRegion(TInt aBuf,TInt aGran);
  2517. public:
  2518. __declspec(dllexport) RRegion();
  2519. __declspec(dllexport) RRegion(TInt aGran);
  2520. __declspec(dllexport) RRegion(const RRegion& aRegion);
  2521. __declspec(dllexport) RRegion(const TRect& aRect,TInt aGran=EDefaultGranularity);
  2522. __declspec(dllexport) RRegion(TInt aCount,TRect* aRectangleList,TInt aGran=EDefaultGranularity);
  2523. __declspec(dllexport) void Close();
  2524. __declspec(dllexport) void Destroy();
  2525. inline TInt CheckSpare() const;
  2526. private:
  2527. TInt iGranularity;
  2528. TRect* iRectangleList;
  2529. friend class TRegion;
  2530. };
  2531. #line 2744
  2532. template <TInt S>
  2533. class RRegionBuf : public RRegion
  2534. {
  2535. public:
  2536. inline RRegionBuf();
  2537. inline RRegionBuf(const RRegion& aRegion);
  2538. inline RRegionBuf(const RRegionBuf<S>& aRegion);
  2539. inline RRegionBuf(const TRect& aRect);
  2540. private:
  2541. TInt8 iRectangleBuf[S*sizeof(TRect)];
  2542. };
  2543. #line 2774
  2544. template <TInt S>
  2545. class TRegionFix : public TRegion
  2546. {
  2547. public:
  2548. inline TRegionFix();
  2549. inline TRegionFix(const TRect& aRect);
  2550. inline TRegionFix(const TRegionFix<S>& aRegion);
  2551. private:
  2552. TInt8 iRectangleBuf[S*sizeof(TRect)];
  2553. };
  2554. #line 2806
  2555. class TFindHandleBase
  2556. {
  2557. public:
  2558. __declspec(dllexport) TFindHandleBase();
  2559. __declspec(dllexport) TFindHandleBase(const TDesC& aMatch);
  2560. __declspec(dllexport) void Find(const TDesC& aMatch);
  2561. inline TInt Handle() const;
  2562. protected:
  2563. TInt NextObject(TFullName& aResult,TInt aObjectType);
  2564. private:
  2565. TInt iFindHandle;
  2566. TInt iSpare1;
  2567. TInt iSpare2;
  2568. TInt iSpare3;
  2569. TFullName iMatch;
  2570. };
  2571. #line 2859
  2572. class TFindSemaphore : public TFindHandleBase
  2573. {
  2574. public:
  2575. inline TFindSemaphore();
  2576. inline TFindSemaphore(const TDesC& aMatch);
  2577. __declspec(dllexport) TInt Next(TFullName& aResult);
  2578. };
  2579. #line 2895
  2580. class TFindMutex : public TFindHandleBase
  2581. {
  2582. public:
  2583. inline TFindMutex();
  2584. inline TFindMutex(const TDesC& aMatch);
  2585. __declspec(dllexport) TInt Next(TFullName& aResult);
  2586. };
  2587. #line 2922
  2588. class TFindChunk : public TFindHandleBase
  2589. {
  2590. public:
  2591. inline TFindChunk();
  2592. inline TFindChunk(const TDesC& aMatch);
  2593. __declspec(dllexport) TInt Next(TFullName& aResult);
  2594. };
  2595. #line 2952
  2596. class TFindThread : public TFindHandleBase
  2597. {
  2598. public:
  2599. inline TFindThread();
  2600. inline TFindThread(const TDesC& aMatch);
  2601. __declspec(dllexport) TInt Next(TFullName& aResult);
  2602. };
  2603. #line 2981
  2604. class TFindProcess : public TFindHandleBase
  2605. {
  2606. public:
  2607. inline TFindProcess();
  2608. inline TFindProcess(const TDesC& aMatch);
  2609. __declspec(dllexport) TInt Next(TFullName& aResult);
  2610. };
  2611. #line 3010
  2612. class TFindLogicalDevice : public TFindHandleBase
  2613. {
  2614. public:
  2615. inline TFindLogicalDevice();
  2616. inline TFindLogicalDevice(const TDesC& aMatch);
  2617. __declspec(dllexport) TInt Next(TFullName& aResult);
  2618. };
  2619. #line 3037
  2620. class TFindPhysicalDevice : public TFindHandleBase
  2621. {
  2622. public:
  2623. inline TFindPhysicalDevice();
  2624. inline TFindPhysicalDevice(const TDesC& aMatch);
  2625. __declspec(dllexport) TInt Next(TFullName& aResult);
  2626. };
  2627. #line 3065
  2628. class TFindServer : public TFindHandleBase
  2629. {
  2630. public:
  2631. inline TFindServer();
  2632. inline TFindServer(const TDesC& aMatch);
  2633. __declspec(dllexport) TInt Next(TFullName& aResult);
  2634. };
  2635. #line 3089
  2636. class TFindLibrary : public TFindHandleBase
  2637. {
  2638. public:
  2639. inline TFindLibrary();
  2640. inline TFindLibrary(const TDesC& aMatch);
  2641. __declspec(dllexport) TInt Next(TFullName& aResult);
  2642. };
  2643. #line 3114
  2644. class RDevice : public RHandleBase
  2645. {
  2646. public:
  2647. inline TInt Open(const TFindLogicalDevice& aFind,TOwnerType aType=EOwnerProcess);
  2648. __declspec(dllexport) TInt Open(const TDesC& aName,TOwnerType aType=EOwnerProcess);
  2649. __declspec(dllexport) void GetCaps(TDes8& aDes) const;
  2650. __declspec(dllexport) TBool QueryVersionSupported(const TVersion& aVer) const;
  2651. __declspec(dllexport) TBool IsAvailable(TInt aUnit, const TDesC* aPhysicalDevice, const TDesC8* anInfo) const;
  2652. };
  2653. #line 3154
  2654. class RTimer : public RHandleBase
  2655. {
  2656. public:
  2657. __declspec(dllexport) TInt CreateLocal();
  2658. __declspec(dllexport) void Cancel();
  2659. __declspec(dllexport) void After(TRequestStatus& aStatus,TTimeIntervalMicroSeconds32 anInterval);
  2660. __declspec(dllexport) void AfterTicks(TRequestStatus &aStatus, TInt aTicks);
  2661. __declspec(dllexport) void At(TRequestStatus& aStatus,const TTime& aTime);
  2662. __declspec(dllexport) void AtUTC(TRequestStatus& aStatus,const TTime& aUTCTime);
  2663. __declspec(dllexport) void Lock(TRequestStatus& aStatus,TTimerLockSpec aLock);
  2664. __declspec(dllexport) void Inactivity(TRequestStatus& aStatus, TTimeIntervalSeconds aSeconds);
  2665. __declspec(dllexport) void HighRes(TRequestStatus& aStatus,TTimeIntervalMicroSeconds32 anInterval);
  2666. };
  2667. #line 3179
  2668. class RLibrary : public RHandleBase
  2669. {
  2670. public:
  2671. __declspec(dllexport) void Close();
  2672. __declspec(dllexport) TInt Load(const TDesC& aFileName, const TUidType& aType);
  2673. __declspec(dllexport) TInt Load(const TDesC& aFileName, const TDesC& aPath=KNullDesC);
  2674. __declspec(dllexport) TInt Load(const TDesC& aFileName, const TDesC& aPath, const TUidType& aType);
  2675. __declspec(dllexport) TInt Load(const TDesC& aFileName, const TDesC& aPath, const TUidType& aType, TUint32 aModuleVersion);
  2676. __declspec(dllexport) TInt LoadRomLibrary(const TDesC& aFileName, const TDesC& aPath);
  2677. __declspec(dllexport) TLibraryFunction Lookup(TInt anOrdinal) const;
  2678. __declspec(dllexport) TUidType Type() const;
  2679. __declspec(dllexport) TFileName FileName() const;
  2680. __declspec(dllexport) TInt GetRamSizes(TInt& aCodeSize, TInt& aConstDataSize);
  2681. __declspec(dllexport) TInt Init();
  2682. public:
  2683. struct TInfo
  2684. {
  2685. TUint32 iModuleVersion;
  2686. TUidType iUids;
  2687. TSecurityInfo iSecurityInfo;
  2688. };
  2689. struct TInfoV2 : public TInfo
  2690. {
  2691. TUint8 iHardwareFloatingPoint;
  2692. TUint8 iSpare[7];
  2693. };
  2694. typedef TPckgBuf<TInfo> TInfoBuf;
  2695. typedef TPckgBuf<TInfoV2> TInfoBufV2;
  2696. enum TRequiredImageHeaderSize
  2697. {
  2698. KRequiredImageHeaderSize = KMaxTInt
  2699. };
  2700. __declspec(dllexport) static TInt GetInfoFromHeader(const TDesC8& aHeader, TDes8& aInfoBuf);
  2701. struct SInfo
  2702. {
  2703. TUint32 iModuleVersion;
  2704. TUidType iUids;
  2705. SSecurityInfo iS;
  2706. };
  2707. typedef TPckgBuf<SInfo> SInfoBuf;
  2708. __declspec(dllexport) static TInt GetInfo(const TDesC& aFileName, TDes8& aInfoBuf);
  2709. private:
  2710. TInt InitL();
  2711. };
  2712. #line 3292
  2713. class RCriticalSection : private RSemaphore
  2714. {
  2715. public:
  2716. __declspec(dllexport) RCriticalSection();
  2717. __declspec(dllexport) TInt CreateLocal(TOwnerType aType=EOwnerProcess);
  2718. __declspec(dllexport) void Close();
  2719. __declspec(dllexport) void Wait();
  2720. __declspec(dllexport) void Signal();
  2721. inline TBool IsBlocked() const;
  2722. private:
  2723. TInt iBlocked;
  2724. };
  2725. #line 3320
  2726. class RMutex : public RHandleBase
  2727. {
  2728. public:
  2729. inline TInt Open(const TFindMutex& aFind,TOwnerType aType=EOwnerProcess);
  2730. __declspec(dllexport) TInt CreateLocal(TOwnerType aType=EOwnerProcess);
  2731. __declspec(dllexport) TInt CreateGlobal(const TDesC& aName,TOwnerType aType=EOwnerProcess);
  2732. __declspec(dllexport) TInt OpenGlobal(const TDesC& aName,TOwnerType aType=EOwnerProcess);
  2733. __declspec(dllexport) TInt Open(RMessagePtr2 aMessage,TInt aParam,TOwnerType aType=EOwnerProcess);
  2734. __declspec(dllexport) TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
  2735. __declspec(dllexport) void Wait();
  2736. __declspec(dllexport) void Signal();
  2737. __declspec(dllexport) TBool IsHeld();
  2738. };
  2739. #line 3349
  2740. class RCondVar : public RHandleBase
  2741. {
  2742. public:
  2743. __declspec(dllexport) TInt CreateLocal(TOwnerType aType=EOwnerProcess);
  2744. __declspec(dllexport) TInt CreateGlobal(const TDesC& aName, TOwnerType aType=EOwnerProcess);
  2745. __declspec(dllexport) TInt OpenGlobal(const TDesC& aName, TOwnerType aType=EOwnerProcess);
  2746. __declspec(dllexport) TInt Open(RMessagePtr2 aMessage, TInt aParam, TOwnerType aType=EOwnerProcess);
  2747. __declspec(dllexport) TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
  2748. __declspec(dllexport) TInt Wait(RMutex& aMutex);
  2749. __declspec(dllexport) TInt TimedWait(RMutex& aMutex, TInt aTimeout);
  2750. __declspec(dllexport) void Signal();
  2751. __declspec(dllexport) void Broadcast();
  2752. };
  2753. class UserHeap;
  2754. class TChunkCreate;
  2755. #line 3375
  2756. class RChunk : public RHandleBase
  2757. {
  2758. public:
  2759. enum TAttribs
  2760. {
  2761. ENormal=0x00,
  2762. EDoubleEnded=0x01,
  2763. EDisconnected=0x02,
  2764. ELocal=0x00,
  2765. EGlobal=0x10,
  2766. EData=0x00,
  2767. ECode=0x20,
  2768. };
  2769. enum TRestrictions
  2770. {
  2771. EPreventAdjust = 0x01,
  2772. };
  2773. public:
  2774. inline TInt Open(const TFindChunk& aFind,TOwnerType aType=EOwnerProcess);
  2775. __declspec(dllexport) TInt CreateLocal(TInt aSize,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  2776. __declspec(dllexport) TInt CreateLocalCode(TInt aSize,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  2777. __declspec(dllexport) TInt CreateGlobal(const TDesC& aName,TInt aSize,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  2778. __declspec(dllexport) TInt CreateDoubleEndedLocal(TInt aInitialBottom, TInt aInitialTop,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  2779. __declspec(dllexport) TInt CreateDoubleEndedGlobal(const TDesC& aName,TInt aInitialBottom,TInt aInitialTop,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  2780. __declspec(dllexport) TInt CreateDisconnectedLocal(TInt aInitialBottom, TInt aInitialTop,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  2781. __declspec(dllexport) TInt CreateDisconnectedGlobal(const TDesC& aName,TInt aInitialBottom,TInt aInitialTop,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  2782. __declspec(dllexport) TInt Create(TUint aAtt, TInt aMaxSize, TInt aInitialBottom, TInt aInitialTop, const TDesC* aName, TOwnerType aType=EOwnerProcess);
  2783. __declspec(dllexport) TInt SetRestrictions(TUint aFlags);
  2784. __declspec(dllexport) TInt OpenGlobal(const TDesC& aName,TBool isReadOnly,TOwnerType aType=EOwnerProcess);
  2785. __declspec(dllexport) TInt Open(RMessagePtr2 aMessage,TInt aParam,TBool isReadOnly,TOwnerType aType=EOwnerProcess);
  2786. __declspec(dllexport) TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
  2787. __declspec(dllexport) TInt Adjust(TInt aNewSize) const;
  2788. __declspec(dllexport) TInt AdjustDoubleEnded(TInt aBottom, TInt aTop) const;
  2789. __declspec(dllexport) TInt Commit(TInt anOffset, TInt aSize) const;
  2790. __declspec(dllexport) TInt Allocate(TInt aSize) const;
  2791. __declspec(dllexport) TInt Decommit(TInt anOffset, TInt aSize) const;
  2792. __declspec(dllexport) TUint8* Base() const;
  2793. __declspec(dllexport) TInt Size() const;
  2794. __declspec(dllexport) TInt Bottom() const;
  2795. __declspec(dllexport) TInt Top() const;
  2796. __declspec(dllexport) TInt MaxSize() const;
  2797. inline TBool IsReadable() const;
  2798. inline TBool IsWritable() const;
  2799. private:
  2800. friend class UserHeap;
  2801. };
  2802. struct SStdEpocThreadCreateInfo;
  2803. #line 3445
  2804. class UserHeap
  2805. {
  2806. public:
  2807. enum TChunkHeapCreateMode {EChunkHeapSwitchTo=1, EChunkHeapDuplicate=2};
  2808. __declspec(dllexport) static RHeap* FixedHeap(TAny* aBase, TInt aMaxLength, TInt aAlign=0, TBool aSingleThread=ETrue);
  2809. __declspec(dllexport) static RHeap* ChunkHeap(const TDesC* aName, TInt aMinLength, TInt aMaxLength, TInt aGrowBy=1, TInt aAlign=0, TBool aSingleThread=EFalse);
  2810. __declspec(dllexport) static RHeap* ChunkHeap(RChunk aChunk, TInt aMinLength, TInt aGrowBy=1, TInt aMaxLength=0, TInt aAlign=0, TBool aSingleThread=EFalse, TUint32 aMode=0);
  2811. __declspec(dllexport) static TInt SetupThreadHeap(TBool aNotFirst, SStdEpocThreadCreateInfo& aInfo);
  2812. __declspec(dllexport) static TInt CreateThreadHeap(SStdEpocThreadCreateInfo& aInfo, RHeap*& aHeap, TInt aAlign=0, TBool aSingleThread=EFalse);
  2813. };
  2814. #line 3465
  2815. class TObjectId
  2816. {
  2817. public:
  2818. inline TObjectId();
  2819. inline TObjectId(TUint64 anId);
  2820. inline TUint64 Id() const;
  2821. inline operator TUint() const;
  2822. inline TBool operator==(TObjectId aId) const;
  2823. inline TBool operator!=(TObjectId aId) const;
  2824. private:
  2825. TUint64 iId;
  2826. };
  2827. #line 3493
  2828. class TThreadId : public TObjectId
  2829. {
  2830. public:
  2831. inline TThreadId();
  2832. inline TThreadId(TUint64 anId);
  2833. };
  2834. class RProcess;
  2835. #line 3514
  2836. class RThread : public RHandleBase
  2837. {
  2838. public:
  2839. inline RThread();
  2840. __declspec(dllexport) TInt Create(const TDesC& aName, TThreadFunction aFunction, TInt aStackSize, TInt aHeapMinSize, TInt aHeapMaxSize, TAny *aPtr, TOwnerType aType=EOwnerProcess);
  2841. __declspec(dllexport) TInt Create(const TDesC& aName, TThreadFunction aFunction, TInt aStackSize, RAllocator* aHeap, TAny* aPtr, TOwnerType aType=EOwnerProcess);
  2842. __declspec(dllexport) TInt Open(const TDesC& aFullName, TOwnerType aType=EOwnerProcess);
  2843. __declspec(dllexport) TInt Open(TThreadId aID, TOwnerType aType=EOwnerProcess);
  2844. __declspec(dllexport) TThreadId Id() const;
  2845. __declspec(dllexport) void Resume() const;
  2846. __declspec(dllexport) void Suspend() const;
  2847. inline static TInt RenameMe(const TDesC& aName);
  2848. __declspec(dllexport) void Kill(TInt aReason);
  2849. __declspec(dllexport) void Terminate(TInt aReason);
  2850. __declspec(dllexport) void Panic(const TDesC& aCategory,TInt aReason);
  2851. __declspec(dllexport) TInt Process(RProcess& aProcess) const;
  2852. __declspec(dllexport) TThreadPriority Priority() const;
  2853. __declspec(dllexport) void SetPriority(TThreadPriority aPriority) const;
  2854. __declspec(dllexport) TProcessPriority ProcessPriority() const;
  2855. __declspec(dllexport) void SetProcessPriority(TProcessPriority aPriority) const;
  2856. __declspec(dllexport) TInt RequestCount() const;
  2857. __declspec(dllexport) TExitType ExitType() const;
  2858. __declspec(dllexport) TInt ExitReason() const;
  2859. __declspec(dllexport) TExitCategoryName ExitCategory() const;
  2860. __declspec(dllexport) void RequestComplete(TRequestStatus*& aStatus,TInt aReason) const;
  2861. __declspec(dllexport) void RequestSignal() const;
  2862. __declspec(dllexport) void Logon(TRequestStatus& aStatus) const;
  2863. __declspec(dllexport) TInt LogonCancel(TRequestStatus& aStatus) const;
  2864. __declspec(dllexport) void HandleCount(TInt& aProcessHandleCount, TInt& aThreadHandleCount) const;
  2865. __declspec(dllexport) void Context(TDes8& aDes) const;
  2866. __declspec(dllexport) TInt StackInfo(TThreadStackInfo& aInfo) const;
  2867. __declspec(dllexport) TInt GetCpuTime(TTimeIntervalMicroSeconds& aCpuTime) const;
  2868. inline TInt Open(const TFindThread& aFind,TOwnerType aType=EOwnerProcess);
  2869. __declspec(dllexport) void Rendezvous(TRequestStatus& aStatus) const;
  2870. __declspec(dllexport) TInt RendezvousCancel(TRequestStatus& aStatus) const;
  2871. __declspec(dllexport) static void Rendezvous(TInt aReason);
  2872. #line 3588
  2873. __declspec(dllexport) TSecureId SecureId() const;
  2874. #line 3622
  2875. __declspec(dllexport) TVendorId VendorId() const;
  2876. #line 3642
  2877. inline TBool HasCapability(TCapability aCapability, const char* aDiagnostic=0) const;
  2878. #line 3671
  2879. inline TBool HasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic=0) const;
  2880. #line 3686
  2881. inline TInt Create(const TDesC& aName,TThreadFunction aFunction,TInt aStackSize,TAny* aPtr,RLibrary* aLibrary,RHeap* aHeap, TInt aHeapMinSize,TInt aHeapMaxSize,TOwnerType aType);
  2882. private:
  2883. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability, const char* aDiagnostic) const;
  2884. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability) const;
  2885. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic) const;
  2886. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability1, TCapability aCapability2) const;
  2887. };
  2888. inline TInt RThread::Create(const TDesC& ,TThreadFunction ,TInt ,TAny* ,RLibrary* ,RHeap* , TInt ,TInt ,TOwnerType )
  2889. {return KErrNotSupported; }
  2890. #line 3717
  2891. class TProcessId : public TObjectId
  2892. {
  2893. public:
  2894. inline TProcessId();
  2895. inline TProcessId(TUint64 anId);
  2896. };
  2897. class RSubSessionBase;
  2898. #line 3737
  2899. class RProcess : public RHandleBase
  2900. {
  2901. public:
  2902. inline RProcess();
  2903. __declspec(dllexport) TInt Create(const TDesC& aFileName,const TDesC& aCommand,TOwnerType aType=EOwnerProcess);
  2904. __declspec(dllexport) TInt Create(const TDesC& aFileName,const TDesC& aCommand,const TUidType &aUidType, TOwnerType aType=EOwnerProcess);
  2905. __declspec(dllexport) TInt Open(const TDesC& aName,TOwnerType aType=EOwnerProcess);
  2906. __declspec(dllexport) TInt Open(TProcessId aId,TOwnerType aType=EOwnerProcess);
  2907. __declspec(dllexport) TUidType Type() const;
  2908. __declspec(dllexport) TProcessId Id() const;
  2909. inline static TInt RenameMe(const TDesC& aName);
  2910. __declspec(dllexport) void Kill(TInt aReason);
  2911. __declspec(dllexport) void Terminate(TInt aReason);
  2912. __declspec(dllexport) void Panic(const TDesC& aCategory,TInt aReason);
  2913. __declspec(dllexport) void Resume();
  2914. __declspec(dllexport) TFileName FileName() const;
  2915. __declspec(dllexport) TExitType ExitType() const;
  2916. __declspec(dllexport) TInt ExitReason() const;
  2917. __declspec(dllexport) TExitCategoryName ExitCategory() const;
  2918. __declspec(dllexport) TProcessPriority Priority() const;
  2919. __declspec(dllexport) void SetPriority(TProcessPriority aPriority) const;
  2920.     __declspec(dllexport) TBool JustInTime() const;
  2921.     __declspec(dllexport) void SetJustInTime(TBool aBoolean) const;
  2922. __declspec(dllexport) void Logon(TRequestStatus& aStatus) const;
  2923. __declspec(dllexport) TInt LogonCancel(TRequestStatus& aStatus) const;
  2924. __declspec(dllexport) TInt GetMemoryInfo(TModuleMemoryInfo& aInfo) const;