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

Symbian

开发平台:

C/C++

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