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

Symbian

开发平台:

C/C++

  1. __declspec(dllexport) TInt DayNoInMonth() const;
  2. __declspec(dllexport) TInt DayNoInYear() const;
  3. __declspec(dllexport) TInt DayNoInYear(TTime aStartDate) const;
  4. __declspec(dllexport) TInt WeekNoInYear() const;
  5. __declspec(dllexport) TInt WeekNoInYear(TTime aStartDate) const;
  6. __declspec(dllexport) TInt WeekNoInYear(TFirstWeekRule aRule) const;
  7. __declspec(dllexport) TInt WeekNoInYear(TTime aStartDate,TFirstWeekRule aRule) const;
  8. __declspec(dllexport) void FormatL(TDes& aDes,const TDesC& aFormat) const;
  9. __declspec(dllexport) void RoundUpToNextMinute();
  10. __declspec(dllexport) TInt Parse(const TDesC& aDes,TInt aCenturyOffset=0);
  11. __declspec(dllexport) TTime operator+(TTimeIntervalYears aYear) const;
  12. __declspec(dllexport) TTime operator+(TTimeIntervalMonths aMonth) const;
  13. __declspec(dllexport) TTime operator+(TTimeIntervalDays aDay) const;
  14. __declspec(dllexport) TTime operator+(TTimeIntervalHours aHour) const;
  15. __declspec(dllexport) TTime operator+(TTimeIntervalMinutes aMinute) const;
  16. __declspec(dllexport) TTime operator+(TTimeIntervalSeconds aSecond) const;
  17. __declspec(dllexport) TTime operator+(TTimeIntervalMicroSeconds aMicroSecond) const;
  18. __declspec(dllexport) TTime operator+(TTimeIntervalMicroSeconds32 aMicroSecond) const;
  19. __declspec(dllexport) TTime operator-(TTimeIntervalYears aYear) const;
  20. __declspec(dllexport) TTime operator-(TTimeIntervalMonths aMonth) const;
  21. __declspec(dllexport) TTime operator-(TTimeIntervalDays aDay) const;
  22. __declspec(dllexport) TTime operator-(TTimeIntervalHours aHour) const;
  23. __declspec(dllexport) TTime operator-(TTimeIntervalMinutes aMinute) const;
  24. __declspec(dllexport) TTime operator-(TTimeIntervalSeconds aSecond) const;
  25. __declspec(dllexport) TTime operator-(TTimeIntervalMicroSeconds aMicroSecond) const;
  26. __declspec(dllexport) TTime operator-(TTimeIntervalMicroSeconds32 aMicroSecond) const;
  27. __declspec(dllexport) TTime& operator+=(TTimeIntervalYears aYear);
  28. __declspec(dllexport) TTime& operator+=(TTimeIntervalMonths aMonth);
  29. __declspec(dllexport) TTime& operator+=(TTimeIntervalDays aDay);
  30. __declspec(dllexport) TTime& operator+=(TTimeIntervalHours aHour);
  31. __declspec(dllexport) TTime& operator+=(TTimeIntervalMinutes aMinute);
  32. __declspec(dllexport) TTime& operator+=(TTimeIntervalSeconds aSecond);
  33. __declspec(dllexport) TTime& operator+=(TTimeIntervalMicroSeconds aMicroSecond);
  34. __declspec(dllexport) TTime& operator+=(TTimeIntervalMicroSeconds32 aMicroSecond);
  35. __declspec(dllexport) TTime& operator-=(TTimeIntervalYears aYear);
  36. __declspec(dllexport) TTime& operator-=(TTimeIntervalMonths aMonth);
  37. __declspec(dllexport) TTime& operator-=(TTimeIntervalDays aDay);
  38. __declspec(dllexport) TTime& operator-=(TTimeIntervalHours aHour);
  39. __declspec(dllexport) TTime& operator-=(TTimeIntervalMinutes aMinute);
  40. __declspec(dllexport) TTime& operator-=(TTimeIntervalSeconds aSecond);
  41. __declspec(dllexport) TTime& operator-=(TTimeIntervalMicroSeconds aMicroSecond);
  42. __declspec(dllexport) TTime& operator-=(TTimeIntervalMicroSeconds32 aMicroSecond);
  43. inline TBool operator==(TTime aTime) const;
  44. inline TBool operator!=(TTime aTime) const;
  45. inline TBool operator>=(TTime aTime) const;
  46. inline TBool operator<=(TTime aTime) const;
  47. inline TBool operator>(TTime aTime) const;
  48. inline TBool operator<(TTime aTime) const;
  49. inline const TInt64& Int64() const;
  50. private:
  51. static TTime Convert(const TDateTime& aDateTime);
  52. private:
  53. TInt64 iTime;
  54. public: void __DbgTestInvariant() const; void __DbgTest(TAny *aPtr) const ;
  55. };
  56. #line 1861
  57. class Time
  58. {
  59. public:
  60. __declspec(dllexport) static TTime NullTTime();
  61. __declspec(dllexport) static TTime MaxTTime();
  62. __declspec(dllexport) static TTime MinTTime();
  63. __declspec(dllexport) static TInt DaysInMonth(TInt aYear, TMonth aMonth);
  64. __declspec(dllexport) static TBool IsLeapYear(TInt aYear);
  65. __declspec(dllexport) static TInt LeapYearsUpTo(TInt aYear);
  66. };
  67. #line 1887
  68. class TDayName : public TBuf<KMaxDayName>
  69. {
  70. public:
  71. __declspec(dllexport) TDayName();
  72. __declspec(dllexport) TDayName(TDay aDay);
  73. __declspec(dllexport) void Set(TDay aDay);
  74. };
  75. #line 1915
  76. class TDayNameAbb : public TBuf<KMaxDayNameAbb>
  77. {
  78. public:
  79. __declspec(dllexport) TDayNameAbb();
  80. __declspec(dllexport) TDayNameAbb(TDay aDay);
  81. __declspec(dllexport) void Set(TDay aDay);
  82. };
  83. #line 1938
  84. class TMonthName : public TBuf<KMaxMonthName>
  85. {
  86. public:
  87. __declspec(dllexport) TMonthName();
  88. __declspec(dllexport) TMonthName(TMonth aMonth);
  89. __declspec(dllexport) void Set(TMonth aMonth);
  90. };
  91. #line 1961
  92. class TMonthNameAbb : public TBuf<KMaxMonthNameAbb>
  93. {
  94. public:
  95. __declspec(dllexport) TMonthNameAbb();
  96. __declspec(dllexport) TMonthNameAbb(TMonth aMonth);
  97. __declspec(dllexport) void Set(TMonth aMonth);
  98. };
  99. #line 1986
  100. class TDateSuffix : public TBuf<KMaxSuffix>
  101. {
  102. public:
  103. __declspec(dllexport) TDateSuffix();
  104. __declspec(dllexport) TDateSuffix(TInt aDateSuffix);
  105. __declspec(dllexport) void Set(TInt aDateSuffix);
  106. };
  107. #line 2010
  108. class TAmPmName : public TBuf<KMaxAmPmName>
  109. {
  110. public:
  111. __declspec(dllexport) TAmPmName();
  112. __declspec(dllexport) TAmPmName(TAmPm aSelector);
  113. __declspec(dllexport) void Set(TAmPm aSelector);
  114. };
  115. #line 2031
  116. class TCurrencySymbol : public TBuf<KMaxCurrencySymbol>
  117. {
  118. public:
  119. __declspec(dllexport) TCurrencySymbol();
  120. __declspec(dllexport) void Set();
  121. };
  122. #line 2067
  123. class TShortDateFormatSpec : public TBuf<KMaxShortDateFormatSpec>
  124. {
  125. public:
  126. __declspec(dllexport) TShortDateFormatSpec();
  127. __declspec(dllexport) void Set();
  128. };
  129. #line 2103
  130. class TLongDateFormatSpec : public TBuf<KMaxLongDateFormatSpec>
  131. {
  132. public:
  133. __declspec(dllexport) TLongDateFormatSpec();
  134. __declspec(dllexport) void Set();
  135. };
  136. #line 2136
  137. class TTimeFormatSpec : public TBuf<KMaxTimeFormatSpec>
  138. {
  139. public:
  140. __declspec(dllexport) TTimeFormatSpec();
  141. __declspec(dllexport) void Set();
  142. };
  143. #line 2156
  144. class TLocale
  145. {
  146. public:
  147. enum TNegativeCurrencyFormat
  148. {
  149. ELeadingMinusSign,
  150. EInBrackets,
  151. ETrailingMinusSign,
  152. EInterveningMinusSign
  153. };
  154. enum
  155. {
  156. EFlagNegativeLoseSpace = 0x00000001,
  157. EFlagNegativeCurrencySymbolOpposite=0x00000002
  158. };
  159. enum TDeviceTimeState
  160. {
  161. EDeviceUserTime,
  162. ENITZNetworkTimeSync
  163. };
  164. public:
  165. __declspec(dllexport) TLocale();
  166. inline TLocale(TInt);
  167. __declspec(dllexport) void Refresh();
  168. __declspec(dllexport) TInt Set() const;
  169. __declspec(dllexport) void FormatCurrency(TDes& aText, TInt aAmount);
  170. __declspec(dllexport) void FormatCurrency(TDes& aText, TInt64 aAmount);
  171. __declspec(dllexport) void FormatCurrency(TDes& aText, TDesOverflow& aOverflowHandler, TInt aAmount);
  172. __declspec(dllexport) void FormatCurrency(TDes& aText, TDesOverflow& aOverflowHandler, TInt64 aAmount);
  173. inline TInt CountryCode() const;
  174. inline void SetCountryCode(TInt aCode);
  175. inline TTimeIntervalSeconds UniversalTimeOffset() const;
  176. inline TDateFormat DateFormat() const;
  177. inline void SetDateFormat(TDateFormat aFormat);
  178. inline TTimeFormat TimeFormat() const;
  179. inline void SetTimeFormat(TTimeFormat aFormat);
  180. inline TLocalePos CurrencySymbolPosition() const;
  181. inline void SetCurrencySymbolPosition(TLocalePos aPos);
  182. inline TBool CurrencySpaceBetween() const;
  183. inline void SetCurrencySpaceBetween(TBool aSpace);
  184. inline TInt CurrencyDecimalPlaces() const;
  185. inline void SetCurrencyDecimalPlaces(TInt aPlaces);
  186. inline TBool CurrencyNegativeInBrackets() const;
  187. inline void SetCurrencyNegativeInBrackets(TBool aBool);
  188.   inline TBool CurrencyTriadsAllowed() const;
  189. inline void SetCurrencyTriadsAllowed(TBool aBool);
  190. inline TChar ThousandsSeparator() const;
  191. inline void SetThousandsSeparator(const TChar& aChar);
  192. inline TChar DecimalSeparator() const;
  193. inline void SetDecimalSeparator(const TChar& aChar);
  194. inline TChar DateSeparator(TInt aIndex) const;
  195. inline void SetDateSeparator(const TChar& aChar,TInt aIndex);
  196. inline TChar TimeSeparator(TInt aIndex) const;
  197. inline void SetTimeSeparator(const TChar& aChar,TInt aIndex);
  198. inline TBool AmPmSpaceBetween() const;
  199. inline void SetAmPmSpaceBetween(TBool aSpace);
  200. inline TLocalePos AmPmSymbolPosition() const;
  201. inline void SetAmPmSymbolPosition(TLocalePos aPos);
  202. inline TUint DaylightSaving() const;
  203. inline TBool QueryHomeHasDaylightSavingOn() const;
  204. inline TDaylightSavingZone HomeDaylightSavingZone() const;
  205. inline TUint WorkDays() const;
  206. inline void SetWorkDays(TUint aMask);
  207. inline TDay StartOfWeek() const;
  208. inline void SetStartOfWeek(TDay aDay);
  209. inline TClockFormat ClockFormat() const;
  210. inline void SetClockFormat(TClockFormat aFormat);
  211. inline TUnitsFormat UnitsGeneral() const;
  212. inline void SetUnitsGeneral(TUnitsFormat aFormat);
  213. inline TUnitsFormat UnitsDistanceShort() const;
  214. inline void SetUnitsDistanceShort(TUnitsFormat aFormat);
  215. inline TUnitsFormat UnitsDistanceLong() const;
  216. inline void SetUnitsDistanceLong(TUnitsFormat aFormat);
  217. inline TNegativeCurrencyFormat NegativeCurrencyFormat() const;
  218. inline void SetNegativeCurrencyFormat(TNegativeCurrencyFormat aNegativeCurrencyFormat);
  219. inline TBool NegativeLoseSpace() const;
  220. inline void SetNegativeLoseSpace(TBool aBool);
  221. inline TBool NegativeCurrencySymbolOpposite() const;
  222. inline void SetNegativeCurrencySymbolOpposite(TBool aBool);
  223. inline TLanguage LanguageDowngrade(TInt aIndex) const;
  224. inline void SetLanguageDowngrade(TInt aIndex, TLanguage aLanguage);
  225. inline TDigitType DigitType() const;
  226. inline void SetDigitType(TDigitType aDigitType);
  227. inline TDeviceTimeState DeviceTime() const;
  228.   inline void SetDeviceTime(TDeviceTimeState aState);
  229. void SetDefaults();
  230. private:
  231. friend class TExtendedLocale;
  232. private:
  233. TInt iCountryCode;
  234. TTimeIntervalSeconds iUniversalTimeOffset;
  235. TDateFormat iDateFormat;
  236. TTimeFormat iTimeFormat;
  237. TLocalePos iCurrencySymbolPosition;
  238. TBool iCurrencySpaceBetween;
  239. TInt iCurrencyDecimalPlaces;
  240. TNegativeCurrencyFormat iNegativeCurrencyFormat;
  241. TBool iCurrencyTriadsAllowed;
  242. TChar iThousandsSeparator;
  243. TChar iDecimalSeparator;
  244. TChar iDateSeparator[KMaxDateSeparators];
  245. TChar iTimeSeparator[KMaxTimeSeparators];
  246. TLocalePos iAmPmSymbolPosition;
  247. TBool iAmPmSpaceBetween;
  248. TUint iDaylightSaving;
  249. TDaylightSavingZone iHomeDaylightSavingZone;
  250. TUint iWorkDays;
  251. TDay iStartOfWeek;
  252. TClockFormat iClockFormat;
  253. TUnitsFormat iUnitsGeneral;
  254. TUnitsFormat iUnitsDistanceShort;
  255. TUnitsFormat iUnitsDistanceLong;
  256. TUint iExtraNegativeCurrencyFormatFlags;
  257. TUint16 iLanguageDowngrade[3];
  258. TUint16 iSpare16;
  259. TDigitType iDigitType;
  260.   TDeviceTimeState iDeviceTimeState;
  261.   TInt iSpare[0x1E];
  262. };
  263. const TUint KLocaleLanguageKey = 0x10208903;
  264. const TUint KLocaleDataKey = 0x10208904;
  265. const TUint KLocaleDataExtraKey = 0x10208905;
  266. const TUint KLocaleTimeDateFormatKey = 0x10208907;
  267. const TUint KLocaleDefaultCharSetKey = 0x10208908;
  268. const TUint KLocalePreferredCharSetKey = 0x10208909;
  269. enum TLocaleFunctions
  270. {
  271. FnDummy,
  272. FnAmPmTable,
  273. FnCharSet,
  274. FnCollTable,
  275. FnCurrencySymbol,
  276. FnDateSuffixTable,
  277. FnDayAbbTable,
  278. FnDayTable,
  279. FnFoldTable,
  280. FnLanguage,
  281. FnLocaleData,
  282. FnLowerTable,
  283. FnMonthAbbTable,
  284. FnMonthTable,
  285. FnMsgTable,
  286. FnTypeTable,
  287. FnUniCode,
  288. FnUpperTable,
  289. FnShortDateFormatSpec,
  290. FnLongDateFormatSpec,
  291. FnTimeFormatSpec,
  292. FnFatUtilityFunctions
  293. };
  294. #line 2407
  295. enum TLocaleAspect
  296. {
  297. ELocaleLanguageSettings = 0x01,
  298. ELocaleCollateSetting = 0x02,
  299. ELocaleLocaleSettings = 0x04,
  300. ELocaleTimeDateSettings = 0x08,
  301. };
  302. struct SLocaleLanguage
  303. {
  304. TLanguage  iLanguage;
  305. const TText* iDateSuffixTable;
  306. const TText* iDayTable;
  307. const TText* iDayAbbTable;
  308. const TText* iMonthTable;
  309. const TText* iMonthAbbTable;
  310. const TText* iAmPmTable;
  311. const TText16* const* iMsgTable;
  312. };
  313. struct SLocaleLocaleSettings
  314. {
  315. TText iCurrencySymbol[KMaxCurrencySymbol+1];
  316. TAny* iLocaleExtraSettingsDllPtr;
  317. };
  318. struct SLocaleTimeDateFormat
  319. {
  320. TText iShortDateFormatSpec[KMaxShortDateFormatSpec+1];
  321. TText iLongDateFormatSpec[KMaxLongDateFormatSpec+1];
  322. TText iTimeFormatSpec[KMaxTimeFormatSpec+1];
  323. TAny* iLocaleTimeDateFormatDllPtr;
  324. };
  325. struct LCharSet;
  326. #line 2462
  327. class TExtendedLocale
  328. {
  329. public:
  330. __declspec(dllexport) TExtendedLocale();
  331. __declspec(dllexport) void LoadSystemSettings();
  332. __declspec(dllexport) TInt SaveSystemSettings();
  333. __declspec(dllexport) TInt LoadLocale(const TDesC& aLocaleDllName);
  334. #line 2488
  335. __declspec(dllexport) TInt LoadLocaleAspect(TUint aAspectGroup, const TDesC& aLocaleDllName);
  336. __declspec(dllexport) TInt SetCurrencySymbol(const TDesC &aSymbol);
  337. __declspec(dllexport) TInt GetLocaleDllName(TLocaleAspect aLocaleDataSet, TDes& aDllName);
  338. __declspec(dllexport) TCollationMethod GetPreferredCollationMethod(TInt index = 0) ;
  339. inline TLocale* GetLocale();
  340. private:
  341. TInt DoLoadLocale(const TDesC& aLocaleDllName, TLibraryFunction* aExportList);
  342. void DoUpdateLanguageSettings(TLibraryFunction* aExportList);
  343. void DoUpdateLocaleSettings(TLibraryFunction* aExportList);
  344. void DoUpdateTimeDateFormat(TLibraryFunction* aExportList);
  345. private:
  346. TLocale iLocale;
  347. SLocaleLanguage iLanguageSettings;
  348. SLocaleLocaleSettings iLocaleExtraSettings;
  349. SLocaleTimeDateFormat iLocaleTimeDateFormat;
  350. const LCharSet* iDefaultCharSet;
  351. const LCharSet* iPreferredCharSet;
  352. };
  353. #line 2544
  354. class TRect
  355. {
  356. public:
  357. enum TUninitialized { EUninitialized };
  358. TRect(TUninitialized) {}
  359. __declspec(dllexport) TRect();
  360. __declspec(dllexport) TRect(TInt aAx,TInt aAy,TInt aBx,TInt aBy);
  361. __declspec(dllexport) TRect(const TPoint& aPointA,const TPoint& aPointB);
  362. __declspec(dllexport) TRect(const TPoint& aPoint,const TSize& aSize);
  363. __declspec(dllexport) TRect(const TSize& aSize);
  364. __declspec(dllexport) TBool operator==(const TRect& aRect) const;
  365. __declspec(dllexport) TBool operator!=(const TRect& aRect) const;
  366. __declspec(dllexport) void SetRect(TInt aAx,TInt aAy,TInt aBx,TInt aBy);
  367. __declspec(dllexport) void SetRect(const TPoint& aPointTL,const TPoint& aPointBR);
  368. __declspec(dllexport) void SetRect(const TPoint& aPoint,const TSize& aSize);
  369. __declspec(dllexport) void Move(TInt aDx,TInt aDy);
  370. __declspec(dllexport) void Move(const TPoint& aOffset);
  371. __declspec(dllexport) void Resize(TInt aDx,TInt aDy);
  372. __declspec(dllexport) void Resize(const TSize& aSize);
  373. __declspec(dllexport) void Shrink(TInt aDx,TInt aDy);
  374. __declspec(dllexport) void Shrink(const TSize& aSize);
  375. __declspec(dllexport) void Grow(TInt aDx,TInt aDy);
  376. __declspec(dllexport) void Grow(const TSize& aSize);
  377. __declspec(dllexport) void BoundingRect(const TRect& aRect);
  378. __declspec(dllexport) TBool IsEmpty() const;
  379. __declspec(dllexport) TBool Intersects(const TRect& aRect) const;
  380. __declspec(dllexport) void Intersection(const TRect& aRect);
  381. __declspec(dllexport) void Normalize();
  382. __declspec(dllexport) TBool Contains(const TPoint& aPoint) const;
  383. __declspec(dllexport) TSize Size() const;
  384. __declspec(dllexport) TInt Width() const;
  385. __declspec(dllexport) TInt Height() const;
  386. __declspec(dllexport) TBool IsNormalized() const;
  387. __declspec(dllexport) TPoint Center() const;
  388. __declspec(dllexport) void SetSize(const TSize& aSize);
  389. __declspec(dllexport) void SetWidth(TInt aWidth);
  390. __declspec(dllexport) void SetHeight(TInt aHeight);
  391. private:
  392. void Adjust(TInt aDx,TInt aDy);
  393. public:
  394. TPoint iTl;
  395. TPoint iBr;
  396. };
  397. #line 2646
  398. class TRegion
  399. {
  400. public:
  401. inline TInt Count() const;
  402. inline const TRect* RectangleList() const;
  403. inline TBool CheckError() const;
  404. __declspec(dllexport) TBool IsEmpty() const;
  405. __declspec(dllexport) TRect BoundingRect() const;
  406. __declspec(dllexport) const TRect& operator[](TInt aIndex) const;
  407. __declspec(dllexport) void Copy(const TRegion& aRegion);
  408. __declspec(dllexport) void AddRect(const TRect& aRect);
  409. __declspec(dllexport) void SubRect(const TRect& aRect,TRegion* aSubtractedRegion=0 );
  410. __declspec(dllexport) void Offset(TInt aXoffset,TInt aYoffset);
  411. __declspec(dllexport) void Offset(const TPoint& aOffset);
  412. __declspec(dllexport) void Union(const TRegion& aRegion);
  413. __declspec(dllexport) void Intersection(const TRegion& aRegion,const TRegion& aRegion2);
  414. __declspec(dllexport) void Intersect(const TRegion& aRegion);
  415. __declspec(dllexport) void SubRegion(const TRegion& aRegion,TRegion* aSubtractedRegion=0 );
  416. __declspec(dllexport) void ClipRect(const TRect& aRect);
  417. __declspec(dllexport) void Clear();
  418. __declspec(dllexport) void Tidy();
  419. __declspec(dllexport) TInt Sort();
  420. __declspec(dllexport) TInt Sort(const TPoint& aOffset);
  421. __declspec(dllexport) void ForceError();
  422. __declspec(dllexport) TBool IsContainedBy(const TRect& aRect) const;
  423. __declspec(dllexport) TBool Contains(const TPoint& aPoint) const;
  424. protected:
  425. __declspec(dllexport) TRect* RectangleListW();
  426. __declspec(dllexport) TRegion(TInt aAllocedRects);
  427. inline TRegion();
  428. TBool SetListSize(TInt aCount);
  429. void AppendRect(const TRect& aRect);
  430. void DeleteRect(TRect* aRect);
  431. void AppendRegion(TRegion& aRegion);
  432. protected:
  433. TInt iCount;
  434. TBool iError;
  435. TInt iAllocedRects;
  436. protected:
  437. enum {ERRegionBuf=0x40000000};
  438. };
  439. #line 2703
  440. class RRegion : public TRegion
  441. {
  442. private:
  443. enum {EDefaultGranularity=5};
  444. protected:
  445. __declspec(dllexport) RRegion(TInt aBuf,TInt aGran);
  446. public:
  447. __declspec(dllexport) RRegion();
  448. __declspec(dllexport) RRegion(TInt aGran);
  449. __declspec(dllexport) RRegion(const RRegion& aRegion);
  450. __declspec(dllexport) RRegion(const TRect& aRect,TInt aGran=EDefaultGranularity);
  451. __declspec(dllexport) RRegion(TInt aCount,TRect* aRectangleList,TInt aGran=EDefaultGranularity);
  452. __declspec(dllexport) void Close();
  453. __declspec(dllexport) void Destroy();
  454. inline TInt CheckSpare() const;
  455. private:
  456. TInt iGranularity;
  457. TRect* iRectangleList;
  458. friend class TRegion;
  459. };
  460. #line 2744
  461. template <TInt S>
  462. class RRegionBuf : public RRegion
  463. {
  464. public:
  465. inline RRegionBuf();
  466. inline RRegionBuf(const RRegion& aRegion);
  467. inline RRegionBuf(const RRegionBuf<S>& aRegion);
  468. inline RRegionBuf(const TRect& aRect);
  469. private:
  470. TInt8 iRectangleBuf[S*sizeof(TRect)];
  471. };
  472. #line 2774
  473. template <TInt S>
  474. class TRegionFix : public TRegion
  475. {
  476. public:
  477. inline TRegionFix();
  478. inline TRegionFix(const TRect& aRect);
  479. inline TRegionFix(const TRegionFix<S>& aRegion);
  480. private:
  481. TInt8 iRectangleBuf[S*sizeof(TRect)];
  482. };
  483. #line 2806
  484. class TFindHandleBase
  485. {
  486. public:
  487. __declspec(dllexport) TFindHandleBase();
  488. __declspec(dllexport) TFindHandleBase(const TDesC& aMatch);
  489. __declspec(dllexport) void Find(const TDesC& aMatch);
  490. inline TInt Handle() const;
  491. protected:
  492. TInt NextObject(TFullName& aResult,TInt aObjectType);
  493. private:
  494. TInt iFindHandle;
  495. TInt iSpare1;
  496. TInt iSpare2;
  497. TInt iSpare3;
  498. TFullName iMatch;
  499. };
  500. #line 2859
  501. class TFindSemaphore : public TFindHandleBase
  502. {
  503. public:
  504. inline TFindSemaphore();
  505. inline TFindSemaphore(const TDesC& aMatch);
  506. __declspec(dllexport) TInt Next(TFullName& aResult);
  507. };
  508. #line 2895
  509. class TFindMutex : public TFindHandleBase
  510. {
  511. public:
  512. inline TFindMutex();
  513. inline TFindMutex(const TDesC& aMatch);
  514. __declspec(dllexport) TInt Next(TFullName& aResult);
  515. };
  516. #line 2922
  517. class TFindChunk : public TFindHandleBase
  518. {
  519. public:
  520. inline TFindChunk();
  521. inline TFindChunk(const TDesC& aMatch);
  522. __declspec(dllexport) TInt Next(TFullName& aResult);
  523. };
  524. #line 2952
  525. class TFindThread : public TFindHandleBase
  526. {
  527. public:
  528. inline TFindThread();
  529. inline TFindThread(const TDesC& aMatch);
  530. __declspec(dllexport) TInt Next(TFullName& aResult);
  531. };
  532. #line 2981
  533. class TFindProcess : public TFindHandleBase
  534. {
  535. public:
  536. inline TFindProcess();
  537. inline TFindProcess(const TDesC& aMatch);
  538. __declspec(dllexport) TInt Next(TFullName& aResult);
  539. };
  540. #line 3010
  541. class TFindLogicalDevice : public TFindHandleBase
  542. {
  543. public:
  544. inline TFindLogicalDevice();
  545. inline TFindLogicalDevice(const TDesC& aMatch);
  546. __declspec(dllexport) TInt Next(TFullName& aResult);
  547. };
  548. #line 3037
  549. class TFindPhysicalDevice : public TFindHandleBase
  550. {
  551. public:
  552. inline TFindPhysicalDevice();
  553. inline TFindPhysicalDevice(const TDesC& aMatch);
  554. __declspec(dllexport) TInt Next(TFullName& aResult);
  555. };
  556. #line 3065
  557. class TFindServer : public TFindHandleBase
  558. {
  559. public:
  560. inline TFindServer();
  561. inline TFindServer(const TDesC& aMatch);
  562. __declspec(dllexport) TInt Next(TFullName& aResult);
  563. };
  564. #line 3089
  565. class TFindLibrary : public TFindHandleBase
  566. {
  567. public:
  568. inline TFindLibrary();
  569. inline TFindLibrary(const TDesC& aMatch);
  570. __declspec(dllexport) TInt Next(TFullName& aResult);
  571. };
  572. #line 3114
  573. class RDevice : public RHandleBase
  574. {
  575. public:
  576. inline TInt Open(const TFindLogicalDevice& aFind,TOwnerType aType=EOwnerProcess);
  577. __declspec(dllexport) TInt Open(const TDesC& aName,TOwnerType aType=EOwnerProcess);
  578. __declspec(dllexport) void GetCaps(TDes8& aDes) const;
  579. __declspec(dllexport) TBool QueryVersionSupported(const TVersion& aVer) const;
  580. __declspec(dllexport) TBool IsAvailable(TInt aUnit, const TDesC* aPhysicalDevice, const TDesC8* anInfo) const;
  581. };
  582. #line 3154
  583. class RTimer : public RHandleBase
  584. {
  585. public:
  586. __declspec(dllexport) TInt CreateLocal();
  587. __declspec(dllexport) void Cancel();
  588. __declspec(dllexport) void After(TRequestStatus& aStatus,TTimeIntervalMicroSeconds32 anInterval);
  589. __declspec(dllexport) void AfterTicks(TRequestStatus &aStatus, TInt aTicks);
  590. __declspec(dllexport) void At(TRequestStatus& aStatus,const TTime& aTime);
  591. __declspec(dllexport) void AtUTC(TRequestStatus& aStatus,const TTime& aUTCTime);
  592. __declspec(dllexport) void Lock(TRequestStatus& aStatus,TTimerLockSpec aLock);
  593. __declspec(dllexport) void Inactivity(TRequestStatus& aStatus, TTimeIntervalSeconds aSeconds);
  594. __declspec(dllexport) void HighRes(TRequestStatus& aStatus,TTimeIntervalMicroSeconds32 anInterval);
  595. };
  596. #line 3179
  597. class RLibrary : public RHandleBase
  598. {
  599. public:
  600. __declspec(dllexport) void Close();
  601. __declspec(dllexport) TInt Load(const TDesC& aFileName, const TUidType& aType);
  602. __declspec(dllexport) TInt Load(const TDesC& aFileName, const TDesC& aPath=KNullDesC);
  603. __declspec(dllexport) TInt Load(const TDesC& aFileName, const TDesC& aPath, const TUidType& aType);
  604. __declspec(dllexport) TInt Load(const TDesC& aFileName, const TDesC& aPath, const TUidType& aType, TUint32 aModuleVersion);
  605. __declspec(dllexport) TInt LoadRomLibrary(const TDesC& aFileName, const TDesC& aPath);
  606. __declspec(dllexport) TLibraryFunction Lookup(TInt anOrdinal) const;
  607. __declspec(dllexport) TUidType Type() const;
  608. __declspec(dllexport) TFileName FileName() const;
  609. __declspec(dllexport) TInt GetRamSizes(TInt& aCodeSize, TInt& aConstDataSize);
  610. __declspec(dllexport) TInt Init();
  611. public:
  612. struct TInfo
  613. {
  614. TUint32 iModuleVersion;
  615. TUidType iUids;
  616. TSecurityInfo iSecurityInfo;
  617. };
  618. struct TInfoV2 : public TInfo
  619. {
  620. TUint8 iHardwareFloatingPoint;
  621. TUint8 iSpare[7];
  622. };
  623. typedef TPckgBuf<TInfo> TInfoBuf;
  624. typedef TPckgBuf<TInfoV2> TInfoBufV2;
  625. enum TRequiredImageHeaderSize
  626. {
  627. KRequiredImageHeaderSize = KMaxTInt
  628. };
  629. __declspec(dllexport) static TInt GetInfoFromHeader(const TDesC8& aHeader, TDes8& aInfoBuf);
  630. struct SInfo
  631. {
  632. TUint32 iModuleVersion;
  633. TUidType iUids;
  634. SSecurityInfo iS;
  635. };
  636. typedef TPckgBuf<SInfo> SInfoBuf;
  637. __declspec(dllexport) static TInt GetInfo(const TDesC& aFileName, TDes8& aInfoBuf);
  638. private:
  639. TInt InitL();
  640. };
  641. #line 3292
  642. class RCriticalSection : private RSemaphore
  643. {
  644. public:
  645. __declspec(dllexport) RCriticalSection();
  646. __declspec(dllexport) TInt CreateLocal(TOwnerType aType=EOwnerProcess);
  647. __declspec(dllexport) void Close();
  648. __declspec(dllexport) void Wait();
  649. __declspec(dllexport) void Signal();
  650. inline TBool IsBlocked() const;
  651. private:
  652. TInt iBlocked;
  653. };
  654. #line 3320
  655. class RMutex : public RHandleBase
  656. {
  657. public:
  658. inline TInt Open(const TFindMutex& aFind,TOwnerType aType=EOwnerProcess);
  659. __declspec(dllexport) TInt CreateLocal(TOwnerType aType=EOwnerProcess);
  660. __declspec(dllexport) TInt CreateGlobal(const TDesC& aName,TOwnerType aType=EOwnerProcess);
  661. __declspec(dllexport) TInt OpenGlobal(const TDesC& aName,TOwnerType aType=EOwnerProcess);
  662. __declspec(dllexport) TInt Open(RMessagePtr2 aMessage,TInt aParam,TOwnerType aType=EOwnerProcess);
  663. __declspec(dllexport) TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
  664. __declspec(dllexport) void Wait();
  665. __declspec(dllexport) void Signal();
  666. __declspec(dllexport) TBool IsHeld();
  667. };
  668. #line 3349
  669. class RCondVar : public RHandleBase
  670. {
  671. public:
  672. __declspec(dllexport) TInt CreateLocal(TOwnerType aType=EOwnerProcess);
  673. __declspec(dllexport) TInt CreateGlobal(const TDesC& aName, TOwnerType aType=EOwnerProcess);
  674. __declspec(dllexport) TInt OpenGlobal(const TDesC& aName, TOwnerType aType=EOwnerProcess);
  675. __declspec(dllexport) TInt Open(RMessagePtr2 aMessage, TInt aParam, TOwnerType aType=EOwnerProcess);
  676. __declspec(dllexport) TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
  677. __declspec(dllexport) TInt Wait(RMutex& aMutex);
  678. __declspec(dllexport) TInt TimedWait(RMutex& aMutex, TInt aTimeout);
  679. __declspec(dllexport) void Signal();
  680. __declspec(dllexport) void Broadcast();
  681. };
  682. class UserHeap;
  683. class TChunkCreate;
  684. #line 3375
  685. class RChunk : public RHandleBase
  686. {
  687. public:
  688. enum TAttribs
  689. {
  690. ENormal=0x00,
  691. EDoubleEnded=0x01,
  692. EDisconnected=0x02,
  693. ELocal=0x00,
  694. EGlobal=0x10,
  695. EData=0x00,
  696. ECode=0x20,
  697. };
  698. enum TRestrictions
  699. {
  700. EPreventAdjust = 0x01,
  701. };
  702. public:
  703. inline TInt Open(const TFindChunk& aFind,TOwnerType aType=EOwnerProcess);
  704. __declspec(dllexport) TInt CreateLocal(TInt aSize,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  705. __declspec(dllexport) TInt CreateLocalCode(TInt aSize,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  706. __declspec(dllexport) TInt CreateGlobal(const TDesC& aName,TInt aSize,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  707. __declspec(dllexport) TInt CreateDoubleEndedLocal(TInt aInitialBottom, TInt aInitialTop,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  708. __declspec(dllexport) TInt CreateDoubleEndedGlobal(const TDesC& aName,TInt aInitialBottom,TInt aInitialTop,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  709. __declspec(dllexport) TInt CreateDisconnectedLocal(TInt aInitialBottom, TInt aInitialTop,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  710. __declspec(dllexport) TInt CreateDisconnectedGlobal(const TDesC& aName,TInt aInitialBottom,TInt aInitialTop,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
  711. __declspec(dllexport) TInt Create(TUint aAtt, TInt aMaxSize, TInt aInitialBottom, TInt aInitialTop, const TDesC* aName, TOwnerType aType=EOwnerProcess);
  712. __declspec(dllexport) TInt SetRestrictions(TUint aFlags);
  713. __declspec(dllexport) TInt OpenGlobal(const TDesC& aName,TBool isReadOnly,TOwnerType aType=EOwnerProcess);
  714. __declspec(dllexport) TInt Open(RMessagePtr2 aMessage,TInt aParam,TBool isReadOnly,TOwnerType aType=EOwnerProcess);
  715. __declspec(dllexport) TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
  716. __declspec(dllexport) TInt Adjust(TInt aNewSize) const;
  717. __declspec(dllexport) TInt AdjustDoubleEnded(TInt aBottom, TInt aTop) const;
  718. __declspec(dllexport) TInt Commit(TInt anOffset, TInt aSize) const;
  719. __declspec(dllexport) TInt Allocate(TInt aSize) const;
  720. __declspec(dllexport) TInt Decommit(TInt anOffset, TInt aSize) const;
  721. __declspec(dllexport) TUint8* Base() const;
  722. __declspec(dllexport) TInt Size() const;
  723. __declspec(dllexport) TInt Bottom() const;
  724. __declspec(dllexport) TInt Top() const;
  725. __declspec(dllexport) TInt MaxSize() const;
  726. inline TBool IsReadable() const;
  727. inline TBool IsWritable() const;
  728. private:
  729. friend class UserHeap;
  730. };
  731. struct SStdEpocThreadCreateInfo;
  732. #line 3445
  733. class UserHeap
  734. {
  735. public:
  736. enum TChunkHeapCreateMode {EChunkHeapSwitchTo=1, EChunkHeapDuplicate=2};
  737. __declspec(dllexport) static RHeap* FixedHeap(TAny* aBase, TInt aMaxLength, TInt aAlign=0, TBool aSingleThread=ETrue);
  738. __declspec(dllexport) static RHeap* ChunkHeap(const TDesC* aName, TInt aMinLength, TInt aMaxLength, TInt aGrowBy=1, TInt aAlign=0, TBool aSingleThread=EFalse);
  739. __declspec(dllexport) static RHeap* ChunkHeap(RChunk aChunk, TInt aMinLength, TInt aGrowBy=1, TInt aMaxLength=0, TInt aAlign=0, TBool aSingleThread=EFalse, TUint32 aMode=0);
  740. __declspec(dllexport) static TInt SetupThreadHeap(TBool aNotFirst, SStdEpocThreadCreateInfo& aInfo);
  741. __declspec(dllexport) static TInt CreateThreadHeap(SStdEpocThreadCreateInfo& aInfo, RHeap*& aHeap, TInt aAlign=0, TBool aSingleThread=EFalse);
  742. };
  743. #line 3465
  744. class TObjectId
  745. {
  746. public:
  747. inline TObjectId();
  748. inline TObjectId(TUint64 anId);
  749. inline TUint64 Id() const;
  750. inline operator TUint() const;
  751. inline TBool operator==(TObjectId aId) const;
  752. inline TBool operator!=(TObjectId aId) const;
  753. private:
  754. TUint64 iId;
  755. };
  756. #line 3493
  757. class TThreadId : public TObjectId
  758. {
  759. public:
  760. inline TThreadId();
  761. inline TThreadId(TUint64 anId);
  762. };
  763. class RProcess;
  764. #line 3514
  765. class RThread : public RHandleBase
  766. {
  767. public:
  768. inline RThread();
  769. __declspec(dllexport) TInt Create(const TDesC& aName, TThreadFunction aFunction, TInt aStackSize, TInt aHeapMinSize, TInt aHeapMaxSize, TAny *aPtr, TOwnerType aType=EOwnerProcess);
  770. __declspec(dllexport) TInt Create(const TDesC& aName, TThreadFunction aFunction, TInt aStackSize, RAllocator* aHeap, TAny* aPtr, TOwnerType aType=EOwnerProcess);
  771. __declspec(dllexport) TInt Open(const TDesC& aFullName, TOwnerType aType=EOwnerProcess);
  772. __declspec(dllexport) TInt Open(TThreadId aID, TOwnerType aType=EOwnerProcess);
  773. __declspec(dllexport) TThreadId Id() const;
  774. __declspec(dllexport) void Resume() const;
  775. __declspec(dllexport) void Suspend() const;
  776. inline static TInt RenameMe(const TDesC& aName);
  777. __declspec(dllexport) void Kill(TInt aReason);
  778. __declspec(dllexport) void Terminate(TInt aReason);
  779. __declspec(dllexport) void Panic(const TDesC& aCategory,TInt aReason);
  780. __declspec(dllexport) TInt Process(RProcess& aProcess) const;
  781. __declspec(dllexport) TThreadPriority Priority() const;
  782. __declspec(dllexport) void SetPriority(TThreadPriority aPriority) const;
  783. __declspec(dllexport) TProcessPriority ProcessPriority() const;
  784. __declspec(dllexport) void SetProcessPriority(TProcessPriority aPriority) const;
  785. __declspec(dllexport) TInt RequestCount() const;
  786. __declspec(dllexport) TExitType ExitType() const;
  787. __declspec(dllexport) TInt ExitReason() const;
  788. __declspec(dllexport) TExitCategoryName ExitCategory() const;
  789. __declspec(dllexport) void RequestComplete(TRequestStatus*& aStatus,TInt aReason) const;
  790. __declspec(dllexport) void RequestSignal() const;
  791. __declspec(dllexport) void Logon(TRequestStatus& aStatus) const;
  792. __declspec(dllexport) TInt LogonCancel(TRequestStatus& aStatus) const;
  793. __declspec(dllexport) void HandleCount(TInt& aProcessHandleCount, TInt& aThreadHandleCount) const;
  794. __declspec(dllexport) void Context(TDes8& aDes) const;
  795. __declspec(dllexport) TInt StackInfo(TThreadStackInfo& aInfo) const;
  796. __declspec(dllexport) TInt GetCpuTime(TTimeIntervalMicroSeconds& aCpuTime) const;
  797. inline TInt Open(const TFindThread& aFind,TOwnerType aType=EOwnerProcess);
  798. __declspec(dllexport) void Rendezvous(TRequestStatus& aStatus) const;
  799. __declspec(dllexport) TInt RendezvousCancel(TRequestStatus& aStatus) const;
  800. __declspec(dllexport) static void Rendezvous(TInt aReason);
  801. #line 3588
  802. __declspec(dllexport) TSecureId SecureId() const;
  803. #line 3622
  804. __declspec(dllexport) TVendorId VendorId() const;
  805. #line 3642
  806. inline TBool HasCapability(TCapability aCapability, const char* aDiagnostic=0) const;
  807. #line 3671
  808. inline TBool HasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic=0) const;
  809. #line 3686
  810. inline TInt Create(const TDesC& aName,TThreadFunction aFunction,TInt aStackSize,TAny* aPtr,RLibrary* aLibrary,RHeap* aHeap, TInt aHeapMinSize,TInt aHeapMaxSize,TOwnerType aType);
  811. private:
  812. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability, const char* aDiagnostic) const;
  813. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability) const;
  814. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic) const;
  815. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability1, TCapability aCapability2) const;
  816. };
  817. inline TInt RThread::Create(const TDesC& ,TThreadFunction ,TInt ,TAny* ,RLibrary* ,RHeap* , TInt ,TInt ,TOwnerType )
  818. {return KErrNotSupported; }
  819. #line 3717
  820. class TProcessId : public TObjectId
  821. {
  822. public:
  823. inline TProcessId();
  824. inline TProcessId(TUint64 anId);
  825. };
  826. class RSubSessionBase;
  827. #line 3737
  828. class RProcess : public RHandleBase
  829. {
  830. public:
  831. inline RProcess();
  832. __declspec(dllexport) TInt Create(const TDesC& aFileName,const TDesC& aCommand,TOwnerType aType=EOwnerProcess);
  833. __declspec(dllexport) TInt Create(const TDesC& aFileName,const TDesC& aCommand,const TUidType &aUidType, TOwnerType aType=EOwnerProcess);
  834. __declspec(dllexport) TInt Open(const TDesC& aName,TOwnerType aType=EOwnerProcess);
  835. __declspec(dllexport) TInt Open(TProcessId aId,TOwnerType aType=EOwnerProcess);
  836. __declspec(dllexport) TUidType Type() const;
  837. __declspec(dllexport) TProcessId Id() const;
  838. inline static TInt RenameMe(const TDesC& aName);
  839. __declspec(dllexport) void Kill(TInt aReason);
  840. __declspec(dllexport) void Terminate(TInt aReason);
  841. __declspec(dllexport) void Panic(const TDesC& aCategory,TInt aReason);
  842. __declspec(dllexport) void Resume();
  843. __declspec(dllexport) TFileName FileName() const;
  844. __declspec(dllexport) TExitType ExitType() const;
  845. __declspec(dllexport) TInt ExitReason() const;
  846. __declspec(dllexport) TExitCategoryName ExitCategory() const;
  847. __declspec(dllexport) TProcessPriority Priority() const;
  848. __declspec(dllexport) void SetPriority(TProcessPriority aPriority) const;
  849.     __declspec(dllexport) TBool JustInTime() const;
  850.     __declspec(dllexport) void SetJustInTime(TBool aBoolean) const;
  851. __declspec(dllexport) void Logon(TRequestStatus& aStatus) const;
  852. __declspec(dllexport) TInt LogonCancel(TRequestStatus& aStatus) const;
  853. __declspec(dllexport) TInt GetMemoryInfo(TModuleMemoryInfo& aInfo) const;
  854. inline TInt Open(const TFindProcess& aFind,TOwnerType aType=EOwnerProcess);
  855. __declspec(dllexport) void Rendezvous(TRequestStatus& aStatus) const;
  856. __declspec(dllexport) TInt RendezvousCancel(TRequestStatus& aStatus) const;
  857. __declspec(dllexport) static void Rendezvous(TInt aReason);
  858. #line 3805
  859. __declspec(dllexport) TSecureId SecureId() const;
  860. #line 3839
  861. __declspec(dllexport) TVendorId VendorId() const;
  862. #line 3859
  863. inline TBool HasCapability(TCapability aCapability, const char* aDiagnostic=0) const;
  864. #line 3888
  865. inline TBool HasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic=0) const;
  866. #line 3898
  867. __declspec(dllexport) TInt SetParameter(TInt aIndex,  RHandleBase aHandle);
  868. __declspec(dllexport) TInt SetParameter(TInt aSlot, const RSubSessionBase& aSession);
  869. __declspec(dllexport) TInt SetParameter(TInt aSlot, const TDesC16& aDes);
  870. __declspec(dllexport) TInt SetParameter(TInt aSlot, const TDesC8& aDes);
  871. __declspec(dllexport) TInt SetParameter(TInt aSlot, TInt aData);
  872. inline RProcess(TInt aHandle);
  873. inline TUid Identity() const { return SecureId(); }
  874. enum TSecureApi { ESecureApiOff, ESecureApiOn, ESecureApiQuery };
  875. __declspec(dllexport) TInt SecureApi(TInt aState);
  876. enum TDataCaging { EDataCagingOff, EDataCagingOn, EDataCagingQuery};
  877. __declspec(dllexport) TInt DataCaging(TInt aState);
  878. private:
  879. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability, const char* aDiagnostic) const;
  880. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability) const;
  881. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic) const;
  882. __declspec(dllexport) TBool DoHasCapability(TCapability aCapability1, TCapability aCapability2) const;
  883. };
  884. #line 3957
  885. class RServer2 : public RHandleBase
  886. {
  887. public:
  888. __declspec(dllexport) TInt CreateGlobal(const TDesC& aName);
  889. __declspec(dllexport) TInt CreateGlobal(const TDesC& aName, TInt aMode);
  890. __declspec(dllexport) void Receive(RMessage2& aMessage,TRequestStatus& aStatus);
  891. __declspec(dllexport) void Receive(RMessage2& aMessage);
  892. __declspec(dllexport) void Cancel();
  893. };
  894. #line 3982
  895. class RSessionBase : public RHandleBase
  896. {
  897. friend class RSubSessionBase;
  898. public:
  899. enum TAttachMode {EExplicitAttach,EAutoAttach};
  900. public:
  901. #line 4011
  902. inline TInt ShareAuto() { return DoShare(EAutoAttach); }
  903. #line 4033
  904. inline TInt ShareProtected() { return DoShare(EAutoAttach|KCreateProtectedObject); }
  905. __declspec(dllexport) TInt Open(RMessagePtr2 aMessage,TInt aParam,TOwnerType aType=EOwnerProcess);
  906. __declspec(dllexport) TInt Open(RMessagePtr2 aMessage,TInt aParam,const TSecurityPolicy& aServerPolicy,TOwnerType aType=EOwnerProcess);
  907. __declspec(dllexport) TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
  908. __declspec(dllexport) TInt Open(TInt aArgumentIndex, const TSecurityPolicy& aServerPolicy, TOwnerType aType=EOwnerProcess);
  909. inline TInt SetReturnedHandle(TInt aHandleOrError);
  910. __declspec(dllexport) TInt SetReturnedHandle(TInt aHandleOrError,const TSecurityPolicy& aServerPolicy);
  911. protected:
  912. inline TInt CreateSession(const TDesC& aServer,const TVersion& aVersion);
  913. __declspec(dllexport) TInt CreateSession(const TDesC& aServer,const TVersion& aVersion,TInt aAsyncMessageSlots);
  914. __declspec(dllexport) TInt CreateSession(const TDesC& aServer,const TVersion& aVersion,TInt aAsyncMessageSlots,TIpcSessionType aType,const TSecurityPolicy* aPolicy=0, TRequestStatus* aStatus=0);
  915. inline TInt CreateSession(RServer2 aServer,const TVersion& aVersion);
  916. __declspec(dllexport) TInt CreateSession(RServer2 aServer,const TVersion& aVersion,TInt aAsyncMessageSlots);
  917. __declspec(dllexport) TInt CreateSession(RServer2 aServer,const TVersion& aVersion,TInt aAsyncMessageSlots,TIpcSessionType aType,const TSecurityPolicy* aPolicy=0, TRequestStatus* aStatus=0);
  918. inline static TInt SetReturnedHandle(TInt aHandleOrError,RHandleBase& aHandle);
  919. inline TInt CreateSession(const TDesC& aServer,const TVersion& aVersion,TInt aAsyncMessageSlots,TRequestStatus* aStatus)
  920. { return CreateSession(aServer, aVersion, aAsyncMessageSlots, EIpcSession_Unsharable, (TSecurityPolicy*)0, aStatus); }
  921. inline TInt Send(TInt aFunction,const TIpcArgs& aArgs) const;
  922. inline void SendReceive(TInt aFunction,const TIpcArgs& aArgs,TRequestStatus& aStatus) const;
  923. inline TInt SendReceive(TInt aFunction,const TIpcArgs& aArgs) const;
  924. inline TInt Send(TInt aFunction) const;
  925. inline void SendReceive(TInt aFunction,TRequestStatus& aStatus) const;
  926. inline TInt SendReceive(TInt aFunction) const;
  927. private:
  928. __declspec(dllexport) TInt DoSend(TInt aFunction,const TIpcArgs* aArgs) const;
  929. __declspec(dllexport) void DoSendReceive(TInt aFunction,const TIpcArgs* aArgs,TRequestStatus& aStatus) const;
  930. __declspec(dllexport) TInt DoSendReceive(TInt aFunction,const TIpcArgs* aArgs) const;
  931. TInt SendAsync(TInt aFunction,const TIpcArgs* aArgs,TRequestStatus* aStatus) const;
  932. TInt SendSync(TInt aFunction,const TIpcArgs* aArgs) const;
  933. __declspec(dllexport) TInt DoShare(TInt aAttachMode);
  934. TInt DoConnect(const TVersion &aVersion,TRequestStatus* aStatus);
  935. };
  936. #line 4096
  937. class RSubSessionBase
  938. {
  939. public:
  940. inline TInt SubSessionHandle() const;
  941. protected:
  942. inline RSubSessionBase();
  943. __declspec(dllexport) const RSessionBase Session() const;
  944. inline TInt CreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs);
  945. inline TInt CreateSubSession(const RSessionBase& aSession,TInt aFunction);
  946. __declspec(dllexport) TInt CreateAutoCloseSubSession(RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs);
  947. __declspec(dllexport) void CloseSubSession(TInt aFunction);
  948. inline TInt Send(TInt aFunction,const TIpcArgs& aArgs) const;
  949. inline void SendReceive(TInt aFunction,const TIpcArgs& aArgs,TRequestStatus& aStatus) const;
  950. inline TInt SendReceive(TInt aFunction,const TIpcArgs& aArgs) const;
  951. inline TInt Send(TInt aFunction) const;
  952. inline void SendReceive(TInt aFunction,TRequestStatus& aStatus) const;
  953. inline TInt SendReceive(TInt aFunction) const;
  954. private:
  955. __declspec(dllexport) TInt DoCreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs* aArgs);
  956. __declspec(dllexport) TInt DoSend(TInt aFunction,const TIpcArgs* aArgs) const;
  957. __declspec(dllexport) void DoSendReceive(TInt aFunction,const TIpcArgs* aArgs,TRequestStatus& aStatus) const;
  958. __declspec(dllexport) TInt DoSendReceive(TInt aFunction,const TIpcArgs* aArgs) const;
  959. TInt DoCreateSubSession(RSessionBase& aSession,TInt aFunction,const TIpcArgs* aArgs, TBool aAutoClose);
  960. private:
  961. RSessionBase iSession;
  962. TInt iSubSessionHandle;
  963. };
  964. #line 4136
  965. class RRefBase
  966. {
  967. public:
  968. __declspec(dllexport) void Free();
  969. protected:
  970. inline RRefBase();
  971. inline RRefBase(const RRefBase& aRef);
  972. __declspec(dllexport) void DoAlloc(const TAny* aPtr,TInt aSize);
  973. __declspec(dllexport) void DoAllocL(const TAny* aPtr,TInt aSize);
  974. __declspec(dllexport) void Copy(const RRefBase& aRef);
  975. private:
  976. __declspec(dllexport) void operator=(const RRefBase& aRef);
  977. protected:
  978. TInt* iPtr;
  979. };
  980. #line 4166
  981. template <class T>
  982. class RRef : public RRefBase
  983. {
  984. public:
  985. inline RRef();
  986. inline RRef(const RRef<T>& anObject);
  987. inline void operator=(const RRef<T>& anObject);
  988. inline T* operator->();
  989. inline operator T*();
  990. inline void Alloc(const T& anObject);
  991. inline void Alloc(const T& anObject,TInt aSize);
  992. inline void AllocL(const T& anObject);
  993. inline void AllocL(const T& anObject,TInt aSize);
  994. };
  995. #line 4192
  996. class RChangeNotifier : public RHandleBase
  997. {
  998. public:
  999. __declspec(dllexport) TInt Create();
  1000. __declspec(dllexport) TInt Logon(TRequestStatus& aStatus) const;
  1001. __declspec(dllexport) TInt LogonCancel() const;
  1002. };
  1003. #line 4213
  1004. class RUndertaker : public RHandleBase
  1005. {
  1006. public:
  1007. __declspec(dllexport) TInt Create();
  1008. __declspec(dllexport) TInt Logon(TRequestStatus& aStatus,TInt& aThreadHandle) const;
  1009. __declspec(dllexport) TInt LogonCancel() const;
  1010. };
  1011. class HBufC16;
  1012. #line 4236
  1013. class RNotifier : public RSessionBase
  1014. {
  1015. public:
  1016. __declspec(dllexport) RNotifier();
  1017. __declspec(dllexport) TInt Connect();
  1018. __declspec(dllexport) void Close();
  1019. __declspec(dllexport) TInt StartNotifier(TUid aNotifierUid,const TDesC8& aBuffer);
  1020. __declspec(dllexport) TInt StartNotifier(TUid aNotifierUid,const TDesC8& aBuffer,TDes8& aResponse);
  1021. __declspec(dllexport) TInt StartNotifier(TUid aNotifierDllUid,TUid aNotifierUid,const TDesC8& aBuffer,TDes8& aResponse);
  1022. __declspec(dllexport) TInt CancelNotifier(TUid aNotifierUid);
  1023. __declspec(dllexport) TInt UpdateNotifier(TUid aNotifierUid,const TDesC8& aBuffer,TDes8& aResponse);
  1024. __declspec(dllexport) void UpdateNotifierAndGetResponse(TRequestStatus& aRs,TUid aNotifierUid,const TDesC8& aBuffer,TDes8& aResponse);
  1025. __declspec(dllexport) void StartNotifierAndGetResponse(TRequestStatus& aRs,TUid aNotifierUid,const TDesC8& aBuffer,TDes8& aResponse);
  1026. __declspec(dllexport) void StartNotifierAndGetResponse(TRequestStatus& aRs,TUid aNotifierDllUid,TUid aNotifierUid,const TDesC8& aBuffer,TDes8& aResponse);
  1027. __declspec(dllexport) TInt UnloadNotifiers(TUid aNotifierUid);
  1028. __declspec(dllexport) TInt LoadNotifiers(TUid aNotifierUid);
  1029. __declspec(dllexport) void Notify(const TDesC& aLine1,const TDesC& aLine2,const TDesC& aBut1,const TDesC& aBut2,TInt& aButtonVal,TRequestStatus& aStatus);
  1030. __declspec(dllexport) void NotifyCancel();
  1031. __declspec(dllexport) TInt InfoPrint(const TDesC& aDes);
  1032. private:
  1033. TPtr8 iButtonVal;
  1034. HBufC16* iCombinedBuffer;
  1035. };
  1036. #line 4270
  1037. const TInt KMediaPasswordNotifyUid(0x10004c00);
  1038. enum TMediaPswdNotifyExitMode {EMPEMUnlock, EMPEMCancel, EMPEMUnlockAndStore};
  1039. struct TMediaPswdNotifyBase
  1040. {
  1041. enum TCardType {ECTMmcPassword} iCT;
  1042. TVersion iVersion;
  1043. };
  1044. struct TMediaPswdSendNotifyInfoV1 : public TMediaPswdNotifyBase
  1045. {
  1046. };
  1047. struct TMediaPswdSendNotifyInfoV1Debug : public TMediaPswdSendNotifyInfoV1
  1048. {
  1049. TInt iSleepPeriod;
  1050. TMediaPswdNotifyExitMode iEM;
  1051. TText8 iPW[KMaxMediaPassword];
  1052. };
  1053. struct TMediaPswdReplyNotifyInfoV1 : public TMediaPswdNotifyBase
  1054. {
  1055. TText8 iPW[KMaxMediaPassword];
  1056. TMediaPswdNotifyExitMode iEM;
  1057. };
  1058. #line 4325
  1059. class TTrapHandler
  1060. {
  1061. public:
  1062. __declspec(dllexport) TTrapHandler();
  1063. __declspec(dllexport) virtual void Trap()=0;
  1064. __declspec(dllexport) virtual void UnTrap()=0;
  1065. __declspec(dllexport) virtual void Leave(TInt aValue)=0;
  1066. };
  1067. struct TCollationMethod;
  1068. #line 4369
  1069. class Mem
  1070. {
  1071. public:
  1072. inline static TUint8* Copy(TAny* aTrg, const TAny* aSrc, TInt aLength);
  1073. inline static TUint8* Move(TAny* aTrg, const TAny* aSrc, TInt aLength);
  1074. inline static void Fill(TAny* aTrg, TInt aLength, TChar aChar);
  1075. inline static void FillZ(TAny* aTrg, TInt aLength);
  1076. inline static TInt Compare(const TUint8* aLeft, TInt aLeftL, const TUint8* aRight, TInt aRightL);
  1077. __declspec(dllexport) static TInt Compare(const TUint16* aLeft, TInt aLeftL, const TUint16* aRight, TInt aRightL);
  1078. __declspec(dllexport) static TInt CompareF(const TUint8* aLeft, TInt aLeftL, const TUint8* aRight, TInt aRightL);
  1079. __declspec(dllexport) static TInt CompareF(const TUint16* aLeft, TInt aLeftL, const TUint16* aRight, TInt aRightL);
  1080. __declspec(dllexport) static TInt CompareC(const TUint8* aLeft, TInt aLeftL, const TUint8* aRight, TInt aRightL);
  1081. __declspec(dllexport) static TInt CompareC(const TUint16* aLeft, TInt aLeftL, const TUint16* aRight, TInt aRightL);
  1082. __declspec(dllexport) static TInt CompareC(const TUint16* aLeft, TInt aLeftL, const TUint16* aRight, TInt aRightL,
  1083.   TInt aMaxLevel, const TCollationMethod* aCollationMethod);
  1084. __declspec(dllexport) static TInt CollationMethods();
  1085. __declspec(dllexport) static TUint CollationMethodId(TInt aIndex);
  1086. __declspec(dllexport) static const TCollationMethod* CollationMethodByIndex(TInt aIndex);
  1087. __declspec(dllexport) static const TCollationMethod* CollationMethodById(TUint aId);
  1088. __declspec(dllexport) static const TCollationMethod* GetDefaultMatchingTable();
  1089. __declspec(dllexport) static void Swap(TAny* aPtr1, TAny* aPtr2, TInt aLength);
  1090. __declspec(dllexport) static void Crc(TUint16& aCrc, const TAny* aPtr, TInt aLength);
  1091. __declspec(dllexport) static void Crc32(TUint32& aCrc, const TAny* aPtr, TInt aLength);
  1092. };
  1093. #line 4431
  1094. class User : public UserHeap
  1095.     {
  1096. public:
  1097. __declspec(dllexport) static void InitProcess();
  1098.     __declspec(dllexport) static void Exit(TInt aReason);
  1099.     __declspec(dllexport) static void Panic(const TDesC& aCategory,TInt aReason);
  1100.     __declspec(dllexport) static void HandleException(TAny* aInfo);
  1101.     __declspec(dllexport) static void Leave(TInt aReason);
  1102.     __declspec(dllexport) static void LeaveNoMemory();
  1103.     __declspec(dllexport) static TInt LeaveIfError(TInt aReason);
  1104.     __declspec(dllexport) static TAny* LeaveIfNull(TAny* aPtr);
  1105.     __declspec(dllexport) static TTrapHandler* SetTrapHandler(TTrapHandler* aHandler);
  1106.     __declspec(dllexport) static TTrapHandler* TrapHandler();
  1107.     __declspec(dllexport) static TTrapHandler* MarkCleanupStack();
  1108.     __declspec(dllexport) static void UnMarkCleanupStack(TTrapHandler* aHandler);
  1109. __declspec(dllexport) static void LeaveEnd();
  1110.     __declspec(dllexport) static TInt InfoPrint(const TDesC& aDes);
  1111.     __declspec(dllexport) static void RequestComplete(TRequestStatus*& aStatus,TInt aReason);
  1112.     __declspec(dllexport) static void WaitForAnyRequest();
  1113.     __declspec(dllexport) static void WaitForRequest(TRequestStatus& aStatus);
  1114.     __declspec(dllexport) static void WaitForRequest(TRequestStatus& aStatus1,TRequestStatus& aStatus2);
  1115.     __declspec(dllexport) static TInt AllocLen(const TAny* aCell);
  1116.     __declspec(dllexport) static TAny* Alloc(TInt aSize);
  1117.     __declspec(dllexport) static TAny* AllocL(TInt aSize);
  1118.     __declspec(dllexport) static TAny* AllocLC(TInt aSize);
  1119.     __declspec(dllexport) static TAny* AllocZ(TInt aSize);
  1120.     __declspec(dllexport) static TAny* AllocZL(TInt aSize);
  1121.     __declspec(dllexport) static TInt AllocSize(TInt& aTotalAllocSize);
  1122.     __declspec(dllexport) static TInt Available(TInt& aBiggestBlock);
  1123.     __declspec(dllexport) static TInt CountAllocCells();
  1124.     __declspec(dllexport) static TInt CountAllocCells(TInt& aFreeCount);
  1125.     __declspec(dllexport) static void Free(TAny* aCell);
  1126.     __declspec(dllexport) static void FreeZ(TAny*& aCell);
  1127.     __declspec(dllexport) static RAllocator& Allocator();
  1128.     inline static RHeap& Heap();
  1129.     __declspec(dllexport) static TAny* ReAlloc(TAny* aCell, TInt aSize, TInt aMode=0);
  1130.     __declspec(dllexport) static TAny* ReAllocL(TAny* aCell, TInt aSize, TInt aMode=0);
  1131.     __declspec(dllexport) static RAllocator* SwitchAllocator(RAllocator* aAllocator);
  1132. inline static RHeap* SwitchHeap(RAllocator* aHeap);
  1133. __declspec(dllexport) static TInt CompressAllHeaps();
  1134.     __declspec(dllexport) static void After(TTimeIntervalMicroSeconds32 aInterval);
  1135.     __declspec(dllexport) static TInt At(const TTime& aTime);
  1136.     __declspec(dllexport) static void AfterHighRes(TTimeIntervalMicroSeconds32 aInterval);
  1137.     __declspec(dllexport) static TInt SetHomeTime(const TTime& aTime);
  1138. __declspec(dllexport) static TInt SetUTCTime(const TTime& aUTCTime);
  1139. __declspec(dllexport) static TTimeIntervalSeconds UTCOffset();
  1140. __declspec(dllexport) static void SetUTCOffset(TTimeIntervalSeconds aOffset);
  1141. __declspec(dllexport) static TInt SetUTCTimeAndOffset(const TTime& aUTCTime, TTimeIntervalSeconds aOffset);
  1142.     __declspec(dllexport) static TInt SetCurrencySymbol(const TDesC& aSymbol);
  1143. __declspec(dllexport) static TUint TickCount();
  1144. __declspec(dllexport) static TUint32 NTickCount();
  1145. __declspec(dllexport) static TTimerLockSpec LockPeriod();
  1146. __declspec(dllexport) static TTimeIntervalSeconds InactivityTime();
  1147. __declspec(dllexport) static void ResetInactivityTime();
  1148. __declspec(dllexport) static TUint32 FastCounter();
  1149. __declspec(dllexport) static TInt LockedInc(TInt& aValue);
  1150. __declspec(dllexport) static TInt LockedDec(TInt& aValue);
  1151. __declspec(dllexport) static TInt SafeInc(TInt& aValue);
  1152. __declspec(dllexport) static TInt SafeDec(TInt& aValue);
  1153.     __declspec(dllexport) static TInt Beep(TInt aFrequency,TTimeIntervalMicroSeconds32 aDuration);
  1154.     __declspec(dllexport) static TInt IsRomAddress(TBool& aBool,TAny* aPtr);
  1155.     __declspec(dllexport) static TInt BinarySearch(TInt aCount,const TKey& aKey,TInt& aPos);
  1156.     __declspec(dllexport) static TInt QuickSort(TInt aCount,const TKey& aKey,const TSwap& aSwap);
  1157.     __declspec(dllexport) static TLanguage Language();
  1158.     __declspec(dllexport) static TUint Collate(TUint aChar);
  1159.     __declspec(dllexport) static TUint Fold(TUint aChar);
  1160.     __declspec(dllexport) static TUint LowerCase(TUint aChar);
  1161.     __declspec(dllexport) static TUint UpperCase(TUint aChar);
  1162. __declspec(dllexport) static TUint Fold(TUint aChar,TInt aFlags);
  1163. __declspec(dllexport) static TUint TitleCase(TUint aChar);
  1164.     __declspec(dllexport) static TInt StringLength(const TUint8* aString);
  1165.     __declspec(dllexport) static TInt StringLength(const TUint16* aString);
  1166.     __declspec(dllexport) static TInt FreeLogicalDevice(const TDesC& aDeviceName);
  1167. __declspec(dllexport) static TInt FreePhysicalDevice(const TDesC& aDriverName);
  1168.     __declspec(dllexport) static TInt LoadLogicalDevice(const TDesC& aFileName);
  1169.     __declspec(dllexport) static TInt LoadPhysicalDevice(const TDesC& aFileName);
  1170.     __declspec(dllexport) static TBool QueryVersionSupported(const TVersion& aCurrent,const TVersion& aRequested);
  1171.     __declspec(dllexport) static TVersion Version();
  1172.     __declspec(dllexport) static TInt SetMachineConfiguration(const TDesC8& aConfig);
  1173.     __declspec(dllexport) static TInt MachineConfiguration(TDes8& aConfig,TInt& aSize);
  1174.     __declspec(dllexport) static void SetDebugMask(TUint32 aVal);
  1175.     __declspec(dllexport) static void SetDebugMask(TUint32 aVal, TUint aIndex);
  1176.     __declspec(dllexport) static void SetJustInTime(const TBool aBoolean);
  1177.     __declspec(dllexport) static void Check();
  1178.     __declspec(dllexport) static void Invariant();
  1179.     __declspec(dllexport) static TBool JustInTime();
  1180.     __declspec(dllexport) static void __DbgMarkStart(TBool aKernel);
  1181.     __declspec(dllexport) static void __DbgMarkCheck(TBool aKernel, TBool aCountAll, TInt aCount, const TUint8* aFileName, TInt aLineNum);
  1182.     __declspec(dllexport) static TUint32 __DbgMarkEnd(TBool aKernel, TInt aCount);
  1183.     __declspec(dllexport) static void __DbgSetAllocFail(TBool aKernel, RAllocator::TAllocFail aFail, TInt aRate);
  1184. __declspec(dllexport) static void PanicUnexpectedLeave();
  1185.     __declspec(dllexport) static TInt ValidateName(const TDesC& aName);
  1186. __declspec(dllexport) static void IMB_Range(TAny* aStart, TAny* aEnd);
  1187. __declspec(dllexport) static TInt CommandLineLength();
  1188. __declspec(dllexport) static void CommandLine(TDes &aCommand);
  1189. __declspec(dllexport) static TExceptionHandler ExceptionHandler();
  1190. __declspec(dllexport) static TInt SetExceptionHandler(TExceptionHandler aHandler,TUint32 aMask);
  1191. __declspec(dllexport) static void ModifyExceptionMask(TUint32 aClearMask, TUint32 aSetMask);
  1192. __declspec(dllexport) static TInt RaiseException(TExcType aType);
  1193. __declspec(dllexport) static TBool IsExceptionHandled(TExcType aType);
  1194. enum TCritical {
  1195.                    ENotCritical,
  1196.                EProcessCritical,
  1197.                EProcessPermanent,
  1198.                EAllThreadsCritical,
  1199. #line 4594
  1200.                ESystemCritical,
  1201. #line 4605
  1202.                ESystemPermanent
  1203.                };
  1204. __declspec(dllexport) static TCritical Critical();
  1205. __declspec(dllexport) static TInt SetCritical(TCritical aCritical);
  1206. __declspec(dllexport) static TCritical ProcessCritical();
  1207. __declspec(dllexport) static TInt SetProcessCritical(TCritical aCritical);
  1208. __declspec(dllexport) static TBool PriorityControl();
  1209. __declspec(dllexport) static void SetPriorityControl(TBool aEnable);
  1210. __declspec(dllexport) static TSecureId CreatorSecureId();
  1211. __declspec(dllexport) static TVendorId CreatorVendorId();
  1212. #line 4648
  1213. inline static TBool CreatorHasCapability(TCapability aCapability, const char* aDiagnostic=0);
  1214. #line 4677
  1215. inline static TBool CreatorHasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic=0);
  1216. #line 4687
  1217. __declspec(dllexport) static TInt ParameterLength(TInt aSlot);
  1218. __declspec(dllexport) static TInt GetTIntParameter(TInt aSlot, TInt& aData);
  1219. __declspec(dllexport) static TInt GetDesParameter(TInt aSlot, TDes8& aDes);
  1220. __declspec(dllexport) static TInt GetDesParameter(TInt aSlot, TDes16& aDes);
  1221. __declspec(dllexport) static TInt RenameThread(const TDesC &aName);
  1222. __declspec(dllexport) static TInt RenameProcess(const TDesC &aName);
  1223. inline static TUid Identity() { return RProcess().SecureId(); }
  1224. static inline TUid CreatorIdentity() { return CreatorSecureId(); }
  1225. private:
  1226. __declspec(dllexport) static TBool DoCreatorHasCapability(TCapability aCapability, const char* aDiagnostic);
  1227. __declspec(dllexport) static TBool DoCreatorHasCapability(TCapability aCapability);
  1228. __declspec(dllexport) static TBool DoCreatorHasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic);
  1229. __declspec(dllexport) static TBool DoCreatorHasCapability(TCapability aCapability1, TCapability aCapability2);
  1230. };
  1231. class ExecHandler;
  1232. typedef void (*TTlsCleanupHandler)(TAny*);
  1233. class Dll
  1234. {
  1235. public:
  1236. static TInt SetTls(TAny* aPtr);
  1237. static TAny* Tls();
  1238. static void FreeTls();
  1239. static void FileName(TFileName &aFileName);
  1240. };
  1241. #line 4758
  1242. template <class T,TInt S>
  1243. class TFixedArray
  1244. {
  1245. typedef TFixedArray<T,S> ThisClass;
  1246. public:
  1247. inline TFixedArray();
  1248. inline TFixedArray(const T* aList, TInt aLength);
  1249. inline void Copy(const T* aList, TInt aLength);
  1250. inline void Reset();
  1251. inline void DeleteAll();
  1252. inline TInt Count() const;
  1253. inline TInt Length() const;
  1254. inline T& operator[](TInt aIndex);
  1255. inline const T& operator[] (TInt aIndex) const;
  1256. inline T& At(TInt aIndex);
  1257. inline const T& At(TInt aIndex) const;
  1258. inline T* Begin();
  1259. inline T* End();
  1260. inline const T* Begin() const;
  1261. inline const T* End() const;
  1262. inline TArray<T> Array() const;
  1263. protected:
  1264. inline static TBool InRange(TInt aIndex);
  1265. inline static TInt CountFunctionR(const CBase* aThis);
  1266. inline static const TAny* AtFunctionR(const CBase* aThis,TInt aIndex);
  1267. protected:
  1268. T iRep[S];
  1269. };
  1270. #line 4811
  1271. inline TAny* operator new(TUint aSize, TLeave);
  1272. inline TAny* operator new(TUint aSize, TLeave, TUint aExtraSize);
  1273. inline TAny* operator new[](TUint aSize, TLeave);
  1274. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\e32std.inl" /* stack depth 5 */
  1275. inline TAny* operator new(TUint aSize, TLeave)
  1276. {return User::AllocL(aSize);}
  1277. inline TAny* operator new(TUint aSize, TLeave, TUint aExtraSize)
  1278. {return User::AllocL(aSize + aExtraSize);}
  1279. inline TAny* operator new[](TUint aSize, TLeave)
  1280. {return User::AllocL(aSize);}
  1281. inline TUint8* Mem::Copy(TAny* aTrg, const TAny* aSrc, TInt aLength)
  1282. #line 41
  1283. { return (TUint8*)memmove(aTrg, aSrc, aLength) + aLength; }
  1284. inline TUint8* Mem::Move(TAny* aTrg, const TAny* aSrc, TInt aLength)
  1285. #line 70
  1286. { return (TUint8*)wordmove(aTrg, aSrc, aLength) + aLength; }
  1287. inline void Mem::Fill(TAny* aTrg, TInt aLength, TChar aChar)
  1288. #line 89
  1289. { memset(aTrg, (TInt)(aChar.operator TUint()), aLength); }
  1290. inline void Mem::FillZ(TAny* aTrg,TInt aLength)
  1291. #line 105
  1292. { memclr(aTrg, aLength); }
  1293. inline TInt Mem::Compare(const TUint8* aLeft, TInt aLeftL, const TUint8* aRight, TInt aRightL)
  1294. #line 140
  1295. { return memcompare(aLeft, aLeftL, aRight, aRightL); }
  1296. inline TInt RHeap::SetBrk(TInt aBrk)
  1297. { return ((RChunk*)&iChunkHandle)->Adjust(aBrk); }
  1298. inline void TChar::SetChar(TUint aChar)
  1299. {iChar=aChar;}
  1300. inline void TChar::Fold()
  1301. #line 181
  1302. {iChar=User::Fold(iChar);}
  1303. inline void TChar::LowerCase()
  1304. {iChar=User::LowerCase(iChar);}
  1305. inline void TChar::UpperCase()
  1306. {iChar=User::UpperCase(iChar);}
  1307. inline void TChar::Fold(TInt aFlags)
  1308. #line 224
  1309. {iChar=User::Fold(iChar,aFlags);}
  1310. inline void TChar::TitleCase()
  1311. {iChar=User::TitleCase(iChar);}
  1312. inline TBool TChar::Eos() const
  1313. {return(iChar==0);}
  1314. inline TCallBack::TCallBack()
  1315. {iFunction=0 ;}
  1316. inline TCallBack::TCallBack(TInt (*aFunction)(TAny *aPtr))
  1317. : iFunction(aFunction),iPtr(0 )
  1318. #line 277
  1319. {}
  1320. inline TCallBack::TCallBack(TInt (*aFunction)(TAny *aPtr),TAny *aPtr)
  1321. : iFunction(aFunction),iPtr(aPtr)
  1322. #line 294
  1323. {}
  1324. #line 313
  1325. inline TInt TCallBack::CallBack() const
  1326. { return (iFunction ? (*iFunction)(iPtr) : 0); }
  1327. template <class T>
  1328. inline TSglQue<T>::TSglQue()
  1329. #line 335
  1330. {}
  1331. template <class T>
  1332. inline TSglQue<T>::TSglQue(TInt aOffset)
  1333. : TSglQueBase(aOffset)
  1334. #line 354
  1335. {}
  1336. template <class T>
  1337. inline void TSglQue<T>::AddFirst(T &aRef)
  1338. #line 370
  1339. {DoAddFirst(&aRef);}
  1340. template <class T>
  1341. inline void TSglQue<T>::AddLast(T &aRef)
  1342. #line 387
  1343. {DoAddLast(&aRef);}
  1344. template <class T>
  1345. inline TBool TSglQue<T>::IsFirst(const T *aPtr) const
  1346. #line 402
  1347. {return(PtrAdd(aPtr,iOffset)==(T *)iHead);}
  1348. template <class T>
  1349. inline TBool TSglQue<T>::IsLast(const T *aPtr) const
  1350. #line 417
  1351. {return(PtrAdd(aPtr,iOffset)==(T *)iLast);}
  1352. template <class T>
  1353. inline T *TSglQue<T>::First() const
  1354. {return(PtrSub((T *)iHead,iOffset));}
  1355. template <class T>
  1356. inline T *TSglQue<T>::Last() const
  1357. {return(PtrSub((T *)iLast,iOffset));}
  1358. template <class T>
  1359. inline void TSglQue<T>::Remove(T &aRef)
  1360. #line 461
  1361. {DoRemove(&aRef);}
  1362. template <class T>
  1363. inline TDblQue<T>::TDblQue()
  1364. #line 482
  1365. {}
  1366. template <class T>
  1367. inline TDblQue<T>::TDblQue(TInt aOffset)
  1368. : TDblQueBase(aOffset)
  1369. #line 501
  1370. {}
  1371. template <class T>
  1372. inline void TDblQue<T>::AddFirst(T &aRef)
  1373. #line 517
  1374. {DoAddFirst(&aRef);}
  1375. template <class T>
  1376. inline void TDblQue<T>::AddLast(T &aRef)
  1377. #line 534
  1378. {DoAddLast(&aRef);}
  1379. template <class T>
  1380. inline TBool TDblQue<T>::IsHead(const T *aPtr) const
  1381. #line 554
  1382. {return(PtrAdd(aPtr,iOffset)==(T *)&iHead);}
  1383. template <class T>
  1384. inline TBool TDblQue<T>::IsFirst(const T *aPtr) const
  1385. {return(PtrAdd(aPtr,iOffset)==(T *)iHead.iNext);}
  1386. template <class T>
  1387. inline TBool TDblQue<T>::IsLast(const T *aPtr) const
  1388. {return(PtrAdd(aPtr,iOffset)==(T *)iHead.iPrev);}
  1389. template <class T>
  1390. inline T *TDblQue<T>::First() const
  1391. {
  1392. __DbgTestEmpty();
  1393.     return(PtrSub((T *)iHead.iNext,iOffset));
  1394.     }
  1395. template <class T>
  1396. inline T *TDblQue<T>::Last() const
  1397. {
  1398. __DbgTestEmpty();
  1399. return(PtrSub((T *)iHead.iPrev,iOffset));
  1400. }
  1401. template <class T>
  1402. inline TPriQue<T>::TPriQue()
  1403. #line 643
  1404. {}
  1405. template <class T>
  1406. inline TPriQue<T>::TPriQue(TInt aOffset)
  1407. : TDblQueBase(aOffset)
  1408. #line 660
  1409. {}
  1410. template <class T>
  1411. inline void TPriQue<T>::Add(T &aRef)
  1412. #line 675
  1413. {DoAddPriority(&aRef);}
  1414. template <class T>
  1415. inline TBool TPriQue<T>::IsHead(const T *aPtr) const
  1416. #line 695
  1417. {return(PtrAdd(aPtr,iOffset)==(T *)&iHead);}
  1418. template <class T>
  1419. inline TBool TPriQue<T>::IsFirst(const T *aPtr) const
  1420. #line 710
  1421. {return(PtrAdd(aPtr,iOffset)==(T *)iHead.iNext);}
  1422. template <class T>
  1423. inline TBool TPriQue<T>::IsLast(const T *aPtr) const
  1424. #line 725
  1425. {return(PtrAdd(aPtr,iOffset)==(T *)iHead.iPrev);}
  1426. template <class T>
  1427. inline T *TPriQue<T>::First() const
  1428. {return(PtrSub((T *)iHead.iNext,iOffset));}
  1429. template <class T>
  1430. inline T *TPriQue<T>::Last() const
  1431. {return(PtrSub((T *)iHead.iPrev,iOffset));}
  1432. template <class T>
  1433. inline TDeltaQue<T>::TDeltaQue()
  1434. #line 776
  1435. {}
  1436. template <class T>
  1437. inline TDeltaQue<T>::TDeltaQue(TInt aOffset)
  1438. : TDeltaQueBase(aOffset)
  1439. #line 797
  1440. {}
  1441. template <class T>
  1442. inline void TDeltaQue<T>::Add(T &aRef,TInt aDelta)
  1443. #line 815
  1444. {DoAddDelta(&aRef,aDelta);}
  1445. template <class T>
  1446. inline void TDeltaQue<T>::Remove(T &aRef)
  1447. #line 830
  1448. {DoRemove(&aRef);}
  1449. template <class T>
  1450. inline T *TDeltaQue<T>::RemoveFirst()
  1451. {return((T *) DoRemoveFirst());}
  1452. template <class T>
  1453. inline TSglQueIter<T>::TSglQueIter(TSglQueBase &aQue)
  1454. : TSglQueIterBase(aQue)
  1455. #line 871
  1456. {}
  1457. template <class T>
  1458. inline void TSglQueIter<T>::Set(T &aLink)
  1459. #line 887
  1460. {DoSet(&aLink);}
  1461. template <class T>
  1462. inline TSglQueIter<T>::operator T *()
  1463. #line 902
  1464. {return((T *)DoCurrent());}
  1465. template <class T>
  1466. inline T *TSglQueIter<T>::operator++(TInt)
  1467. #line 919
  1468. {return((T *)DoPostInc());}
  1469. template <class T>
  1470. inline TDblQueIter<T>::TDblQueIter(TDblQueBase &aQue)
  1471. : TDblQueIterBase(aQue)
  1472. #line 948
  1473. {}
  1474. template <class T>
  1475. inline void TDblQueIter<T>::Set(T &aLink)
  1476. #line 964
  1477. {DoSet(&aLink);}
  1478. template <class T>
  1479. inline TDblQueIter<T>::operator T *()
  1480. #line 985
  1481. {return((T *) DoCurrent());}
  1482. template <class T>
  1483. inline T *TDblQueIter<T>::operator++(TInt)
  1484. #line 1003
  1485. {return((T *) DoPostInc());}
  1486. template <class T>
  1487. inline T *TDblQueIter<T>::operator--(TInt)
  1488. #line 1021
  1489. {return((T *) DoPostDec());}
  1490. inline void TKey::SetPtr(const TAny *aPtr)
  1491. #line 1042
  1492. {iPtr=aPtr;}
  1493. inline TCharF::TCharF(TUint aChar)
  1494. : TChar(User::Fold(aChar))
  1495. {}
  1496. inline TCharF::TCharF(const TChar& aChar)
  1497. : TChar(User::Fold(aChar))
  1498. {}
  1499. inline TCharF& TCharF::operator=(TUint aChar)
  1500. {SetChar(User::Fold(aChar));return(*this);}
  1501. inline TCharF& TCharF::operator=(const TChar& aChar)
  1502. {SetChar(User::Fold(aChar));return(*this);}
  1503. inline TCharLC::TCharLC(TUint aChar)
  1504. : TChar(User::LowerCase(aChar))
  1505. {}
  1506. inline TCharLC::TCharLC(const TChar& aChar)
  1507. : TChar(User::LowerCase(aChar))
  1508. {}
  1509. inline TCharLC& TCharLC::operator=(TUint aChar)
  1510. {SetChar(User::LowerCase(aChar));return(*this);}
  1511. inline TCharLC& TCharLC::operator=(const TChar& aChar)
  1512. #line 1150
  1513. {SetChar(User::LowerCase(aChar));return(*this);}
  1514. inline TCharUC::TCharUC(TUint aChar)
  1515. : TChar(User::UpperCase(aChar))
  1516. {}
  1517. inline TCharUC::TCharUC(const TChar& aChar)
  1518. : TChar(User::UpperCase(aChar))
  1519. {}
  1520. inline TCharUC& TCharUC::operator=(TUint aChar)
  1521. {SetChar(User::UpperCase(aChar));return(*this);}
  1522. inline TCharUC& TCharUC::operator=(const TChar& aChar)
  1523. #line 1204
  1524. {SetChar(User::UpperCase(aChar));return(*this);}
  1525. inline TDateTime::TDateTime()
  1526. : iYear(1980),
  1527.   iMonth(EJanuary),
  1528.   iDay(1),
  1529.   iHour(0),
  1530.   iMinute(0),
  1531.   iSecond(0),
  1532.   iMicroSecond(0)
  1533. {}
  1534. inline TInt TDateTime::Year() const
  1535. {return(iYear);}
  1536. inline TMonth TDateTime::Month() const
  1537. {return(iMonth);}
  1538. inline TInt TDateTime::Day() const
  1539. {return(iDay);}
  1540. inline TInt TDateTime::Hour() const
  1541. {return(iHour);}
  1542. inline TInt TDateTime::Minute() const
  1543. {return(iMinute);}
  1544. inline TInt TDateTime::Second() const
  1545. {return(iSecond);}
  1546. inline TInt TDateTime::MicroSecond() const
  1547. {return(iMicroSecond);}
  1548. inline TTimeIntervalMicroSeconds::TTimeIntervalMicroSeconds()
  1549. {}
  1550. inline TTimeIntervalMicroSeconds::TTimeIntervalMicroSeconds(const TInt64& aInterval)
  1551. : iInterval(aInterval)
  1552. {}
  1553. inline TTimeIntervalMicroSeconds& TTimeIntervalMicroSeconds::operator=(const TInt64& aInterval)
  1554. {iInterval=aInterval;return(*this);}
  1555. inline TBool TTimeIntervalMicroSeconds::operator==(const TTimeIntervalMicroSeconds& aInterval) const
  1556. #line 1354
  1557. {return(iInterval==aInterval.iInterval);}
  1558. inline TBool TTimeIntervalMicroSeconds::operator!=(const TTimeIntervalMicroSeconds& aInterval) const
  1559. #line 1368
  1560. {return(iInterval!=aInterval.iInterval);}
  1561. inline TBool TTimeIntervalMicroSeconds::operator>=(const TTimeIntervalMicroSeconds& aInterval) const
  1562. #line 1383
  1563. {return(iInterval>=aInterval.iInterval);}
  1564. inline TBool TTimeIntervalMicroSeconds::operator<=(const TTimeIntervalMicroSeconds& aInterval) const
  1565. #line 1398
  1566. {return(iInterval<=aInterval.iInterval);}
  1567. inline TBool TTimeIntervalMicroSeconds::operator>(const TTimeIntervalMicroSeconds& aInterval) const
  1568. #line 1413
  1569. {return(iInterval>aInterval.iInterval);}
  1570. inline TBool TTimeIntervalMicroSeconds::operator<(const TTimeIntervalMicroSeconds& aInterval) const
  1571. #line 1428
  1572. {return(iInterval<aInterval.iInterval);}
  1573. inline const TInt64& TTimeIntervalMicroSeconds::Int64() const
  1574. {return(iInterval);}
  1575. inline TTimeIntervalBase::TTimeIntervalBase()
  1576. {}
  1577. inline TTimeIntervalBase::TTimeIntervalBase(TInt aInterval)
  1578. : iInterval(aInterval)
  1579. {}
  1580. inline TBool TTimeIntervalBase::operator==(TTimeIntervalBase aInterval) const
  1581. {return(iInterval==aInterval.iInterval);}
  1582. inline TBool TTimeIntervalBase::operator!=(TTimeIntervalBase aInterval) const
  1583. #line 1488
  1584. {return(iInterval!=aInterval.iInterval);}
  1585. inline TBool TTimeIntervalBase::operator>=(TTimeIntervalBase aInterval) const
  1586. #line 1503
  1587. {return(iInterval>=aInterval.iInterval);}
  1588. inline TBool TTimeIntervalBase::operator<=(TTimeIntervalBase aInterval) const
  1589. #line 1518
  1590. {return(iInterval<=aInterval.iInterval);}
  1591. inline TBool TTimeIntervalBase::operator>(TTimeIntervalBase aInterval) const
  1592. #line 1532
  1593. {return(iInterval>aInterval.iInterval);}
  1594. inline TBool TTimeIntervalBase::operator<(TTimeIntervalBase aInterval) const
  1595. #line 1546
  1596. {return(iInterval<aInterval.iInterval);}
  1597. inline TInt TTimeIntervalBase::Int() const
  1598. {return(iInterval);}
  1599. inline TTimeIntervalMicroSeconds32::TTimeIntervalMicroSeconds32()
  1600. {}
  1601. inline TTimeIntervalMicroSeconds32::TTimeIntervalMicroSeconds32(TInt aInterval)
  1602.     : TTimeIntervalBase(aInterval)
  1603. {}
  1604. inline TTimeIntervalMicroSeconds32& TTimeIntervalMicroSeconds32::operator=(TInt aInterval)
  1605. {iInterval=aInterval;return(*this);}
  1606. inline TTimeIntervalSeconds::TTimeIntervalSeconds()
  1607. {}
  1608. inline TTimeIntervalSeconds::TTimeIntervalSeconds(TInt aInterval)
  1609. : TTimeIntervalBase(aInterval)
  1610. {}
  1611. inline TTimeIntervalSeconds& TTimeIntervalSeconds::operator=(TInt aInterval)
  1612. {iInterval=aInterval;return(*this);}
  1613. inline TTimeIntervalMinutes::TTimeIntervalMinutes()
  1614. {}
  1615. inline TTimeIntervalMinutes::TTimeIntervalMinutes(TInt aInterval)
  1616. : TTimeIntervalBase(aInterval)
  1617. {}
  1618. inline TTimeIntervalMinutes& TTimeIntervalMinutes::operator=(TInt aInterval)
  1619. {iInterval=aInterval;return(*this);}
  1620. inline TTimeIntervalHours::TTimeIntervalHours()
  1621. {}
  1622. inline TTimeIntervalHours::TTimeIntervalHours(TInt aInterval)
  1623. : TTimeIntervalBase(aInterval)
  1624. {}
  1625. inline TTimeIntervalHours& TTimeIntervalHours::operator=(TInt aInterval)
  1626. {iInterval=aInterval;return(*this);}
  1627. inline TTimeIntervalDays::TTimeIntervalDays()
  1628. {}
  1629. inline TTimeIntervalDays::TTimeIntervalDays(TInt aInterval)
  1630. : TTimeIntervalBase(aInterval)
  1631. {}
  1632. inline TTimeIntervalDays& TTimeIntervalDays::operator=(TInt aInterval)
  1633. {iInterval=aInterval;return(*this);}
  1634. inline TTimeIntervalMonths::TTimeIntervalMonths()
  1635. {}
  1636. inline TTimeIntervalMonths::TTimeIntervalMonths(TInt aInterval)
  1637. : TTimeIntervalBase(aInterval)
  1638. {}
  1639. inline TTimeIntervalMonths& TTimeIntervalMonths::operator=(TInt aInterval)
  1640. {iInterval=aInterval;return(*this);}
  1641. inline TTimeIntervalYears::TTimeIntervalYears()
  1642. {}
  1643. inline TTimeIntervalYears::TTimeIntervalYears(TInt aInterval)
  1644. : TTimeIntervalBase(aInterval)
  1645. {}
  1646. inline TTimeIntervalYears& TTimeIntervalYears::operator=(TInt aInterval)
  1647. {iInterval=aInterval;return(*this);}
  1648. inline TTime::TTime()
  1649. {}
  1650. inline TTime::TTime(const TInt64& aTime)
  1651. : iTime(aTime)
  1652. {}
  1653. inline TTime &TTime::operator=(const TInt64& aTime)
  1654. {iTime=aTime;return(*this);}
  1655. inline TBool TTime::operator==(TTime aTime) const
  1656. {return(iTime==aTime.iTime);}
  1657. inline TBool TTime::operator!=(TTime aTime) const
  1658. {return(iTime!=aTime.iTime);}
  1659. inline TBool TTime::operator>=(TTime aTime) const
  1660. #line 1890
  1661. {return(iTime>=aTime.iTime);}
  1662. inline TBool TTime::operator<=(TTime aTime) const
  1663. #line 1905
  1664. {return(iTime<=aTime.iTime);}
  1665. inline TBool TTime::operator>(TTime aTime) const
  1666. #line 1919
  1667. {return(iTime>aTime.iTime);}
  1668. inline TBool TTime::operator<(TTime aTime) const
  1669. #line 1933
  1670. {return(iTime<aTime.iTime);}
  1671. inline const TInt64& TTime::Int64() const
  1672. {return(iTime);}
  1673. inline TLexMark8::TLexMark8()
  1674. : iPtr(0 )
  1675. {}
  1676. inline TLexMark8::TLexMark8(const TUint8 *aString)
  1677. : iPtr(aString)
  1678. {}
  1679. inline TLex8::TLex8(const TUint8 *aString)
  1680. #line 1977
  1681. {Assign(TPtrC8(aString));}
  1682. inline TLex8::TLex8(const TDesC8 &aDes)
  1683. #line 1991
  1684. {Assign(aDes);}
  1685. inline TLex8& TLex8::operator=(const TUint8* aString)
  1686. {Assign(TPtrC8(aString));return(*this);}
  1687. inline TLex8& TLex8::operator=(const TDesC8& aBuf)
  1688. {Assign(aBuf);return(*this);}
  1689. inline TBool TLex8::Eos() const
  1690. {return(iNext==iEnd);}
  1691. inline void TLex8::Mark()
  1692. {Mark(iMark);}
  1693. inline void TLex8::Mark(TLexMark8& aMark) const
  1694. {aMark.iPtr=iNext;}
  1695. inline void TLex8::UnGetToMark()
  1696.     {UnGetToMark(iMark);}
  1697. inline void TLex8::SkipAndMark(TInt aNumber)
  1698. #line 2074
  1699.     {SkipAndMark(aNumber,iMark);}
  1700. inline void TLex8::SkipSpaceAndMark()
  1701.     {SkipSpaceAndMark(iMark);}
  1702. inline TInt TLex8::TokenLength() const
  1703. #line 2100
  1704. {return(iNext-iMark.iPtr);}
  1705. inline TInt TLex8::MarkedOffset() const
  1706.     {return(iMark.iPtr-iBuf);}
  1707. inline TInt TLex8::Val(TInt &aVal)
  1708. #line 2129
  1709. {return(Val((TInt32&)aVal));}
  1710. inline TInt TLex8::Val(TUint &aVal,TRadix aRadix)
  1711. #line 2149
  1712. {return(Val((TUint32&)aVal,aRadix));}
  1713. inline void TLex8::Assign(const TLex8& aLex)
  1714. {new(this) TLex8(aLex);}
  1715. inline TLexMark16::TLexMark16()
  1716. : iPtr(0 )
  1717. {}
  1718. inline TLexMark16::TLexMark16(const TUint16 *aString)
  1719. : iPtr(aString)
  1720. {}
  1721. inline TLex16::TLex16(const TUint16 *aString)
  1722. #line 2193
  1723. {Assign(TPtrC16(aString));}
  1724. inline TLex16::TLex16(const TDesC16 &aDes)
  1725. #line 2207
  1726. {Assign(aDes);}
  1727. inline TLex16& TLex16::operator=(const TUint16* aString)
  1728. {Assign(TPtrC16(aString));return(*this);}
  1729. inline TLex16& TLex16::operator=(const TDesC16& aBuf)
  1730. {Assign(aBuf);return(*this);}
  1731. inline TBool TLex16::Eos() const
  1732. {return(iNext==iEnd);}
  1733. inline void TLex16::Mark(TLexMark16& aMark) const
  1734. {aMark.iPtr=iNext;}
  1735. inline void TLex16::Mark()
  1736. {iMark.iPtr=iNext;}
  1737. inline void TLex16::UnGetToMark()
  1738.     {UnGetToMark(iMark);}
  1739. inline void TLex16::SkipAndMark(TInt aNumber)
  1740. #line 2289
  1741.     {SkipAndMark(aNumber,iMark);}
  1742. inline void TLex16::SkipSpaceAndMark()
  1743.     {SkipSpaceAndMark(iMark);}
  1744. inline TInt TLex16::TokenLength() const
  1745. #line 2315
  1746. {return(iNext-iMark.iPtr);}
  1747. inline TInt TLex16::MarkedOffset() const
  1748.     {return(iMark.iPtr-iBuf);}
  1749. inline TInt TLex16::Val(TInt &aVal)
  1750. #line 2344
  1751. {return(Val((TInt32&)aVal));}
  1752. inline TInt TLex16::Val(TUint &aVal,TRadix aRadix)
  1753. #line 2364
  1754. {return(Val((TUint32&)aVal,aRadix));}
  1755. inline void TLex16::Assign(const TLex16& aLex)
  1756. {new(this) TLex16(aLex);}
  1757. inline TLocale::TLocale(TInt)
  1758. {}
  1759. inline TInt TLocale::CountryCode() const
  1760. #line 2393
  1761. {return(iCountryCode);}
  1762. inline void TLocale::SetCountryCode(TInt aCode)
  1763. #line 2410
  1764. {iCountryCode=aCode;}
  1765. inline TTimeIntervalSeconds TLocale::UniversalTimeOffset() const
  1766. #line 2426
  1767. {return(iUniversalTimeOffset);}
  1768. inline TDateFormat TLocale::DateFormat() const
  1769. {return(iDateFormat);}
  1770. inline void TLocale::SetDateFormat(TDateFormat aFormat)
  1771. {iDateFormat=aFormat;}
  1772. inline TTimeFormat TLocale::TimeFormat() const
  1773. {return(iTimeFormat);}
  1774. inline void TLocale::SetTimeFormat(TTimeFormat aFormat)
  1775. {iTimeFormat=aFormat;}
  1776. inline TLocalePos TLocale::CurrencySymbolPosition() const
  1777. #line 2486
  1778. {return(iCurrencySymbolPosition);}
  1779. inline void TLocale::SetCurrencySymbolPosition(TLocalePos aPos)
  1780. {iCurrencySymbolPosition=aPos;}
  1781. inline TBool TLocale::CurrencySpaceBetween() const
  1782. #line 2513
  1783. {return(iCurrencySpaceBetween);}
  1784. inline void TLocale::SetCurrencySpaceBetween(TBool aSpace)
  1785. {iCurrencySpaceBetween=aSpace;}
  1786. inline TInt TLocale::CurrencyDecimalPlaces() const
  1787. {return(iCurrencyDecimalPlaces);}
  1788. inline void TLocale::SetCurrencyDecimalPlaces(TInt aPlaces)
  1789. {iCurrencyDecimalPlaces=aPlaces;}
  1790. inline TBool TLocale::CurrencyNegativeInBrackets() const
  1791. #line 2567
  1792. {return((TBool)iNegativeCurrencyFormat);}
  1793. inline void TLocale::SetCurrencyNegativeInBrackets(TBool aBool)
  1794. #line 2587
  1795. {iNegativeCurrencyFormat=(aBool)?EInBrackets:ELeadingMinusSign;}
  1796. inline TBool TLocale::CurrencyTriadsAllowed() const
  1797. {return(iCurrencyTriadsAllowed);}
  1798. inline void TLocale::SetCurrencyTriadsAllowed(TBool aBool)
  1799. {iCurrencyTriadsAllowed=aBool;}
  1800. inline TChar TLocale::ThousandsSeparator() const
  1801. #line 2625
  1802. {return(iThousandsSeparator);}
  1803. inline void TLocale::SetThousandsSeparator(const TChar& aChar)
  1804. #line 2640
  1805. {iThousandsSeparator=aChar;}
  1806. inline TChar TLocale::DecimalSeparator() const
  1807. {return(iDecimalSeparator);}
  1808. inline void TLocale::SetDecimalSeparator(const TChar& aChar)
  1809. {iDecimalSeparator=aChar;}
  1810. inline TChar TLocale::DateSeparator(TInt aIndex) const
  1811. #line 2682
  1812. {return(iDateSeparator[aIndex]);}
  1813. inline void TLocale::SetDateSeparator(const TChar& aChar,TInt aIndex)
  1814. #line 2700
  1815. {(void)((aIndex>=0 && aIndex<KMaxDateSeparators)||(User::Invariant(),0)) ;
  1816. iDateSeparator[aIndex]=aChar;}
  1817. inline TChar TLocale::TimeSeparator(TInt aIndex) const
  1818. #line 2721
  1819. {return(iTimeSeparator[aIndex]);}
  1820. inline void TLocale::SetTimeSeparator(const TChar& aChar,TInt aIndex)
  1821. #line 2739
  1822. {(void)((aIndex>=0 && aIndex<KMaxTimeSeparators)||(User::Invariant(),0)) ;
  1823. iTimeSeparator[aIndex]=aChar;}
  1824. inline TLocalePos TLocale::AmPmSymbolPosition() const
  1825. {return(iAmPmSymbolPosition);}
  1826. inline void TLocale::SetAmPmSymbolPosition(TLocalePos aPos)
  1827. {iAmPmSymbolPosition=aPos;}
  1828. inline TBool TLocale::AmPmSpaceBetween() const
  1829. {return(iAmPmSpaceBetween);}
  1830. inline void TLocale::SetAmPmSpaceBetween(TBool aSpace)
  1831. {iAmPmSpaceBetween=aSpace;}
  1832. inline TUint TLocale::DaylightSaving() const
  1833. #line 2817
  1834. {return(iDaylightSaving);}
  1835. inline TBool TLocale::QueryHomeHasDaylightSavingOn() const
  1836. #line 2832
  1837. {return((iHomeDaylightSavingZone|EDstHome) & iDaylightSaving);}
  1838. inline TDaylightSavingZone TLocale::HomeDaylightSavingZone() const
  1839. {return(iHomeDaylightSavingZone);}
  1840. inline TUint TLocale::WorkDays() const
  1841. #line 2859
  1842. {return(iWorkDays);}
  1843. inline void TLocale::SetWorkDays(TUint aMask)
  1844. {iWorkDays=aMask;}
  1845. inline TDay TLocale::StartOfWeek() const
  1846. {return(iStartOfWeek);}
  1847. inline void TLocale::SetStartOfWeek(TDay aDay)
  1848. {iStartOfWeek=aDay;}
  1849. inline TClockFormat TLocale::ClockFormat() const
  1850. {return(iClockFormat);}
  1851. inline void TLocale::SetClockFormat(TClockFormat aFormat)
  1852. {iClockFormat=aFormat;}
  1853. inline TUnitsFormat TLocale::UnitsGeneral() const
  1854. #line 2930
  1855. {return(iUnitsGeneral);}
  1856. inline void TLocale::SetUnitsGeneral(TUnitsFormat aFormat)
  1857. {iUnitsGeneral=aFormat;}
  1858. inline TUnitsFormat TLocale::UnitsDistanceShort() const
  1859. #line 2957
  1860. {return(iUnitsDistanceShort);}
  1861. inline void TLocale::SetUnitsDistanceShort(TUnitsFormat aFormat)
  1862. #line 2971
  1863. {iUnitsDistanceShort=aFormat;}
  1864. inline TUnitsFormat TLocale::UnitsDistanceLong() const
  1865. #line 2985
  1866. {return(iUnitsDistanceLong);}
  1867. inline void TLocale::SetUnitsDistanceLong(TUnitsFormat aFormat)
  1868. #line 2999
  1869. {iUnitsDistanceLong=aFormat;}
  1870. inline void TLocale::SetNegativeCurrencyFormat(TLocale::TNegativeCurrencyFormat aNegativeCurrencyFormat)
  1871. {iNegativeCurrencyFormat = aNegativeCurrencyFormat;}
  1872. inline TLocale::TNegativeCurrencyFormat TLocale::NegativeCurrencyFormat() const
  1873. {return(iNegativeCurrencyFormat);}
  1874. inline TBool TLocale::NegativeLoseSpace() const
  1875. {
  1876. if((iExtraNegativeCurrencyFormatFlags|EFlagNegativeLoseSpace)==iExtraNegativeCurrencyFormatFlags)
  1877. return ETrue;
  1878. else
  1879. return EFalse;
  1880. }
  1881. inline void TLocale::SetNegativeLoseSpace(TBool aBool)
  1882. {
  1883. if(aBool)
  1884. iExtraNegativeCurrencyFormatFlags |= EFlagNegativeLoseSpace;
  1885. else
  1886. iExtraNegativeCurrencyFormatFlags &= ~EFlagNegativeLoseSpace;
  1887. }
  1888. inline TBool TLocale::NegativeCurrencySymbolOpposite() const
  1889. #line 3074
  1890. {
  1891. if((iExtraNegativeCurrencyFormatFlags|EFlagNegativeCurrencySymbolOpposite)==iExtraNegativeCurrencyFormatFlags)
  1892. return ETrue;
  1893. else
  1894. return EFalse;
  1895. }
  1896. inline void TLocale::SetNegativeCurrencySymbolOpposite(TBool aBool)
  1897. #line 3097
  1898. {
  1899. if (aBool)
  1900. iExtraNegativeCurrencyFormatFlags |= EFlagNegativeCurrencySymbolOpposite;
  1901. else
  1902. iExtraNegativeCurrencyFormatFlags &= ~EFlagNegativeCurrencySymbolOpposite;
  1903. }
  1904. inline TLanguage TLocale::LanguageDowngrade(TInt aIndex) const
  1905. #line 3130
  1906. {
  1907. (void)((0 <= aIndex && aIndex < 3)||( User::Invariant(),0)) ;
  1908. return static_cast<TLanguage>(iLanguageDowngrade[aIndex]);
  1909. }
  1910. inline void TLocale::SetLanguageDowngrade(TInt aIndex, TLanguage aLanguage)
  1911. #line 3151
  1912. {
  1913. (void)((0 <= aIndex && aIndex < 3)||( User::Invariant(),0)) ;
  1914. iLanguageDowngrade[aIndex] = static_cast<TUint16>(aLanguage);
  1915. }
  1916. #line 3164
  1917. inline TDigitType TLocale::DigitType() const
  1918. { return iDigitType; }
  1919. #line 3175
  1920. inline void TLocale::SetDigitType(TDigitType aDigitType)
  1921. { iDigitType=aDigitType; }
  1922. #line 3188
  1923. inline void TLocale::SetDeviceTime(TDeviceTimeState aState)
  1924.     {
  1925.     iDeviceTimeState=aState;
  1926.     }
  1927. inline TLocale* TExtendedLocale::GetLocale()
  1928. { return &iLocale; }
  1929. #line 3205
  1930. inline TLocale::TDeviceTimeState TLocale::DeviceTime() const
  1931.     {
  1932.     return iDeviceTimeState;
  1933.     }
  1934. inline TInt TFindHandleBase::Handle() const
  1935. #line 3225
  1936. {return(iFindHandle);}
  1937. inline TFindSemaphore::TFindSemaphore()
  1938.     : TFindHandleBase()
  1939. #line 3244
  1940.     {}
  1941. inline TFindSemaphore::TFindSemaphore(const TDesC &aMatch)
  1942.     : TFindHandleBase(aMatch)
  1943. #line 3264
  1944.     {}
  1945. inline TFindMutex::TFindMutex()
  1946.     : TFindHandleBase()
  1947. #line 3283
  1948.     {}
  1949. inline TFindMutex::TFindMutex(const TDesC &aMatch)
  1950.     : TFindHandleBase(aMatch)
  1951. #line 3303
  1952.     {}
  1953. inline TFindChunk::TFindChunk()
  1954.     : TFindHandleBase()
  1955. #line 3322
  1956.     {}
  1957. inline TFindChunk::TFindChunk(const TDesC &aMatch)
  1958.     : TFindHandleBase(aMatch)
  1959. #line 3339
  1960.     {}
  1961. inline TFindThread::TFindThread()
  1962.     : TFindHandleBase()
  1963. #line 3358
  1964.     {}
  1965. inline TFindThread::TFindThread(const TDesC &aMatch)
  1966.     : TFindHandleBase(aMatch)
  1967. #line 3373
  1968.     {}
  1969. inline TFindProcess::TFindProcess()
  1970.     : TFindHandleBase()
  1971. #line 3392
  1972.     {}
  1973. inline TFindProcess::TFindProcess(const TDesC &aMatch)
  1974.     : TFindHandleBase(aMatch)
  1975. #line 3407
  1976.     {}
  1977. inline TFindLogicalDevice::TFindLogicalDevice()
  1978.     : TFindHandleBase()
  1979.     {}
  1980. inline TFindLogicalDevice::TFindLogicalDevice(const TDesC &aMatch)
  1981.     : TFindHandleBase(aMatch)
  1982.     {}
  1983. inline TFindPhysicalDevice::TFindPhysicalDevice()
  1984.     : TFindHandleBase()
  1985.     {}
  1986. inline TFindPhysicalDevice::TFindPhysicalDevice(const TDesC &aMatch)
  1987.     : TFindHandleBase(aMatch)
  1988.     {}
  1989. inline TFindServer::TFindServer()
  1990.     : TFindHandleBase()
  1991. #line 3446
  1992.     {}
  1993. inline TFindServer::TFindServer(const TDesC &aMatch)
  1994.     : TFindHandleBase(aMatch)
  1995. #line 3463
  1996.     {}
  1997. inline TFindLibrary::TFindLibrary()
  1998.     : TFindHandleBase()
  1999.     {}
  2000. inline TFindLibrary::TFindLibrary(const TDesC &aMatch)
  2001.     : TFindHandleBase(aMatch)
  2002.     {}
  2003. inline TInt RDevice::Open(const TFindLogicalDevice& aFind,TOwnerType aType)
  2004. {return(RHandleBase::Open(aFind,aType));}
  2005. inline TBool RCriticalSection::IsBlocked() const
  2006. {return(iBlocked!=1);}
  2007. inline TInt RMutex::Open(const TFindMutex& aFind,TOwnerType aType)
  2008. #line 3536
  2009. {return(RHandleBase::Open(aFind,aType));}
  2010. inline TInt RChunk::Open(const TFindChunk& aFind,TOwnerType aType)
  2011. #line 3560
  2012. {return(RHandleBase::Open(aFind,aType));}
  2013. inline TBool RChunk::IsReadable() const
  2014. {return (Attributes()&RHandleBase::EDirectReadAccess); }
  2015. inline TBool RChunk::IsWritable() const
  2016. {return (Attributes()&RHandleBase::EDirectWriteAccess); }
  2017. inline TObjectId::TObjectId()
  2018. {}
  2019. inline TObjectId::TObjectId(TUint64 aId)
  2020. : iId(aId)
  2021. {}
  2022. inline TUint64 TObjectId::Id() const
  2023. { return iId; }
  2024. inline TObjectId::operator TUint() const
  2025. { return TUint(iId); }
  2026. inline TBool TObjectId::operator==(TObjectId aId) const
  2027. {return iId==aId.iId;}
  2028. inline TBool TObjectId::operator!=(TObjectId aId) const
  2029. {return iId!=aId.iId;}
  2030. inline TThreadId::TThreadId()
  2031. : TObjectId()
  2032. {}
  2033. inline TThreadId::TThreadId(TUint64 aId)
  2034. : TObjectId(aId)
  2035. {}
  2036. inline RThread::RThread()
  2037. : RHandleBase(KCurrentThreadHandle)
  2038. #line 3691
  2039. {}
  2040. inline TInt RThread::Open(const TFindThread& aFind,TOwnerType aType)
  2041. #line 3714
  2042. {return(RHandleBase::Open(aFind,aType));}
  2043. inline TBool RThread::HasCapability(TCapability aCapability, const char* aDiagnostic) const
  2044. {
  2045. return DoHasCapability(aCapability, aDiagnostic);
  2046. }
  2047. inline TBool RThread::HasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic) const
  2048. {
  2049. return DoHasCapability(aCapability1, aCapability2, aDiagnostic);
  2050. }
  2051. #line 3761
  2052. inline TProcessId::TProcessId()
  2053. : TObjectId()
  2054. {}
  2055. inline TProcessId::TProcessId(TUint64 aId)
  2056. : TObjectId(aId)
  2057. {}
  2058. inline RProcess::RProcess()
  2059. : RHandleBase(KCurrentProcessHandle)
  2060. #line 3795
  2061. {}
  2062. inline RProcess::RProcess(TInt aHandle)
  2063. : RHandleBase(aHandle)
  2064. {}
  2065. inline TInt RProcess::Open(const TFindProcess& aFind,TOwnerType aType)
  2066. #line 3830
  2067. {return(RHandleBase::Open(aFind,aType));}
  2068. inline TBool RProcess::HasCapability(TCapability aCapability, const char* aDiagnostic) const
  2069. {
  2070. return DoHasCapability(aCapability, aDiagnostic);
  2071. }
  2072. inline TBool RProcess::HasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic) const
  2073. {
  2074. return DoHasCapability(aCapability1, aCapability2, aDiagnostic);
  2075. }
  2076. #line 3902
  2077. inline TInt RSessionBase::CreateSession(const TDesC& aServer,const TVersion& aVersion)
  2078. {return CreateSession(aServer,aVersion,-1,EIpcSession_Unsharable,0 ,0);}
  2079. #line 3926
  2080. inline TInt RSessionBase::CreateSession(RServer2 aServer,const TVersion& aVersion)
  2081. {return CreateSession(aServer,aVersion,-1,EIpcSession_Unsharable,0 ,0);}
  2082. #line 3950
  2083. inline TInt RSessionBase::Send(TInt aFunction,const TIpcArgs& aArgs) const
  2084. {return DoSend(aFunction,&aArgs);}
  2085. #line 3971
  2086. inline void RSessionBase::SendReceive(TInt aFunction,const TIpcArgs& aArgs,TRequestStatus& aStatus) const
  2087. {DoSendReceive(aFunction,&aArgs,aStatus);}
  2088. #line 3992
  2089. inline TInt RSessionBase::SendReceive(TInt aFunction,const TIpcArgs& aArgs) const
  2090. {return DoSendReceive(aFunction,&aArgs);}
  2091. #line 4014
  2092. inline TInt RSessionBase::Send(TInt aFunction) const
  2093. {return DoSend(aFunction,0 );}
  2094. #line 4033
  2095. inline void RSessionBase::SendReceive(TInt aFunction,TRequestStatus& aStatus) const
  2096. { DoSendReceive(aFunction,0 ,aStatus);}
  2097. #line 4055
  2098. inline TInt RSessionBase::SetReturnedHandle(TInt aHandleOrError)
  2099. { return RHandleBase::SetReturnedHandle(aHandleOrError);}
  2100. inline TInt RSessionBase::SetReturnedHandle(TInt aHandleOrError,RHandleBase& aHandle)
  2101. { return RHandleBase::SetReturnedHandle(aHandleOrError,aHandle);}
  2102. #line 4076
  2103. inline TInt RSessionBase::SendReceive(TInt aFunction) const
  2104. {return DoSendReceive(aFunction,0 );}
  2105. inline RSubSessionBase::RSubSessionBase()
  2106. : iSubSessionHandle(0)
  2107. {}
  2108. inline TInt RSubSessionBase::SubSessionHandle() const
  2109. #line 4102
  2110. {return iSubSessionHandle;}
  2111. inline TInt RSubSessionBase::CreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs)
  2112. { return DoCreateSubSession(aSession,aFunction,&aArgs); }
  2113. inline TInt RSubSessionBase::CreateSubSession(const RSessionBase& aSession,TInt aFunction)
  2114. { return DoCreateSubSession(aSession,aFunction,0 ); }
  2115. inline TInt RSubSessionBase::Send(TInt aFunction,const TIpcArgs& aArgs) const
  2116. {return DoSend(aFunction,&aArgs);}
  2117. inline void RSubSessionBase::SendReceive(TInt aFunction,const TIpcArgs& aArgs,TRequestStatus& aStatus) const
  2118. {DoSendReceive(aFunction,&aArgs,aStatus);}
  2119. inline TInt RSubSessionBase::SendReceive(TInt aFunction,const TIpcArgs& aArgs) const
  2120. {return DoSendReceive(aFunction,&aArgs);}
  2121. inline TInt RSubSessionBase::Send(TInt aFunction) const
  2122. {return DoSend(aFunction,0 );}
  2123. inline void RSubSessionBase::SendReceive(TInt aFunction,TRequestStatus& aStatus) const
  2124. { DoSendReceive(aFunction,0 ,aStatus);}
  2125. inline TInt RSubSessionBase::SendReceive(TInt aFunction) const
  2126. {return DoSendReceive(aFunction,0 );}
  2127. #line 4132
  2128. inline RRefBase::RRefBase()
  2129. : iPtr(0 )
  2130. {}
  2131. #line 4143
  2132. inline RRefBase::RRefBase(const RRefBase &aRef)
  2133. {Copy(aRef);}
  2134. #line 4155
  2135. template <class T>
  2136. inline RRef<T>::RRef()
  2137. {}
  2138. #line 4171
  2139. template <class T>
  2140. inline RRef<T>::RRef(const RRef<T> &anObject)
  2141. {Copy(anObject);}
  2142. #line 4188
  2143. template <class T>
  2144. inline void RRef<T>::operator=(const RRef<T> &anObject)
  2145. {Copy(anObject);}
  2146. #line 4200
  2147. template <class T>
  2148. inline T *RRef<T>::operator->()
  2149. {return((T *)iPtr);}
  2150. #line 4212
  2151. template <class T>
  2152. inline RRef<T>::operator T*()
  2153. {return((T *)iPtr);}
  2154. #line 4228
  2155. template <class T>
  2156. void RRef<T>::Alloc(const T &anObject)
  2157. {DoAlloc(&anObject,sizeof(T));}
  2158. #line 4245
  2159. template <class T>
  2160. void RRef<T>::Alloc(const T &anObject,TInt aSize)
  2161. {DoAlloc(&anObject,aSize);}
  2162. #line 4261
  2163. template <class T>
  2164. void RRef<T>::AllocL(const T &anObject)
  2165. {DoAllocL(&anObject,sizeof(T));}
  2166. #line 4278
  2167. template <class T>
  2168. void RRef<T>::AllocL(const T &anObject,TInt aSize)
  2169. {DoAllocL(&anObject,aSize);}
  2170. inline TBool TRegion::CheckError() const
  2171. #line 4307
  2172. {return(iError);}
  2173. inline TInt TRegion::Count() const
  2174. {return(iCount);}
  2175. inline const TRect *TRegion::RectangleList() const
  2176. #line 4333
  2177. {return(((TRegion *)this)->RectangleListW());}
  2178. inline TRegion::TRegion()
  2179. {}
  2180. inline TInt RRegion::CheckSpare() const
  2181. #line 4354
  2182. {return(iAllocedRects-iCount);}
  2183. template <TInt S>
  2184. inline TRegionFix<S>::TRegionFix() : TRegion(-S)
  2185. {}
  2186. template <TInt S>
  2187. inline TRegionFix<S>::TRegionFix(const TRect &aRect) : TRegion(-S)
  2188. {AddRect(aRect);}
  2189. template <TInt S>
  2190. inline TRegionFix<S>::TRegionFix(const TRegionFix<S> &aRegion)
  2191. {*this=aRegion;}
  2192. template <TInt S>
  2193. inline RRegionBuf<S>::RRegionBuf() : RRegion(-S&(~ERRegionBuf),S)
  2194. {}
  2195. template <TInt S>
  2196. inline RRegionBuf<S>::RRegionBuf(const RRegion &aRegion)
  2197. {*this=aRegion;}
  2198. template <TInt S>
  2199. inline RRegionBuf<S>::RRegionBuf(const TRect &aRect) : RRegion(-S&(~ERRegionBuf),S)
  2200. #line 4427
  2201. {AddRect(aRect);}
  2202. template <TInt S>
  2203. inline RRegionBuf<S>::RRegionBuf(const RRegionBuf<S> &aRegion)
  2204.     {*this=aRegion;}
  2205. inline TTimerLockSpec &operator++(TTimerLockSpec &aLock)
  2206. {
  2207. return aLock=((aLock==ETwelveOClock) ? EOneOClock : (TTimerLockSpec)((TInt)aLock+1));
  2208. }
  2209. inline TTimerLockSpec operator++(TTimerLockSpec &aLock, TInt)
  2210. {
  2211. TTimerLockSpec l=aLock;
  2212. aLock=((aLock==ETwelveOClock) ? EOneOClock : (TTimerLockSpec)((TInt)aLock+1));
  2213. return l;
  2214. }
  2215. inline const TUidType& TCheckedUid::UidType() const
  2216.     {return(iType);}
  2217. template <class T>
  2218. void _DeleteArray(T** aBegin,T** aEnd)
  2219. {for (;;) if (aBegin<aEnd) delete *aBegin++; else return;}
  2220. template <class T>
  2221. struct _ArrayUtil
  2222. {
  2223. static inline void Delete(T* aBegin,T* aEnd,CBase*)
  2224. {::_DeleteArray((CBase**)aBegin,(CBase**)aEnd);}
  2225. static inline void Delete(T* aBegin,T* aEnd,TAny*)
  2226. {::_DeleteArray(aBegin,aEnd);}
  2227. static inline void Delete(T* aArray,TInt aCount)
  2228. {Delete(aArray,aArray+aCount,*aArray);}
  2229. };
  2230. __declspec(dllexport) void PanicTFixedArray();
  2231. template <class T,TInt S>
  2232. inline TFixedArray<T,S>::TFixedArray()
  2233. {}