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

Symbian

开发平台:

C/C++

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