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

Symbian

开发平台:

C/C++

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