Original Symbian headers
Selected EUSER, Window Server, networking, graphics and device declarations
Loading...
Searching...
No Matches
e32std.h
Go to the documentation of this file.
1// Copyright (c) 1994-2009 Nokia Corporation and/or its subsidiary(-ies).
2// All rights reserved.
3// This component and the accompanying materials are made available
4// under the terms of the License "Eclipse Public License v1.0"
5// which accompanies this distribution, and is available
6// at the URL "http://www.eclipse.org/legal/epl-v10.html".
7//
8// Initial Contributors:
9// Nokia Corporation - initial contribution.
10//
11// Contributors:
12//
13// Description:
14// e32\include\e32std.h
15//
16//
17
18#ifndef __E32STD_H__
19#define __E32STD_H__
20
21#ifdef __KERNEL_MODE__
22#error !! Including e32std.h in kernel code !!
23#endif
24
25#include <e32cmn.h>
26
31class TFunctor
32 {
33public:
34 IMPORT_C virtual void operator()() =0;
35 };
65class TCallBack
66 {
67public:
68 inline TCallBack();
69 inline TCallBack(TInt (*aFunction)(TAny* aPtr));
70 inline TCallBack(TInt (*aFunction)(TAny* aPtr),TAny* aPtr);
71 inline TInt CallBack() const;
72public:
77 TInt (*iFunction)(TAny* aPtr);
78
79
84 TAny* iPtr;
85 };
86
87
89
101class TSglQueLink
102 {
103#if defined _DEBUG
104public:
105 inline TSglQueLink() : iNext(NULL)
113 {}
114#endif
115private:
116 IMPORT_C void Enque(TSglQueLink* aLink);
117public:
122 friend class TSglQueBase;
123 };
124
125
126
142class TDblQueLinkBase
143 {
144public:
145 inline TDblQueLinkBase() : iNext(NULL)
153 {}
154 IMPORT_C void Enque(TDblQueLinkBase* aLink);
155 IMPORT_C void AddBefore(TDblQueLinkBase* aLink);
156public:
161
166 };
167
169
170
178class TDblQueLink : public TDblQueLinkBase
179 {
180public:
181 IMPORT_C void Deque();
182 };
183
184
185
186
196class TPriQueLink : public TDblQueLink
197 {
198public:
204 TInt iPriority;
205 };
206
207
209
217class TDeltaQueLink : public TDblQueLinkBase
218 {
219public:
223 TInt iDelta;
224 };
225
226
227
228
236class TTickCountQueLink : public TDblQueLink
238public:
242 TUint iTickCount;
243 };
244
245
246
247
260class TSglQueBase
261 {
262public:
263 IMPORT_C TBool IsEmpty() const;
264 IMPORT_C void SetOffset(TInt aOffset);
265 IMPORT_C void Reset();
266protected:
267 IMPORT_C TSglQueBase();
268 IMPORT_C TSglQueBase(TInt aOffset);
269 IMPORT_C void DoAddFirst(TAny* aPtr);
270 IMPORT_C void DoAddLast(TAny* aPtr);
271 IMPORT_C void DoRemove(TAny* aPtr);
272protected:
277
287private:
289 TSglQueBase &operator=(const TSglQueBase& aQue);
290 friend class TSglQueIterBase;
291 };
292
293
295
309 {
310public:
311 IMPORT_C TBool IsEmpty() const;
312 IMPORT_C void SetOffset(TInt aOffset);
313 IMPORT_C void Reset();
314protected:
315 IMPORT_C TDblQueBase();
316 IMPORT_C TDblQueBase(TInt aOffset);
317 IMPORT_C void DoAddFirst(TAny* aPtr);
318 IMPORT_C void DoAddLast(TAny* aPtr);
319 IMPORT_C void DoAddPriority(TAny* aPtr);
320 IMPORT_C void __DbgTestEmpty() const;
321protected:
326
330 TInt iOffset;
331private:
333 TDblQueBase& operator=(const TDblQueBase& aQue);
334 friend class TDblQueIterBase;
335 };
351 {
352public:
353 IMPORT_C TBool CountDown();
354 IMPORT_C TBool CountDown(TInt aValue);
355 IMPORT_C TBool FirstDelta(TInt& aValue);
356 IMPORT_C void Reset();
357protected:
358 IMPORT_C TDeltaQueBase();
359 IMPORT_C TDeltaQueBase(TInt aOffset);
360 IMPORT_C void DoAddDelta(TAny* aPtr,TInt aDelta);
361 IMPORT_C void DoRemove(TAny* aPtr);
362 IMPORT_C TAny* DoRemoveFirst();
363protected:
367 TInt* iFirstDelta;
368 };
369
370
371
387template <class T>
388class TSglQue : public TSglQueBase
390public:
391 inline TSglQue();
392 inline explicit TSglQue(TInt aOffset);
393 inline void AddFirst(T& aRef);
394 inline void AddLast(T& aRef);
395 inline TBool IsFirst(const T* aPtr) const;
396 inline TBool IsLast(const T* aPtr) const;
397 inline T* First() const;
398 inline T* Last() const;
399 inline void Remove(T& aRef);
400 };
401
402
403
404
419template <class T>
420class TDblQue : public TDblQueBase
422public:
423 inline TDblQue();
424 inline explicit TDblQue(TInt aOffset);
425 inline void AddFirst(T& aRef);
426 inline void AddLast(T& aRef);
427 inline TBool IsHead(const T* aPtr) const;
428 inline TBool IsFirst(const T* aPtr) const;
429 inline TBool IsLast(const T* aPtr) const;
430 inline T* First() const;
431 inline T* Last() const;
432 };
433
434
435
436
453template <class T>
454class TPriQue : public TDblQueBase
456public:
457 inline TPriQue();
458 inline explicit TPriQue(TInt aOffset);
459 inline void Add(T& aRef);
460 inline TBool IsHead(const T* aPtr) const;
461 inline TBool IsFirst(const T* aPtr) const;
462 inline TBool IsLast(const T* aPtr) const;
463 inline T* First() const;
464 inline T* Last() const;
465 };
466
467
468
469
499template <class T>
500class TDeltaQue : public TDeltaQueBase
501 {
502public:
503 inline TDeltaQue();
504 inline explicit TDeltaQue(TInt aOffset);
505 inline void Add(T& aRef,TInt aDelta);
506 inline void Remove(T& aRef);
507 inline T* RemoveFirst();
508 };
509
510
511
512
513// Forward declaration
515
532class TTickCountQue : public TDblQueBase
534public:
539 TTickCountQueLink* RemoveFirst(TUint aTickCount);
540 };
541
542
543
544
555class TSglQueIterBase
556 {
557public:
558 IMPORT_C void SetToFirst();
559protected:
560 IMPORT_C TSglQueIterBase(TSglQueBase& aQue);
561 IMPORT_C TAny* DoPostInc();
562 IMPORT_C TAny* DoCurrent();
563 IMPORT_C void DoSet(TAny* aLink);
583template <class T>
584class TSglQueIter : public TSglQueIterBase
585 {
586public:
587 inline TSglQueIter(TSglQueBase& aQue);
588 inline void Set(T& aLink);
589 inline operator T*();
590 inline T* operator++(TInt);
591 };
593
606class TDblQueIterBase
607 {
608public:
609 IMPORT_C void SetToFirst();
610 IMPORT_C void SetToLast();
611protected:
612 IMPORT_C TDblQueIterBase(TDblQueBase& aQue);
613 IMPORT_C TAny* DoPostInc();
614 IMPORT_C TAny* DoPostDec();
615 IMPORT_C TAny* DoCurrent();
616 IMPORT_C void DoSet(TAny* aLink);
617protected:
621 TInt iOffset;
622
627
632 };
633
634
635
636
647template <class T>
649 {
650public:
652 inline void Set(T& aLink);
653 inline operator T*();
654 inline T* operator++(TInt);
655 inline T* operator--(TInt);
656 };
657
658
660
672enum TKeyCmpText
673 {
682
683
696
709
710
719
720
730
731
741
742
751
752
762
763
774 };
775
776
777
778
790 {
794 ECmpTInt8=((ECmpCollated16+1)<<1),
795
796
801
802
807
808
812 ECmpTInt,
813
814
819
820
825
826
831
832
836 ECmpTUint,
837
843 };
845
846
847
868class TKey
869 {
870public:
871 inline void SetPtr(const TAny* aPtr);
872 IMPORT_C virtual TInt Compare(TInt aLeft,TInt aRight) const;
873 IMPORT_C virtual TAny* At(TInt anIndex) const;
874protected:
875 IMPORT_C TKey();
876 IMPORT_C TKey(TInt aOffset,TKeyCmpText aType);
877 IMPORT_C TKey(TInt aOffset,TKeyCmpText aType,TInt aLength);
878 IMPORT_C TKey(TInt aOffset,TKeyCmpNumeric aType);
879protected:
881 TInt iKeyLength;
882 TInt iCmpType;
883 const TAny* iPtr;
884 };
885
902class TSwap
903 {
904public:
905 IMPORT_C TSwap();
906 IMPORT_C virtual void Swap(TInt aLeft,TInt aRight) const;
907 };
908
909
910
911
930class TCharF : public TChar
931 {
932public:
933 inline TCharF(TUint aChar);
934 inline TCharF(const TChar& aChar);
935 inline TCharF& operator=(TUint aChar);
936 inline TCharF& operator=(const TChar& aChar);
937 };
938
939
940
941
949class TCharLC : public TChar
951public:
952 inline TCharLC(TUint aChar);
953 inline TCharLC(const TChar& aChar);
954 inline TCharLC& operator=(TUint aChar);
955 inline TCharLC& operator=(const TChar& aChar);
956 };
957
958
959
960
968class TCharUC : public TChar
969 {
970public:
971 inline TCharUC(TUint aChar);
972 inline TCharUC(const TChar& aChar);
973 inline TCharUC& operator=(TUint aChar);
974 inline TCharUC& operator=(const TChar& aChar);
975 };
976
977
978
994class TRealFormat
995 {
996public:
997 IMPORT_C TRealFormat();
998 IMPORT_C TRealFormat(TInt aWidth);
999 IMPORT_C TRealFormat(TInt aWidth,TInt aDecimalPlaces);
1000public:
1019 TInt iType;
1020
1021
1037 TInt iPlaces;
1038
1039
1051
1052
1063 TChar iTriad;
1064
1065
1083 TInt iTriLen;
1084 };
1085
1086
1087
1088
1101class TLexMark8
1102 {
1103public:
1104 inline TLexMark8();
1105private:
1106 inline TLexMark8(const TUint8* aString);
1107 const TUint8* iPtr;
1108 friend class TLex8;
1109 __DECLARE_TEST;
1110 };
1111
1112
1113
1114
1115class TRealX;
1135class TLex8
1136 {
1137public:
1138 IMPORT_C TLex8();
1139 inline TLex8(const TUint8* aString);
1140 inline TLex8(const TDesC8& aDes);
1141 inline TLex8& operator=(const TUint8* aString);
1142 inline TLex8& operator=(const TDesC8& aDes);
1143 inline TBool Eos() const;
1144 inline void Mark(TLexMark8& aMark) const;
1145 inline void Mark();
1146 IMPORT_C void Inc();
1147 IMPORT_C void Inc(TInt aNumber);
1148 IMPORT_C TChar Get();
1149 IMPORT_C TChar Peek() const;
1150 IMPORT_C void UnGet();
1151 inline void UnGetToMark();
1152 IMPORT_C void UnGetToMark(const TLexMark8 aMark);
1153 IMPORT_C void SkipSpace();
1154 inline void SkipAndMark(TInt aNumber);
1155 IMPORT_C void SkipAndMark(TInt aNumber, TLexMark8& aMark);
1156 inline void SkipSpaceAndMark();
1157 IMPORT_C void SkipSpaceAndMark(TLexMark8& aMark);
1158 IMPORT_C void SkipCharacters();
1159 inline TInt TokenLength() const;
1160 IMPORT_C TInt TokenLength(const TLexMark8 aMark) const;
1161 IMPORT_C TPtrC8 MarkedToken() const;
1162 IMPORT_C TPtrC8 MarkedToken(const TLexMark8 aMark) const;
1163 IMPORT_C TPtrC8 NextToken();
1164 IMPORT_C TPtrC8 Remainder() const;
1165 IMPORT_C TPtrC8 RemainderFromMark() const;
1166 IMPORT_C TPtrC8 RemainderFromMark(const TLexMark8 aMark) const;
1167 IMPORT_C TInt Offset() const;
1168 inline TInt MarkedOffset() const;
1169 IMPORT_C TInt MarkedOffset(const TLexMark8 aMark) const;
1170 IMPORT_C TInt Val(TInt8& aVal);
1171 IMPORT_C TInt Val(TInt16& aVal);
1172 IMPORT_C TInt Val(TInt32& aVal);
1173 IMPORT_C TInt Val(TInt64& aVal);
1174 inline TInt Val(TInt& aVal);
1175 IMPORT_C TInt Val(TUint8& aVal,TRadix aRadix);
1176 IMPORT_C TInt Val(TUint16& aVal,TRadix aRadix);
1177 IMPORT_C TInt Val(TUint32& aVal,TRadix aRadix);
1178 IMPORT_C TInt Val(TInt64& aVal, TRadix aRadix);
1179 inline TInt Val(TUint& aVal,TRadix aRadix=EDecimal);
1180 IMPORT_C TInt BoundedVal(TInt32& aVal,TInt aLimit);
1181 IMPORT_C TInt BoundedVal(TInt64& aVal, const TInt64& aLimit);
1182 IMPORT_C TInt BoundedVal(TUint32& aVal,TRadix aRadix,TUint aLimit);
1183 IMPORT_C TInt BoundedVal(TInt64& aVal, TRadix aRadix, const TInt64& aLimit);
1184 IMPORT_C TInt Val(TReal32& aVal);
1185 IMPORT_C TInt Val(TReal32& aVal,TChar aPoint);
1186 IMPORT_C TInt Val(TReal64& aVal);
1187 IMPORT_C TInt Val(TReal64& aVal,TChar aPoint);
1188 inline void Assign(const TLex8& aLex);
1189 IMPORT_C void Assign(const TUint8* aString);
1190 IMPORT_C void Assign(const TDesC8& aDes);
1191 TInt Val(TRealX& aVal);
1192 TInt Val(TRealX& aVal, TChar aPoint);
1193
1195 inline TInt Val(TInt32& aVal,TInt aLimit) { return BoundedVal(aVal,aLimit); };
1196
1198 inline TInt Val(TInt64& aVal,const TInt64& aLimit) { return BoundedVal(aVal,aLimit); };
1201 inline TInt Val(TUint32& aVal,TRadix aRadix,TUint aLimit) { return BoundedVal(aVal,aRadix,aLimit); };
1204 inline TInt Val(TInt64& aVal,TRadix aRadix,const TInt64& aLimit) { return BoundedVal(aVal,aRadix,aLimit); };
1205private:
1206 void Scndig(TInt& aSig, TInt& aExp, TUint64& aDl);
1207 void ScndigAfterPoint(TInt& aSig, TUint64& aDl);
1208 void ValidateMark(const TLexMark8 aMark) const;
1209private:
1210 const TUint8* iNext;
1211 const TUint8* iBuf;
1212 const TUint8* iEnd;
1214 __DECLARE_TEST;
1234public:
1235 inline TLexMark16();
1236private:
1237 inline TLexMark16(const TUint16* aString);
1238 const TUint16* iPtr;
1239 friend class TLex16;
1240 __DECLARE_TEST;
1265class TLex16
1266 {
1267public:
1268 IMPORT_C TLex16();
1269 inline TLex16(const TUint16* aString);
1270 inline TLex16(const TDesC16& aDes);
1271 inline TLex16& operator=(const TUint16* aString);
1272 inline TLex16& operator=(const TDesC16& aDes);
1273 inline TBool Eos() const;
1274 inline void Mark();
1275 inline void Mark(TLexMark16& aMark) const;
1276 IMPORT_C void Inc();
1277 IMPORT_C void Inc(TInt aNumber);
1278 IMPORT_C TChar Get();
1279 IMPORT_C TChar Peek() const;
1280 IMPORT_C void UnGet();
1281 inline void UnGetToMark();
1282 IMPORT_C void UnGetToMark(const TLexMark16 aMark);
1283 IMPORT_C void SkipSpace();
1284 inline void SkipAndMark(TInt aNumber);
1285 IMPORT_C void SkipAndMark(TInt aNumber, TLexMark16& aMark);
1286 IMPORT_C void SkipSpaceAndMark(TLexMark16& aMark);
1287 inline void SkipSpaceAndMark();
1288 IMPORT_C void SkipCharacters();
1289 inline TInt TokenLength() const;
1290 IMPORT_C TInt TokenLength(const TLexMark16 aMark) const;
1291 IMPORT_C TPtrC16 MarkedToken() const;
1292 IMPORT_C TPtrC16 MarkedToken(const TLexMark16 aMark) const;
1293 IMPORT_C TPtrC16 NextToken();
1294 IMPORT_C TPtrC16 Remainder() const;
1295 IMPORT_C TPtrC16 RemainderFromMark() const;
1296 IMPORT_C TPtrC16 RemainderFromMark(const TLexMark16 aMark) const;
1297 IMPORT_C TInt Offset() const;
1298 inline TInt MarkedOffset() const;
1299 IMPORT_C TInt MarkedOffset(const TLexMark16 aMark) const;
1300 IMPORT_C TInt Val(TInt8& aVal);
1301 IMPORT_C TInt Val(TInt16& aVal);
1302 IMPORT_C TInt Val(TInt32& aVal);
1303 IMPORT_C TInt Val(TInt64& aVal);
1304 inline TInt Val(TInt& aVal);
1305 IMPORT_C TInt Val(TUint8& aVal,TRadix aRadix);
1306 IMPORT_C TInt Val(TUint16& aVal,TRadix aRadix);
1307 IMPORT_C TInt Val(TUint32& aVal,TRadix aRadix);
1308 IMPORT_C TInt Val(TInt64& aVal, TRadix aRadix);
1309// inline TInt Val(TInt64& aVal, TRadix aRadix) {return Val(aVal,aRadix);}
1310 inline TInt Val(TUint& aVal,TRadix aRadix=EDecimal);
1311 IMPORT_C TInt BoundedVal(TInt32& aVal,TInt aLimit);
1312 IMPORT_C TInt BoundedVal(TInt64& aVal, const TInt64& aLimit);
1313 IMPORT_C TInt BoundedVal(TUint32& aVal,TRadix aRadix,TUint aLimit);
1314 IMPORT_C TInt BoundedVal(TInt64& aVal, TRadix aRadix, const TInt64& aLimit);
1315 IMPORT_C TInt Val(TReal32& aVal);
1316 IMPORT_C TInt Val(TReal32& aVal,TChar aPoint);
1317 IMPORT_C TInt Val(TReal64& aVal);
1318 IMPORT_C TInt Val(TReal64& aVal,TChar aPoint);
1319 inline void Assign(const TLex16& aLex);
1320 IMPORT_C void Assign(const TUint16* aString);
1321 IMPORT_C void Assign(const TDesC16& aDes);
1322 TInt Val(TRealX& aVal);
1323 TInt Val(TRealX& aVal, TChar aPoint);
1324
1326 inline TInt Val(TInt32& aVal,TInt aLimit) { return BoundedVal(aVal,aLimit); };
1327
1329 inline TInt Val(TInt64& aVal,const TInt64& aLimit) { return BoundedVal(aVal,aLimit); };
1330
1332 inline TInt Val(TUint32& aVal,TRadix aRadix,TUint aLimit) { return BoundedVal(aVal,aRadix,aLimit); };
1335 inline TInt Val(TInt64& aVal,TRadix aRadix,const TInt64& aLimit) { return BoundedVal(aVal,aRadix,aLimit); };
1336private:
1337 void Scndig(TInt& aSig, TInt& aExp, TUint64& aDl);
1338 void ValidateMark(const TLexMark16 aMark) const;
1339private:
1340 const TUint16* iNext;
1341 const TUint16* iBuf;
1342 const TUint16* iEnd;
1344 __DECLARE_TEST;
1350#if defined(_UNICODE)
1367typedef TLex16 TLex;
1388
1389
1390#else
1391
1392
1410typedef TLex8 TLex;
1411
1412
1413
1414
1428typedef TLexMark8 TLexMark;
1429#endif
1430
1431
1432
1433
1442class TCheckedUid
1443 {
1444public:
1445 IMPORT_C TCheckedUid();
1446 IMPORT_C TCheckedUid(const TUidType& aUidType);
1447 IMPORT_C TCheckedUid(const TDesC8& aPtr);
1448 IMPORT_C void Set(const TUidType& aUidType);
1449 IMPORT_C void Set(const TDesC8& aPtr);
1450 IMPORT_C TPtrC8 Des() const;
1451 inline const TUidType& UidType() const;
1452protected:
1453 IMPORT_C TUint Check() const;
1454private:
1455 TUidType iType;
1456 TUint iCheck;
1457 };
1458
1459
1460
1461
1481class TDateTime
1482 {
1483public:
1484 inline TDateTime();
1485 IMPORT_C TDateTime(TInt aYear,TMonth aMonth,TInt aDay,TInt aHour,TInt aMinute, TInt aSecond,TInt aMicroSecond);
1486 IMPORT_C TInt Set(TInt aYear,TMonth aMonth,TInt aDay,TInt aHour,TInt aMinute, TInt aSecond,TInt aMicroSecond);
1487 IMPORT_C TInt SetYear(TInt aYear);
1488 IMPORT_C TInt SetYearLeapCheck(TInt aYear);
1489 IMPORT_C TInt SetMonth(TMonth aMonth);
1490 IMPORT_C TInt SetDay(TInt aDay);
1491 IMPORT_C TInt SetHour(TInt aHour);
1492 IMPORT_C TInt SetMinute(TInt aMinute);
1493 IMPORT_C TInt SetSecond(TInt aSecond);
1494 IMPORT_C TInt SetMicroSecond(TInt aMicroSecond);
1495 inline TInt Year() const;
1496 inline TMonth Month() const;
1497 inline TInt Day() const;
1498 inline TInt Hour() const;
1499 inline TInt Minute() const;
1500 inline TInt Second() const;
1501 inline TInt MicroSecond() const;
1502private:
1503 TInt iYear;
1504 TMonth iMonth;
1505 TInt iDay;
1506 TInt iHour;
1507 TInt iMinute;
1508 TInt iSecond;
1509 TInt iMicroSecond;
1510 };
1511
1512
1513
1514
1529 {
1530public:
1532 inline TTimeIntervalMicroSeconds(const TInt64& aInterval);
1533 inline TTimeIntervalMicroSeconds& operator=(const TInt64& aInterval);
1534 inline TBool operator==(const TTimeIntervalMicroSeconds& aInterval) const;
1535 inline TBool operator!=(const TTimeIntervalMicroSeconds& aInterval) const;
1536 inline TBool operator>=(const TTimeIntervalMicroSeconds& aInterval) const;
1537 inline TBool operator<=(const TTimeIntervalMicroSeconds& aInterval) const;
1538 inline TBool operator>(const TTimeIntervalMicroSeconds& aInterval) const;
1539 inline TBool operator<(const TTimeIntervalMicroSeconds& aInterval) const;
1540 inline const TInt64& Int64() const;
1541private:
1542 TInt64 iInterval;
1543 };
1544
1545
1546
1547
1568public:
1569 inline TBool operator==(TTimeIntervalBase aInterval) const;
1570 inline TBool operator!=(TTimeIntervalBase aInterval) const;
1571 inline TBool operator>=(TTimeIntervalBase aInterval) const;
1572 inline TBool operator<=(TTimeIntervalBase aInterval) const;
1573 inline TBool operator>(TTimeIntervalBase aInterval) const;
1574 inline TBool operator<(TTimeIntervalBase aInterval) const;
1575 inline TInt Int() const;
1576protected:
1578 inline TTimeIntervalBase(TInt aInterval);
1579protected:
1580 TInt iInterval;
1581 };
1582
1583
1584
1585
1596 {
1597public:
1599 inline TTimeIntervalMicroSeconds32(TInt aInterval);
1600 inline TTimeIntervalMicroSeconds32& operator=(TInt aInterval);
1601 };
1602
1603
1604
1605
1619 {
1620public:
1621 inline TTimeIntervalSeconds();
1622 inline TTimeIntervalSeconds(TInt aInterval);
1623 inline TTimeIntervalSeconds& operator=(TInt aInterval);
1624 };
1625
1626
1627
1628
1639 {
1640public:
1641 inline TTimeIntervalMinutes();
1642 inline TTimeIntervalMinutes(TInt aInterval);
1643 inline TTimeIntervalMinutes& operator=(TInt aInterval);
1644 };
1645
1647
1648
1659 {
1660public:
1661 inline TTimeIntervalHours();
1662 inline TTimeIntervalHours(TInt aInterval);
1663 inline TTimeIntervalHours& operator=(TInt aInterval);
1664 };
1665
1666
1667
1668
1679 {
1680public:
1682 inline TTimeIntervalDays(TInt aInterval);
1683 inline TTimeIntervalDays& operator=(TInt aInterval);
1684 };
1685
1686
1687
1688
1699 {
1700public:
1701 inline TTimeIntervalMonths();
1702 inline TTimeIntervalMonths(TInt aInterval);
1703 inline TTimeIntervalMonths& operator=(TInt aInterval);
1704 };
1708
1719 {
1720public:
1721 inline TTimeIntervalYears();
1722 inline TTimeIntervalYears(TInt aInterval);
1723 inline TTimeIntervalYears& operator=(TInt aInterval);
1725
1726
1737enum {
1752
1753
1754class TLocale;
1791 {
1792public:
1793 inline TTime();
1794 inline TTime(const TInt64& aTime);
1795 IMPORT_C TTime(const TDesC& aString);
1796 IMPORT_C TTime(const TDateTime& aDateTime);
1797 inline TTime& operator=(const TInt64& aTime);
1798 IMPORT_C TTime& operator=(const TDateTime& aDateTime);
1799 IMPORT_C void HomeTime();
1800 IMPORT_C void UniversalTime();
1801 IMPORT_C TInt Set(const TDesC& aString);
1802 IMPORT_C TInt HomeTimeSecure();
1803 IMPORT_C TInt UniversalTimeSecure();
1804
1805 IMPORT_C TDateTime DateTime() const;
1806 IMPORT_C TTimeIntervalMicroSeconds MicroSecondsFrom(TTime aTime) const;
1807 IMPORT_C TInt SecondsFrom(TTime aTime,TTimeIntervalSeconds& aInterval) const;
1808 IMPORT_C TInt MinutesFrom(TTime aTime,TTimeIntervalMinutes& aInterval) const;
1809 IMPORT_C TInt HoursFrom(TTime aTime,TTimeIntervalHours& aInterval) const;
1810 IMPORT_C TTimeIntervalDays DaysFrom(TTime aTime) const;
1811 IMPORT_C TTimeIntervalMonths MonthsFrom(TTime aTime) const;
1812 IMPORT_C TTimeIntervalYears YearsFrom(TTime aTime) const;
1813
1814 IMPORT_C TInt DaysInMonth() const;
1815 IMPORT_C TDay DayNoInWeek() const;
1816 IMPORT_C TInt DayNoInMonth() const;
1817 IMPORT_C TInt DayNoInYear() const;
1818 IMPORT_C TInt DayNoInYear(TTime aStartDate) const;
1819 IMPORT_C TInt WeekNoInYear() const;
1820 IMPORT_C TInt WeekNoInYear(TTime aStartDate) const;
1821 IMPORT_C TInt WeekNoInYear(TFirstWeekRule aRule) const;
1822 IMPORT_C TInt WeekNoInYear(TTime aStartDate,TFirstWeekRule aRule) const;
1823 IMPORT_C void FormatL(TDes& aDes,const TDesC& aFormat) const;
1824 IMPORT_C void FormatL(TDes& aDes,const TDesC& aFormat,const TLocale& aLocale) const;
1825 IMPORT_C void RoundUpToNextMinute();
1826 IMPORT_C TInt Parse(const TDesC& aDes,TInt aCenturyOffset=0);
1827
1828 IMPORT_C TTime operator+(TTimeIntervalYears aYear) const;
1829 IMPORT_C TTime operator+(TTimeIntervalMonths aMonth) const;
1830 IMPORT_C TTime operator+(TTimeIntervalDays aDay) const;
1831 IMPORT_C TTime operator+(TTimeIntervalHours aHour) const;
1832 IMPORT_C TTime operator+(TTimeIntervalMinutes aMinute) const;
1833 IMPORT_C TTime operator+(TTimeIntervalSeconds aSecond) const;
1834 IMPORT_C TTime operator+(TTimeIntervalMicroSeconds aMicroSecond) const;
1835 IMPORT_C TTime operator+(TTimeIntervalMicroSeconds32 aMicroSecond) const;
1836 IMPORT_C TTime operator-(TTimeIntervalYears aYear) const;
1837 IMPORT_C TTime operator-(TTimeIntervalMonths aMonth) const;
1838 IMPORT_C TTime operator-(TTimeIntervalDays aDay) const;
1839 IMPORT_C TTime operator-(TTimeIntervalHours aHour) const;
1840 IMPORT_C TTime operator-(TTimeIntervalMinutes aMinute) const;
1841 IMPORT_C TTime operator-(TTimeIntervalSeconds aSecond) const;
1842 IMPORT_C TTime operator-(TTimeIntervalMicroSeconds aMicroSecond) const;
1843 IMPORT_C TTime operator-(TTimeIntervalMicroSeconds32 aMicroSecond) const;
1844 IMPORT_C TTime& operator+=(TTimeIntervalYears aYear);
1845 IMPORT_C TTime& operator+=(TTimeIntervalMonths aMonth);
1847 IMPORT_C TTime& operator+=(TTimeIntervalHours aHour);
1848 IMPORT_C TTime& operator+=(TTimeIntervalMinutes aMinute);
1849 IMPORT_C TTime& operator+=(TTimeIntervalSeconds aSecond);
1850 IMPORT_C TTime& operator+=(TTimeIntervalMicroSeconds aMicroSecond);
1851 IMPORT_C TTime& operator+=(TTimeIntervalMicroSeconds32 aMicroSecond);
1852 IMPORT_C TTime& operator-=(TTimeIntervalYears aYear);
1853 IMPORT_C TTime& operator-=(TTimeIntervalMonths aMonth);
1854 IMPORT_C TTime& operator-=(TTimeIntervalDays aDay);
1855 IMPORT_C TTime& operator-=(TTimeIntervalHours aHour);
1856 IMPORT_C TTime& operator-=(TTimeIntervalMinutes aMinute);
1857 IMPORT_C TTime& operator-=(TTimeIntervalSeconds aSecond);
1858 IMPORT_C TTime& operator-=(TTimeIntervalMicroSeconds aMicroSecond);
1859 IMPORT_C TTime& operator-=(TTimeIntervalMicroSeconds32 aMicroSecond);
1860 inline TBool operator==(TTime aTime) const;
1861 inline TBool operator!=(TTime aTime) const;
1862 inline TBool operator>=(TTime aTime) const;
1863 inline TBool operator<=(TTime aTime) const;
1864 inline TBool operator>(TTime aTime) const;
1865 inline TBool operator<(TTime aTime) const;
1866 inline const TInt64& Int64() const;
1867private:
1868 static TTime Convert(const TDateTime& aDateTime);
1869private:
1870 TInt64 iTime;
1871 __DECLARE_TEST;
1872 };
1873
1874
1875
1876
1884class Time
1885 {
1886public:
1887 IMPORT_C static TTime NullTTime();
1888 IMPORT_C static TTime MaxTTime();
1889 IMPORT_C static TTime MinTTime();
1890 IMPORT_C static TInt DaysInMonth(TInt aYear, TMonth aMonth);
1891 IMPORT_C static TBool IsLeapYear(TInt aYear);
1892 IMPORT_C static TInt LeapYearsUpTo(TInt aYear);
1910class TDayName : public TBuf<KMaxDayName>
1911 {
1912public:
1913 IMPORT_C TDayName();
1914 IMPORT_C TDayName(TDay aDay);
1915 IMPORT_C void Set(TDay aDay);
1938class TDayNameAbb : public TBuf<KMaxDayNameAbb>
1940public:
1941 IMPORT_C TDayNameAbb();
1942 IMPORT_C TDayNameAbb(TDay aDay);
1943 IMPORT_C void Set(TDay aDay);
1961class TMonthName : public TBuf<KMaxMonthName>
1963public:
1964 IMPORT_C TMonthName();
1965 IMPORT_C TMonthName(TMonth aMonth);
1966 IMPORT_C void Set(TMonth aMonth);
1967 };
1968
1969
1970
1971
1984class TMonthNameAbb : public TBuf<KMaxMonthNameAbb>
1985 {
1986public:
1987 IMPORT_C TMonthNameAbb();
1988 IMPORT_C TMonthNameAbb(TMonth aMonth);
1989 IMPORT_C void Set(TMonth aMonth);
1993
1994
2009class TDateSuffix : public TBuf<KMaxSuffix>
2010 {
2011public:
2012 IMPORT_C TDateSuffix();
2013 IMPORT_C TDateSuffix(TInt aDateSuffix);
2014 IMPORT_C void Set(TInt aDateSuffix);
2018
2019
2033class TAmPmName : public TBuf<KMaxAmPmName>
2034 {
2035public:
2036 IMPORT_C TAmPmName();
2037 IMPORT_C TAmPmName(TAmPm aSelector);
2038 IMPORT_C void Set(TAmPm aSelector);
2039 };
2040
2041
2043
2054class TCurrencySymbol : public TBuf<KMaxCurrencySymbol>
2055 {
2056public:
2057 IMPORT_C TCurrencySymbol();
2058 IMPORT_C void Set();
2059 };
2060
2061
2062
2063
2090class TShortDateFormatSpec : public TBuf<KMaxShortDateFormatSpec> // to be passed into TTime::FormatL
2091 {
2092public:
2093 IMPORT_C TShortDateFormatSpec();
2094 IMPORT_C void Set();
2098
2099
2126class TLongDateFormatSpec : public TBuf<KMaxLongDateFormatSpec> // to be passed into TTime::FormatL
2127 {
2128public:
2129 IMPORT_C TLongDateFormatSpec();
2130 IMPORT_C void Set();
2131 };
2132
2133
2134
2135
2159class TTimeFormatSpec : public TBuf<KMaxTimeFormatSpec> // to be passed into TTime::FormatL
2160 {
2161public:
2162 IMPORT_C TTimeFormatSpec();
2163 IMPORT_C void Set();
2164 };
2165
2166
2167
2179class TLocale
2180 {
2181public:
2182
2187 {
2192
2197 EInBrackets, //this one must be non-zero for binary compatibility with the old TBool TLocale::iCurrencyNegativeInBrackets which was exposed in the binary interface because it was accessed via *inline* functions
2198
2203
2208 };
2213 enum
2214 {
2220 EFlagNegativeLoseSpace = 0x00000001,
2221
2228 };
2230 enum TDeviceTimeState
2231 {
2235
2239 };
2240public:
2241 IMPORT_C TLocale();
2242 inline TLocale(TInt);
2243 IMPORT_C void Refresh();
2244 IMPORT_C TInt Set() const;
2245 IMPORT_C void FormatCurrency(TDes& aText, TInt aAmount);
2246 IMPORT_C void FormatCurrency(TDes& aText, TInt64 aAmount);
2247 IMPORT_C void FormatCurrency(TDes& aText, TDesOverflow& aOverflowHandler, TInt aAmount);
2248 IMPORT_C void FormatCurrency(TDes& aText, TDesOverflow& aOverflowHandler, TInt64 aAmount);
2249
2250 inline TInt CountryCode() const;
2251 inline void SetCountryCode(TInt aCode);
2253 inline TDateFormat DateFormat() const;
2254 inline void SetDateFormat(TDateFormat aFormat);
2255 inline TTimeFormat TimeFormat() const;
2256 inline void SetTimeFormat(TTimeFormat aFormat);
2257 inline TLocalePos CurrencySymbolPosition() const;
2258 inline void SetCurrencySymbolPosition(TLocalePos aPos);
2259 inline TBool CurrencySpaceBetween() const;
2260 inline void SetCurrencySpaceBetween(TBool aSpace);
2261 inline TInt CurrencyDecimalPlaces() const;
2262 inline void SetCurrencyDecimalPlaces(TInt aPlaces);
2263 inline TBool CurrencyNegativeInBrackets() const; // These two functions are deprecated
2264 inline void SetCurrencyNegativeInBrackets(TBool aBool); // They are here to maintain compatibility. Use the New functions -> NegativeCurrencyFormat setter/getter.
2265 inline TBool CurrencyTriadsAllowed() const;
2266 inline void SetCurrencyTriadsAllowed(TBool aBool);
2267 inline TChar ThousandsSeparator() const;
2268 inline void SetThousandsSeparator(const TChar& aChar);
2269 inline TChar DecimalSeparator() const;
2270 inline void SetDecimalSeparator(const TChar& aChar);
2271 inline TChar DateSeparator(TInt aIndex) const;
2272 inline void SetDateSeparator(const TChar& aChar,TInt aIndex);
2273 inline TChar TimeSeparator(TInt aIndex) const;
2274 inline void SetTimeSeparator(const TChar& aChar,TInt aIndex);
2275 inline TBool AmPmSpaceBetween() const;
2276 inline void SetAmPmSpaceBetween(TBool aSpace);
2277 inline TLocalePos AmPmSymbolPosition() const;
2278 inline void SetAmPmSymbolPosition(TLocalePos aPos);
2279 inline TUint DaylightSaving() const;
2280 inline TBool QueryHomeHasDaylightSavingOn() const;
2281 inline TDaylightSavingZone HomeDaylightSavingZone() const;
2282 inline TUint WorkDays() const;
2283 inline void SetWorkDays(TUint aMask);
2284 inline TDay StartOfWeek() const;
2285 inline void SetStartOfWeek(TDay aDay);
2286 inline TClockFormat ClockFormat() const;
2287 inline void SetClockFormat(TClockFormat aFormat);
2288 inline TUnitsFormat UnitsGeneral() const;
2289 inline void SetUnitsGeneral(TUnitsFormat aFormat);
2290 inline TUnitsFormat UnitsDistanceShort() const;
2291 inline void SetUnitsDistanceShort(TUnitsFormat aFormat);
2292 inline TUnitsFormat UnitsDistanceLong() const;
2293 inline void SetUnitsDistanceLong(TUnitsFormat aFormat);
2295 inline void SetNegativeCurrencyFormat(TNegativeCurrencyFormat aNegativeCurrencyFormat);
2296 inline TBool NegativeLoseSpace() const;
2297 inline void SetNegativeLoseSpace(TBool aBool);
2298 inline TBool NegativeCurrencySymbolOpposite() const;
2299 inline void SetNegativeCurrencySymbolOpposite(TBool aBool);
2300 inline TLanguage LanguageDowngrade(TInt aIndex) const; // 0 <= aIndex < 3
2301 inline void SetLanguageDowngrade(TInt aIndex, TLanguage aLanguage);
2302 inline TDigitType DigitType() const;
2303 inline void SetDigitType(TDigitType aDigitType);
2304 inline TDeviceTimeState DeviceTime() const;
2305 inline void SetDeviceTime(TDeviceTimeState aState);
2306 inline TInt RegionCode() const;
2307
2310private:
2311 friend class TExtendedLocale;
2312private:
2313 TInt iCountryCode;
2314 TTimeIntervalSeconds iUniversalTimeOffset;
2315 TDateFormat iDateFormat;
2316 TTimeFormat iTimeFormat;
2317 TLocalePos iCurrencySymbolPosition;
2318 TBool iCurrencySpaceBetween;
2319 TInt iCurrencyDecimalPlaces;
2320 TNegativeCurrencyFormat iNegativeCurrencyFormat; // replaced TBool iCurrencyNegativeInBrackets
2321 TBool iCurrencyTriadsAllowed;
2322 TChar iThousandsSeparator;
2323 TChar iDecimalSeparator;
2324 TChar iDateSeparator[KMaxDateSeparators];
2325 TChar iTimeSeparator[KMaxTimeSeparators];
2326 TLocalePos iAmPmSymbolPosition;
2327 TBool iAmPmSpaceBetween;
2328 TUint iDaylightSaving;
2329 TDaylightSavingZone iHomeDaylightSavingZone;
2330 TUint iWorkDays;
2331 TDay iStartOfWeek;
2332 TClockFormat iClockFormat;
2333 TUnitsFormat iUnitsGeneral;
2334 TUnitsFormat iUnitsDistanceShort;
2335 TUnitsFormat iUnitsDistanceLong;
2336 TUint iExtraNegativeCurrencyFormatFlags;
2337 TUint16 iLanguageDowngrade[3];
2338 TUint16 iRegionCode;
2339 TDigitType iDigitType;
2340 TDeviceTimeState iDeviceTimeState;
2341 TInt iSpare[0x1E];
2343
2371 {
2383 TLanguage iLanguage;
2384 const TText* iDateSuffixTable;
2385 const TText* iDayTable;
2386 const TText* iDayAbbTable;
2387 const TText* iMonthTable;
2388 const TText* iMonthAbbTable;
2389 const TText* iAmPmTable;
2390 const TText16* const* iMsgTable;
2398 TText iCurrencySymbol[KMaxCurrencySymbol+1];
2407 TText iShortDateFormatSpec[KMaxShortDateFormatSpec+1];
2408 TText iLongDateFormatSpec[KMaxLongDateFormatSpec+1];
2409 TText iTimeFormatSpec[KMaxTimeFormatSpec+1];
2413struct LCharSet;
2427public:
2429 // Default constructor, create an empty instance
2431
2432 // Initialise to (or restore from!) current system wide locale
2433 // settings
2434 IMPORT_C void LoadSystemSettings();
2435
2436 // Overwrite current system wide locale settings with the current
2437 // contents of this TExtendedLocale
2438 IMPORT_C TInt SaveSystemSettings();
2439
2440 //load a complete locale data from a single locale dll
2441 IMPORT_C TInt LoadLocale(const TDesC& aLocaleDllName);
2442
2443 //load a complete locale data from three locale dlls, which are language lcoale dll, region locale dll, and collation locale dll.
2444 IMPORT_C TInt LoadLocale(const TDesC& aLanguageLocaleDllName, const TDesC& aRegionLocaleDllName, const TDesC& aCollationLocaleDllName);
2445
2446 // Load an additional Locale DLL and over-ride a selected subset
2447 // (currently ELocaleLanguageSettings to select an alternative set
2448 // of language specific text strings, ELocaleCollateSetting to
2449 // select a new system collation table,
2450 // ELocaleOverRideMatchCollationTable to locally select an
2451 // alternative collation order for matching text strings, or
2452 // ELocaleOverRideSortCollationTable for ordering text strings)
2453 // of settings with its contents
2454 IMPORT_C TInt LoadLocaleAspect(TUint aAspectGroup, const TDesC& aLocaleDllName);
2455
2456 //load a locale aspect from a locale dll.
2457 //Such as load language locale aspect from locale language dll;
2458 //load region locale aspect from locale region dll;
2459 //load collation locale aspect from locale collation dll.
2460 //There are in all three aspect, which are langauge, region, and collation.
2461 IMPORT_C TInt LoadLocaleAspect(const TDesC& aLocaleDllName);
2462
2463 // Set the currency Symbol
2464 IMPORT_C TInt SetCurrencySymbol(const TDesC &aSymbol);
2465
2466 // Get the name of the DLL holding the data for a particular set
2467 // of Locale properties
2468 IMPORT_C TInt GetLocaleDllName(TLocaleAspect aLocaleDataSet, TDes& aDllName);
2469
2470 // Get the preferred collation method.
2471 // Note that some Charsets may contain more than one Collation
2472 // method (e.g "dictionary" v "phonebook" ordering) so an optional
2473 // index parameter can be used to select between them
2474 IMPORT_C TCollationMethod GetPreferredCollationMethod(TInt index = 0) ;
2475
2476 //Get the Currency Symbol
2477 IMPORT_C TPtrC GetCurrencySymbol();
2478
2479 //Get the Long Date Format
2480 IMPORT_C TPtrC GetLongDateFormatSpec();
2481
2482 //Get the Short Date Format
2483 IMPORT_C TPtrC GetShortDateFormatSpec();
2484
2485 //Get the Time Format
2486 IMPORT_C TPtrC GetTimeFormatSpec();
2487
2488 // Retrieve a reference to the encapsulated TLocale
2489 inline TLocale* GetLocale();
2490
2491private:
2492
2493 TInt DoLoadLocale(const TDesC& aLocaleDllName, TLibraryFunction* aExportList);
2494 void DoUpdateLanguageSettings(TLibraryFunction* aExportList);
2495 void DoUpdateLocaleSettings(TLibraryFunction* aExportList);
2496 void DoUpdateTimeDateFormat(TLibraryFunction* aExportList);
2498#ifdef SYMBIAN_DISTINCT_LOCALE_MODEL
2499 void DoUpdateLanguageSettingsV2(TLibraryFunction* aExportList);
2500 void DoUpdateLocaleSettingsV2(TLibraryFunction* aExportList);
2501 TInt CheckLocaleDllName(const TDesC& aLocaleDllName, TInt& languageID);
2502 void AddExtension(TDes& aFileName, TInt aExtension);
2503#endif
2504
2505private:
2506
2507 TLocale iLocale;
2508 SLocaleLanguage iLanguageSettings;
2509 SLocaleLocaleSettings iLocaleExtraSettings;
2510 SLocaleTimeDateFormat iLocaleTimeDateFormat;
2511 const LCharSet* iDefaultCharSet;
2512 const LCharSet* iPreferredCharSet;
2517
2536class TRect
2538public:
2547 IMPORT_C TRect();
2548 IMPORT_C TRect(TInt aAx,TInt aAy,TInt aBx,TInt aBy);
2549 IMPORT_C TRect(const TPoint& aPointA,const TPoint& aPointB);
2550 IMPORT_C TRect(const TPoint& aPoint,const TSize& aSize);
2551 IMPORT_C TRect(const TSize& aSize);
2552 IMPORT_C TBool operator==(const TRect& aRect) const;
2553 IMPORT_C TBool operator!=(const TRect& aRect) const;
2554 IMPORT_C void SetRect(TInt aAx,TInt aAy,TInt aBx,TInt aBy);
2555 IMPORT_C void SetRect(const TPoint& aPointTL,const TPoint& aPointBR);
2556 IMPORT_C void SetRect(const TPoint& aPoint,const TSize& aSize);
2557 IMPORT_C void Move(TInt aDx,TInt aDy);
2558 IMPORT_C void Move(const TPoint& aOffset);
2559 IMPORT_C void Resize(TInt aDx,TInt aDy);
2560 IMPORT_C void Resize(const TSize& aSize);
2561 IMPORT_C void Shrink(TInt aDx,TInt aDy);
2562 IMPORT_C void Shrink(const TSize& aSize);
2563 IMPORT_C void Grow(TInt aDx,TInt aDy);
2564 IMPORT_C void Grow(const TSize& aSize);
2565 IMPORT_C void BoundingRect(const TRect& aRect);
2566 IMPORT_C TBool IsEmpty() const;
2567 IMPORT_C TBool Intersects(const TRect& aRect) const;
2568 IMPORT_C void Intersection(const TRect& aRect);
2569 IMPORT_C void Normalize();
2570 IMPORT_C TBool Contains(const TPoint& aPoint) const;
2571 IMPORT_C TSize Size() const;
2572 IMPORT_C TInt Width() const;
2573 IMPORT_C TInt Height() const;
2574 IMPORT_C TBool IsNormalized() const;
2575 IMPORT_C TPoint Center() const;
2576 IMPORT_C void SetSize(const TSize& aSize);
2577 IMPORT_C void SetWidth(TInt aWidth);
2578 IMPORT_C void SetHeight(TInt aHeight);
2579private:
2580 void Adjust(TInt aDx,TInt aDy);
2581public:
2586
2590 TPoint iBr;
2591 };
2593
2594
2638class TRegion
2639 {
2640public:
2641 inline TInt Count() const;
2642 inline const TRect* RectangleList() const;
2643 inline TBool CheckError() const;
2644 IMPORT_C TBool IsEmpty() const;
2645 IMPORT_C TRect BoundingRect() const;
2646 IMPORT_C const TRect& operator[](TInt aIndex) const;
2647 IMPORT_C void Copy(const TRegion& aRegion);
2648 IMPORT_C void AddRect(const TRect& aRect);
2649 IMPORT_C void SubRect(const TRect& aRect,TRegion* aSubtractedRegion=NULL);
2650 IMPORT_C void Offset(TInt aXoffset,TInt aYoffset);
2651 IMPORT_C void Offset(const TPoint& aOffset);
2652 IMPORT_C void Union(const TRegion& aRegion);
2653 IMPORT_C void Intersection(const TRegion& aRegion,const TRegion& aRegion2);
2654 IMPORT_C void Intersect(const TRegion& aRegion);
2655 IMPORT_C void SubRegion(const TRegion& aRegion,TRegion* aSubtractedRegion=NULL);
2656 IMPORT_C void ClipRect(const TRect& aRect);
2657 IMPORT_C void Clear();
2658 IMPORT_C void Tidy();
2659 IMPORT_C TInt Sort();
2660 IMPORT_C TInt Sort(const TPoint& aOffset);
2661 IMPORT_C void ForceError();
2662 IMPORT_C TBool IsContainedBy(const TRect& aRect) const;
2663 IMPORT_C TBool Contains(const TPoint& aPoint) const;
2664 IMPORT_C TBool Intersects(const TRect& aRect) const;
2665protected:
2666 IMPORT_C TRect* RectangleListW();
2667 IMPORT_C TRegion(TInt aAllocedRects);
2668 inline TRegion();
2669 TBool SetListSize(TInt aCount);
2670 void AppendRect(const TRect& aRect);
2671 void DeleteRect(TRect* aRect);
2672 void AppendRegion(TRegion& aRegion);
2673 void MergeRect(const TRect& aRect, TBool aEnclosed);
2674 void SubtractRegion(const TRegion &aRegion,TRegion *aSubtractedRegion=NULL);
2675 void ShrinkRegion();
2676 TRect* ExpandRegion(TInt aCount);
2677protected:
2678 TInt iCount;
2679 TBool iError;
2681protected:
2682 enum {ERRegionBuf=0x40000000};
2700class RRegion : public TRegion
2702private:
2703 enum {EDefaultGranularity=5};
2704protected:
2705 IMPORT_C RRegion(TInt aBuf,TInt aGran);
2706public:
2707 IMPORT_C RRegion();
2708 IMPORT_C RRegion(TInt aGran);
2709 IMPORT_C RRegion(const RRegion& aRegion);
2710 IMPORT_C RRegion(const TRect& aRect,TInt aGran=EDefaultGranularity);
2711 IMPORT_C RRegion(TInt aCount,TRect* aRectangleList,TInt aGran=EDefaultGranularity);
2712 IMPORT_C void Close();
2713 IMPORT_C void Destroy();
2714 inline TInt CheckSpare() const;
2715private:
2716 TInt iGranularity;
2717 TRect* iRectangleList;
2718 friend class TRegion;
2719 };
2720
2721
2722
2741template <TInt S>
2742class RRegionBuf : public RRegion
2743 {
2744public:
2745 inline RRegionBuf();
2746 inline RRegionBuf(const RRegion& aRegion);
2747 inline RRegionBuf(const RRegionBuf<S>& aRegion);
2748 inline RRegionBuf(const TRect& aRect);
2749private:
2750 TInt8 iRectangleBuf[S*sizeof(TRect)];
2751 };
2752
2753
2754
2755
2771template <TInt S>
2772class TRegionFix : public TRegion
2774public:
2775 inline TRegionFix();
2776 inline TRegionFix(const TRect& aRect);
2777 inline TRegionFix(const TRegionFix<S>& aRegion);
2778private:
2779 TInt8 iRectangleBuf[S*sizeof(TRect)];
2805public:
2807 IMPORT_C TFindHandleBase(const TDesC& aMatch);
2808 IMPORT_C void Find(const TDesC& aMatch);
2809protected:
2810 TInt NextObject(TFullName& aResult,TInt aObjectType);
2811private:
2812
2816 TFullName iMatch;
2818
2819
2820
2821
2849public:
2851 inline TFindSemaphore(const TDesC& aMatch);
2852 IMPORT_C TInt Next(TFullName& aResult);
2853 };
2854
2856
2857
2883class TFindMutex : public TFindHandleBase
2885public:
2886 inline TFindMutex();
2887 inline TFindMutex(const TDesC& aMatch);
2888 IMPORT_C TInt Next(TFullName& aResult);
2889 };
2890
2891
2892
2893
2910class TFindChunk : public TFindHandleBase
2911 {
2912public:
2913 inline TFindChunk();
2914 inline TFindChunk(const TDesC& aMatch);
2915 IMPORT_C TInt Next(TFullName& aResult);
2919
2920
2921
2940class TFindThread : public TFindHandleBase
2941 {
2942public:
2943 inline TFindThread();
2944 inline TFindThread(const TDesC& aMatch);
2945 IMPORT_C TInt Next(TFullName& aResult);
2947
2948
2969class TFindProcess : public TFindHandleBase
2970 {
2971public:
2972 inline TFindProcess();
2973 inline TFindProcess(const TDesC& aMatch);
2974 IMPORT_C TInt Next(TFullName& aResult);
2975 };
2976
2977
2978
2999 {
3000public:
3001 inline TFindLogicalDevice();
3002 inline TFindLogicalDevice(const TDesC& aMatch);
3003 IMPORT_C TInt Next(TFullName& aResult);
3004 };
3005
3026 {
3027public:
3028 inline TFindPhysicalDevice();
3029 inline TFindPhysicalDevice(const TDesC& aMatch);
3030 IMPORT_C TInt Next(TFullName& aResult);
3031 };
3032
3036
3053class TFindServer : public TFindHandleBase
3054 {
3055public:
3056 inline TFindServer();
3057 inline TFindServer(const TDesC& aMatch);
3058 IMPORT_C TInt Next(TFullName& aResult);
3060
3061
3077class TFindLibrary : public TFindHandleBase
3078 {
3079public:
3080 inline TFindLibrary();
3081 inline TFindLibrary(const TDesC& aMatch);
3082 IMPORT_C TInt Next(TFullName& aResult);
3083 };
3084
3085
3086
3102class RDevice : public RHandleBase
3103 {
3104public:
3105 inline TInt Open(const TFindLogicalDevice& aFind,TOwnerType aType=EOwnerProcess);
3106 IMPORT_C TInt Open(const TDesC& aName,TOwnerType aType=EOwnerProcess);
3107 IMPORT_C void GetCaps(TDes8& aDes) const;
3108 IMPORT_C TBool QueryVersionSupported(const TVersion& aVer) const;
3109 IMPORT_C TBool IsAvailable(TInt aUnit, const TDesC* aPhysicalDevice, const TDesC8* anInfo) const;
3110 };
3111
3142class RTimer : public RHandleBase
3143 {
3144public:
3145 IMPORT_C TInt CreateLocal();
3146 IMPORT_C void Cancel();
3147 IMPORT_C void After(TRequestStatus& aStatus,TTimeIntervalMicroSeconds32 anInterval);
3148 IMPORT_C void AfterTicks(TRequestStatus &aStatus, TInt aTicks);
3149 IMPORT_C void At(TRequestStatus& aStatus,const TTime& aTime);
3150 IMPORT_C void AtUTC(TRequestStatus& aStatus,const TTime& aUTCTime);
3151 IMPORT_C void Lock(TRequestStatus& aStatus,TTimerLockSpec aLock);
3152 IMPORT_C void Inactivity(TRequestStatus& aStatus, TTimeIntervalSeconds aSeconds);
3153 IMPORT_C void HighRes(TRequestStatus& aStatus,TTimeIntervalMicroSeconds32 anInterval);
3154 IMPORT_C void AgainHighRes(TRequestStatus& aStatus,TTimeIntervalMicroSeconds32 anInterval);
3155 };
3159
3168class RLibrary : public RHandleBase
3169 {
3170public:
3171 IMPORT_C void Close();
3172 IMPORT_C TInt Load(const TDesC& aFileName, const TUidType& aType);
3173 IMPORT_C TInt Load(const TDesC& aFileName, const TDesC& aPath=KNullDesC);
3174 IMPORT_C TInt Load(const TDesC& aFileName, const TDesC& aPath, const TUidType& aType);
3175 IMPORT_C TInt Load(const TDesC& aFileName, const TDesC& aPath, const TUidType& aType, TUint32 aModuleVersion);
3176 IMPORT_C TInt LoadRomLibrary(const TDesC& aFileName, const TDesC& aPath);
3177 IMPORT_C TLibraryFunction Lookup(TInt anOrdinal) const;
3178 IMPORT_C TUidType Type() const;
3179 IMPORT_C TFileName FileName() const;
3180 IMPORT_C TInt GetRamSizes(TInt& aCodeSize, TInt& aConstDataSize);
3181 IMPORT_C TInt Init();
3182public:
3187 struct TInfo
3188 {
3189 TUint32 iModuleVersion;
3190 TUidType iUids;
3192 };
3193
3198 struct TInfoV2 : public TInfo
3199 {
3200 TUint8 iHardwareFloatingPoint;
3201 enum TDebugAttributes
3202 {
3203 EDebugAllowed = 1<<0,
3204 ETraceAllowed = 1<<1
3205 };
3206 TUint8 iDebugAttributes;
3207 TUint8 iSpare[6];
3208 };
3209
3214 typedef TPckgBuf<TInfo> TInfoBuf;
3221
3226 {
3227#ifdef __WINS__
3231 KRequiredImageHeaderSize = KMaxTInt
3232#else
3234#endif
3235 };
3236
3237 IMPORT_C static TInt GetInfoFromHeader(const TDesC8& aHeader, TDes8& aInfoBuf);
3243 struct SInfo
3244 {
3245 TUint32 iModuleVersion;
3248 };
3249
3254 typedef TPckgBuf<SInfo> SInfoBuf;
3255
3259 IMPORT_C static TInt GetInfo(const TDesC& aFileName, TDes8& aInfoBuf);
3260private:
3261 TInt InitL();
3262 };
3263
3265
3266
3287class RCriticalSection : private RSemaphore
3288 {
3289public:
3290 IMPORT_C RCriticalSection();
3291 IMPORT_C TInt CreateLocal(TOwnerType aType=EOwnerProcess);
3292 IMPORT_C void Close();
3293 IMPORT_C void Wait();
3294 IMPORT_C void Signal();
3295 inline TBool IsBlocked() const;
3296private:
3297 TInt iBlocked;
3298 };
3299
3300
3301
3315class RMutex : public RHandleBase
3317public:
3318 inline TInt Open(const TFindMutex& aFind,TOwnerType aType=EOwnerProcess);
3319 IMPORT_C TInt CreateLocal(TOwnerType aType=EOwnerProcess);
3320 IMPORT_C TInt CreateGlobal(const TDesC& aName,TOwnerType aType=EOwnerProcess);
3321 IMPORT_C TInt OpenGlobal(const TDesC& aName,TOwnerType aType=EOwnerProcess);
3322 IMPORT_C TInt Open(RMessagePtr2 aMessage,TInt aParam,TOwnerType aType=EOwnerProcess);
3323 IMPORT_C TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
3324 IMPORT_C void Wait();
3325 IMPORT_C TInt Poll(); // acquire the lock if possible, but don't block
3326 IMPORT_C TInt Wait(TInt aTimeout); // timeout in microseconds
3327 IMPORT_C void Signal();
3328 IMPORT_C TBool IsHeld();
3329 };
3330
3331
3332
3346class RCondVar : public RHandleBase
3348public:
3349 IMPORT_C TInt CreateLocal(TOwnerType aType=EOwnerProcess);
3350 IMPORT_C TInt CreateGlobal(const TDesC& aName, TOwnerType aType=EOwnerProcess);
3351 IMPORT_C TInt OpenGlobal(const TDesC& aName, TOwnerType aType=EOwnerProcess);
3352 IMPORT_C TInt Open(RMessagePtr2 aMessage, TInt aParam, TOwnerType aType=EOwnerProcess);
3353 IMPORT_C TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
3354 IMPORT_C TInt Wait(RMutex& aMutex);
3355 IMPORT_C TInt TimedWait(RMutex& aMutex, TInt aTimeout); // timeout in microseconds
3356 IMPORT_C void Signal();
3357 IMPORT_C void Broadcast();
3360
3361
3362class UserHeap;
3363class TChunkCreate;
3364struct TChunkCreateInfo;
3373class RChunk : public RHandleBase
3374 {
3375public:
3381 enum TRestrictions
3382 {
3384 EPreventAdjust = 0x01,
3385 };
3386public:
3387 inline TInt Open(const TFindChunk& aFind,TOwnerType aType=EOwnerProcess);
3388 IMPORT_C TInt CreateLocal(TInt aSize,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
3389 IMPORT_C TInt CreateLocalCode(TInt aSize,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
3390 IMPORT_C TInt CreateGlobal(const TDesC& aName,TInt aSize,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
3391 IMPORT_C TInt CreateDoubleEndedLocal(TInt aInitialBottom, TInt aInitialTop,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
3392 IMPORT_C TInt CreateDoubleEndedGlobal(const TDesC& aName,TInt aInitialBottom,TInt aInitialTop,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
3393 IMPORT_C TInt CreateDisconnectedLocal(TInt aInitialBottom, TInt aInitialTop,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
3394 IMPORT_C TInt CreateDisconnectedGlobal(const TDesC& aName,TInt aInitialBottom,TInt aInitialTop,TInt aMaxSize,TOwnerType aType=EOwnerProcess);
3395 IMPORT_C TInt Create(TChunkCreateInfo& aCreateInfo);
3396 IMPORT_C TInt SetRestrictions(TUint aFlags);
3397 IMPORT_C TInt OpenGlobal(const TDesC& aName,TBool isReadOnly,TOwnerType aType=EOwnerProcess);
3398 IMPORT_C TInt Open(RMessagePtr2 aMessage,TInt aParam,TBool isReadOnly,TOwnerType aType=EOwnerProcess);
3399 IMPORT_C TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
3400 IMPORT_C TInt Adjust(TInt aNewSize) const;
3401 IMPORT_C TInt AdjustDoubleEnded(TInt aBottom, TInt aTop) const;
3402 IMPORT_C TInt Commit(TInt anOffset, TInt aSize) const;
3403 IMPORT_C TInt Allocate(TInt aSize) const;
3404 IMPORT_C TInt Decommit(TInt anOffset, TInt aSize) const;
3405 IMPORT_C TInt Unlock(TInt aOffset, TInt aSize);
3406 IMPORT_C TInt Lock(TInt aOffset, TInt aSize);
3407 IMPORT_C TUint8* Base() const;
3408 IMPORT_C TInt Size() const;
3409 IMPORT_C TInt Bottom() const;
3410 IMPORT_C TInt Top() const;
3411 IMPORT_C TInt MaxSize() const;
3412 inline TBool IsReadable() const;
3413 inline TBool IsWritable() const;
3414 IMPORT_C TBool IsPaged() const;
3415private:
3416 friend class UserHeap;
3417 };
3418
3419
3427struct TChunkCreateInfo
3428 {
3429public :
3435 {
3436 EVersion0,
3438 };
3439
3440 friend class RChunk;
3445 enum TChunkPagingAtt
3446 {
3447 EUnspecified,
3448 EPaged,
3449 EUnpaged,
3450 };
3451
3452 IMPORT_C TChunkCreateInfo();
3453 IMPORT_C void SetNormal(TInt aInitialSize, TInt aMaxSize);
3454 IMPORT_C void SetCode(TInt aInitialSize, TInt aMaxSize);
3455 IMPORT_C void SetDoubleEnded(TInt aInitialBottom, TInt aInitialTop, TInt aMaxSize);
3456 IMPORT_C void SetDisconnected(TInt aInitialBottom, TInt aInitialTop, TInt aMaxSize);
3457 IMPORT_C void SetOwner(TOwnerType aType);
3458 IMPORT_C void SetGlobal(const TDesC& aName);
3459 IMPORT_C void SetClearByte(TUint8 aClearByte);
3460 IMPORT_C void SetPaging(const TChunkPagingAtt aPaging);
3461 IMPORT_C void SetReadOnly();
3462 void SetThreadHeap(TInt aInitialSize, TInt aMaxSize, const TDesC& aName);
3463
3468 IMPORT_C void SetCache(TInt aMaxSize);
3469protected :
3473 TUint iVersionNumber;
3477 TUint iType;
3481 TBool iGlobal;
3485 TInt iMaxSize;
3490 TOwnerType iOwnerType;
3496 const TDesC* iName;
3502 TInt iInitialBottom;
3517 TUint8 iClearByte;
3519 TUint8 iSpare1[3];
3521 TUint iSpare2;
3522 };
3523
3532 {
3533public:
3548 {
3549 EUnspecified,
3550 EPaged,
3551 EUnpaged,
3552 };
3553
3554 friend class UserHeap;
3555
3556 IMPORT_C TChunkHeapCreateInfo(TInt aMinLength, TInt aMaxLength);
3557 IMPORT_C void SetCreateChunk(const TDesC* aName);
3558 IMPORT_C void SetUseChunk(const RChunk aChunk);
3559 inline void SetSingleThread(TBool aSingleThread);
3560 inline void SetAlignment(TInt aAlign);
3561 inline void SetGrowBy(TInt aGrowBy);
3562 inline void SetOffset(TInt aOffset);
3563 inline void SetMode(TUint aMode);
3564 inline void SetPaging(const TChunkHeapPagingAtt aPaging);
3565
3566protected:
3570 TUint iVersionNumber;
3602 TUint iMode;
3610 RChunk iChunk;
3612 TInt iSpare[5];
3613 };
3614
3615struct SStdEpocThreadCreateInfo;
3626class UserHeap
3628public:
3637 EChunkHeapSwitchTo = 0x1,
3646 IMPORT_C static RHeap* FixedHeap(TAny* aBase, TInt aMaxLength, TInt aAlign=0, TBool aSingleThread=ETrue);
3647 IMPORT_C static RHeap* ChunkHeap(const TDesC* aName, TInt aMinLength, TInt aMaxLength, TInt aGrowBy=1, TInt aAlign=0, TBool aSingleThread=EFalse);
3648 IMPORT_C static RHeap* ChunkHeap(RChunk aChunk, TInt aMinLength, TInt aGrowBy=1, TInt aMaxLength=0, TInt aAlign=0, TBool aSingleThread=EFalse, TUint32 aMode=0);
3649 IMPORT_C static RHeap* OffsetChunkHeap(RChunk aChunk, TInt aMinLength, TInt aOffset, TInt aGrowBy=1, TInt aMaxLength=0, TInt aAlign=0, TBool aSingleThread=EFalse, TUint32 aMode=0);
3650 IMPORT_C static RHeap* ChunkHeap(const TChunkHeapCreateInfo& aCreateInfo);
3651 IMPORT_C static TInt SetupThreadHeap(TBool aNotFirst, SStdEpocThreadCreateInfo& aInfo);
3652 IMPORT_C static TInt CreateThreadHeap(SStdEpocThreadCreateInfo& aInfo, RHeap*& aHeap, TInt aAlign=0, TBool aSingleThread=EFalse);
3656
3657
3664class TObjectId
3665 {
3666public:
3667 inline TObjectId();
3668 inline TObjectId(TUint64 anId);
3669 inline TUint64 Id() const;
3670 inline operator TUint() const;
3671 inline TBool operator==(TObjectId aId) const;
3672 inline TBool operator!=(TObjectId aId) const;
3673private:
3674 TUint64 iId;
3675 };
3677
3678
3679
3692class TThreadId : public TObjectId
3693 {
3694public:
3695 inline TThreadId();
3696 inline TThreadId(TUint64 anId);
3697 };
3698
3699
3700
3701
3709struct TThreadCreateInfo
3710 {
3711public :
3717 {
3718 EVersion0,
3720 };
3721
3727 {
3728 EUnspecified,
3729 EPaged,
3730 EUnpaged,
3731 };
3733 friend class RThread;
3734
3735 IMPORT_C TThreadCreateInfo( const TDesC &aName, TThreadFunction aFunction,
3736 TInt aStackSize, TAny* aPtr);
3737 IMPORT_C void SetCreateHeap(TInt aHeapMinSize, TInt aHeapMaxSize);
3738 IMPORT_C void SetUseHeap(const RAllocator* aHeap);
3739 IMPORT_C void SetOwner(const TOwnerType aOwner);
3740 IMPORT_C void SetPaging(const TThreadPagingAtt aPaging);
3741
3742protected:
3746 TUint iVersionNumber;
3750 const TDesC* iName;
3754 TThreadFunction iFunction;
3758 TInt iStackSize;
3762 TAny* iParameter;
3766 TOwnerType iOwner;
3774 TInt iHeapMinSize;
3778 TInt iHeapMaxSize;
3784 TUint32 iSpare[6];
3798class RThread : public RHandleBase
3799 {
3800public:
3801 inline RThread();
3802 IMPORT_C TInt Create(const TDesC& aName, TThreadFunction aFunction, TInt aStackSize, TInt aHeapMinSize, TInt aHeapMaxSize, TAny *aPtr, TOwnerType aType=EOwnerProcess);
3803 IMPORT_C TInt Create(const TDesC& aName, TThreadFunction aFunction, TInt aStackSize, RAllocator* aHeap, TAny* aPtr, TOwnerType aType=EOwnerProcess);
3804 IMPORT_C TInt Create(const TThreadCreateInfo& aCreateInfo);
3805 IMPORT_C TInt Open(const TDesC& aFullName, TOwnerType aType=EOwnerProcess);
3806 IMPORT_C TInt Open(TThreadId aID, TOwnerType aType=EOwnerProcess);
3807 IMPORT_C TThreadId Id() const;
3808 IMPORT_C void Resume() const;
3809 IMPORT_C void Suspend() const;
3814 inline static TInt RenameMe(const TDesC& aName);
3815
3816 IMPORT_C void Kill(TInt aReason);
3817 IMPORT_C void Terminate(TInt aReason);
3818 IMPORT_C void Panic(const TDesC& aCategory,TInt aReason);
3819 IMPORT_C TInt Process(RProcess& aProcess) const;
3820 IMPORT_C TThreadPriority Priority() const;
3821 IMPORT_C void SetPriority(TThreadPriority aPriority) const;
3822 IMPORT_C TProcessPriority ProcessPriority() const;
3823 IMPORT_C void SetProcessPriority(TProcessPriority aPriority) const;
3824 IMPORT_C TInt RequestCount() const;
3825 IMPORT_C TExitType ExitType() const;
3826 IMPORT_C TInt ExitReason() const;
3827 IMPORT_C TExitCategoryName ExitCategory() const;
3828 IMPORT_C void RequestComplete(TRequestStatus*& aStatus,TInt aReason) const;
3829 IMPORT_C void RequestSignal() const;
3830 IMPORT_C void Logon(TRequestStatus& aStatus) const;
3831 IMPORT_C TInt LogonCancel(TRequestStatus& aStatus) const;
3832 IMPORT_C void HandleCount(TInt& aProcessHandleCount, TInt& aThreadHandleCount) const;
3833 IMPORT_C void Context(TDes8& aDes) const;
3834 IMPORT_C TInt StackInfo(TThreadStackInfo& aInfo) const;
3835 IMPORT_C TInt GetCpuTime(TTimeIntervalMicroSeconds& aCpuTime) const;
3836 inline TInt Open(const TFindThread& aFind,TOwnerType aType=EOwnerProcess);
3837 IMPORT_C void Rendezvous(TRequestStatus& aStatus) const;
3838 IMPORT_C TInt RendezvousCancel(TRequestStatus& aStatus) const;
3839 IMPORT_C static void Rendezvous(TInt aReason);
3873 IMPORT_C TSecureId SecureId() const;
3874
3907 IMPORT_C TVendorId VendorId() const;
3926#ifndef __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
3927 inline TBool HasCapability(TCapability aCapability, const char* aDiagnostic=0) const;
3928#else //__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
3929 // Only available to NULL arguments
3930 inline TBool HasCapability(TCapability aCapability, OnlyCreateWithNull aDiagnostic=NULL) const;
3931#ifndef __REMOVE_PLATSEC_DIAGNOSTICS__
3932 // For things using KSuppressPlatSecDiagnostic
3933 inline TBool HasCapability(TCapability aCapability, OnlyCreateWithNull aDiagnostic, OnlyCreateWithNull aSuppress) const;
3934#endif // !__REMOVE_PLATSEC_DIAGNOSTICS__
3935#endif // !__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
3936
3955#ifndef __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
3956 inline TBool HasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic=0) const;
3957#else //__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
3958 // Only available to NULL arguments
3959 inline TBool HasCapability(TCapability aCapability1, TCapability aCapability2, OnlyCreateWithNull aDiagnostic=NULL) const;
3960#ifndef __REMOVE_PLATSEC_DIAGNOSTICS__
3961 // For things using KSuppressPlatSecDiagnostic
3962 inline TBool HasCapability(TCapability aCapability, TCapability aCapability2, OnlyCreateWithNull aDiagnostic, OnlyCreateWithNull aSuppress) const;
3963#endif // !__REMOVE_PLATSEC_DIAGNOSTICS__
3964#endif // !__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
3965
3971 inline TInt Create(const TDesC& aName,TThreadFunction aFunction,TInt aStackSize,TAny* aPtr,RLibrary* aLibrary,RHeap* aHeap, TInt aHeapMinSize,TInt aHeapMaxSize,TOwnerType aType);
3973private:
3974 // Implementations of functions with diagnostics
3975 IMPORT_C TBool DoHasCapability(TCapability aCapability, const char* aDiagnostic) const;
3976 IMPORT_C TBool DoHasCapability(TCapability aCapability) const;
3977 IMPORT_C TBool DoHasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic) const;
3978 IMPORT_C TBool DoHasCapability(TCapability aCapability1, TCapability aCapability2) const;
3979 };
3980
3985inline TInt RThread::Create(const TDesC& /*aName*/,TThreadFunction /*aFunction*/,TInt /*aStackSize*/,TAny* /*aPtr*/,RLibrary* /*aLibrary*/,RHeap* /*aHeap*/, TInt /*aHeapMinSize*/,TInt /*aHeapMaxSize*/,TOwnerType /*aType*/)
3986 {return KErrNotSupported; }
3987
3988
3989
4002class TProcessId : public TObjectId
4004public:
4005 inline TProcessId();
4006 inline TProcessId(TUint64 anId);
4007 };
4008
4009
4010
4011
4012class RSubSessionBase;
4022class RProcess : public RHandleBase
4023 {
4024public:
4025 inline RProcess();
4026 IMPORT_C TInt Create(const TDesC& aFileName,const TDesC& aCommand,TOwnerType aType=EOwnerProcess);
4027 IMPORT_C TInt Create(const TDesC& aFileName,const TDesC& aCommand,const TUidType &aUidType, TOwnerType aType=EOwnerProcess);
4028 IMPORT_C TInt Open(const TDesC& aName,TOwnerType aType=EOwnerProcess);
4029 IMPORT_C TInt Open(TProcessId aId,TOwnerType aType=EOwnerProcess);
4030 IMPORT_C TUidType Type() const;
4031 IMPORT_C TProcessId Id() const;
4036 inline static TInt RenameMe(const TDesC& aName);
4038 IMPORT_C void Kill(TInt aReason);
4039 IMPORT_C void Terminate(TInt aReason);
4040 IMPORT_C void Panic(const TDesC& aCategory,TInt aReason);
4041 IMPORT_C void Resume();
4042 IMPORT_C TFileName FileName() const;
4043 IMPORT_C TExitType ExitType() const;
4044 IMPORT_C TInt ExitReason() const;
4045 IMPORT_C TExitCategoryName ExitCategory() const;
4046 IMPORT_C TProcessPriority Priority() const;
4047 IMPORT_C TInt SetPriority(TProcessPriority aPriority) const;
4048 IMPORT_C TBool JustInTime() const;
4049 IMPORT_C void SetJustInTime(TBool aBoolean) const;
4050 IMPORT_C void Logon(TRequestStatus& aStatus) const;
4051 IMPORT_C TInt LogonCancel(TRequestStatus& aStatus) const;
4052 IMPORT_C TInt GetMemoryInfo(TModuleMemoryInfo& aInfo) const;
4053 inline TInt Open(const TFindProcess& aFind,TOwnerType aType=EOwnerProcess);
4054 IMPORT_C void Rendezvous(TRequestStatus& aStatus) const;
4055 IMPORT_C TInt RendezvousCancel(TRequestStatus& aStatus) const;
4056 IMPORT_C static void Rendezvous(TInt aReason);
4057 IMPORT_C TBool DefaultDataPaged() const;
4058
4091 IMPORT_C TSecureId SecureId() const;
4092
4125 IMPORT_C TVendorId VendorId() const;
4144#ifndef __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
4145 inline TBool HasCapability(TCapability aCapability, const char* aDiagnostic=0) const;
4146#else //__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
4147 // Only available to NULL arguments
4148 inline TBool HasCapability(TCapability aCapability, OnlyCreateWithNull aDiagnostic=NULL) const;
4149#ifndef __REMOVE_PLATSEC_DIAGNOSTICS__
4150 // For things using KSuppressPlatSecDiagnostic
4151 inline TBool HasCapability(TCapability aCapability, OnlyCreateWithNull aDiagnostic, OnlyCreateWithNull aSuppress) const;
4152#endif // !__REMOVE_PLATSEC_DIAGNOSTICS__
4153#endif // !__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
4154
4173#ifndef __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
4174 inline TBool HasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic=0) const;
4175#else //__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
4176 // Only available to NULL arguments
4177 inline TBool HasCapability(TCapability aCapability1, TCapability aCapability2, OnlyCreateWithNull aDiagnostic=NULL) const;
4178#ifndef __REMOVE_PLATSEC_DIAGNOSTICS__
4179 // For things using KSuppressPlatSecDiagnostic
4180 inline TBool HasCapability(TCapability aCapability, TCapability aCapability2, OnlyCreateWithNull aDiagnostic, OnlyCreateWithNull aSuppress) const;
4181#endif // !__REMOVE_PLATSEC_DIAGNOSTICS__
4182#endif // !__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
4183
4184 IMPORT_C TInt SetParameter(TInt aIndex, RHandleBase aHandle);
4185 IMPORT_C TInt SetParameter(TInt aSlot, const RSubSessionBase& aSession);
4186 IMPORT_C TInt SetParameter(TInt aSlot, const TDesC16& aDes);
4187 IMPORT_C TInt SetParameter(TInt aSlot, const TDesC8& aDes);
4188 IMPORT_C TInt SetParameter(TInt aSlot, TInt aData);
4189 inline RProcess(TInt aHandle);
4190
4194 inline TUid Identity() const { return SecureId(); }
4195
4201 enum TSecureApi { ESecureApiOff, ESecureApiOn, ESecureApiQuery }; // __SECURE_API__ remove this
4202
4208 IMPORT_C TInt SecureApi(TInt aState); // __SECURE_API__ remove this
4209
4215 enum TDataCaging { EDataCagingOff, EDataCagingOn, EDataCagingQuery}; // __DATA_CAGING__ __SECURE_API__ remove this
4216
4222 IMPORT_C TInt DataCaging(TInt aState); // __DATA_CAGING__ __SECURE_API__ remove this
4223
4224
4225 IMPORT_C TInt CreateWithStackOverride(const TDesC& aFileName,const TDesC& aCommand, const TUidType &aUidType, TInt aMinStackSize, TOwnerType aType);
4226
4227 IMPORT_C static TAny* ExeExportData(void);
4228
4229private:
4230 // Implementations of functions with diagnostics
4231 IMPORT_C TBool DoHasCapability(TCapability aCapability, const char* aDiagnostic) const;
4232 IMPORT_C TBool DoHasCapability(TCapability aCapability) const;
4233 IMPORT_C TBool DoHasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic) const;
4234 IMPORT_C TBool DoHasCapability(TCapability aCapability1, TCapability aCapability2) const;
4235 };
4236
4237
4238
4239
4240
4241
4242
4243
4244
4248class RServer2 : public RHandleBase
4249 {
4250public:
4251 IMPORT_C TInt CreateGlobal(const TDesC& aName);
4252 IMPORT_C TInt CreateGlobal(const TDesC& aName, TInt aMode);
4253 IMPORT_C TInt CreateGlobal(const TDesC& aName, TInt aMode, TInt aRole, TInt aOpts);
4254 IMPORT_C void Receive(RMessage2& aMessage,TRequestStatus& aStatus);
4255 IMPORT_C void Receive(RMessage2& aMessage);
4256 IMPORT_C void Cancel();
4257 };
4258
4259
4261
4274class RSessionBase : public RHandleBase
4275 {
4276 friend class RSubSessionBase;
4277public:
4283public:
4303 inline TInt ShareAuto() { return DoShare(EAutoAttach); }
4304
4305
4325 inline TInt ShareProtected() { return DoShare(EAutoAttach|KCreateProtectedObject); }
4326
4327
4328 IMPORT_C TInt Open(RMessagePtr2 aMessage,TInt aParam,TOwnerType aType=EOwnerProcess);
4329 IMPORT_C TInt Open(RMessagePtr2 aMessage,TInt aParam,const TSecurityPolicy& aServerPolicy,TOwnerType aType=EOwnerProcess);
4330 IMPORT_C TInt Open(TInt aArgumentIndex, TOwnerType aType=EOwnerProcess);
4331 IMPORT_C TInt Open(TInt aArgumentIndex, const TSecurityPolicy& aServerPolicy, TOwnerType aType=EOwnerProcess);
4332 inline TInt SetReturnedHandle(TInt aHandleOrError);
4333 IMPORT_C TInt SetReturnedHandle(TInt aHandleOrError,const TSecurityPolicy& aServerPolicy);
4334protected:
4335 inline TInt CreateSession(const TDesC& aServer,const TVersion& aVersion);
4336 IMPORT_C TInt CreateSession(const TDesC& aServer,const TVersion& aVersion,TInt aAsyncMessageSlots);
4337 IMPORT_C TInt CreateSession(const TDesC& aServer,const TVersion& aVersion,TInt aAsyncMessageSlots,TIpcSessionType aType,const TSecurityPolicy* aPolicy=0, TRequestStatus* aStatus=0);
4338 inline TInt CreateSession(RServer2 aServer,const TVersion& aVersion);
4339 IMPORT_C TInt CreateSession(RServer2 aServer,const TVersion& aVersion,TInt aAsyncMessageSlots);
4340 IMPORT_C TInt CreateSession(RServer2 aServer,const TVersion& aVersion,TInt aAsyncMessageSlots,TIpcSessionType aType,const TSecurityPolicy* aPolicy=0, TRequestStatus* aStatus=0);
4341 inline static TInt SetReturnedHandle(TInt aHandleOrError,RHandleBase& aHandle);
4346 inline TInt CreateSession(const TDesC& aServer,const TVersion& aVersion,TInt aAsyncMessageSlots,TRequestStatus* aStatus)
4347 { return CreateSession(aServer, aVersion, aAsyncMessageSlots, EIpcSession_Unsharable, (TSecurityPolicy*)0, aStatus); }
4348 inline TInt Send(TInt aFunction,const TIpcArgs& aArgs) const;
4349 inline void SendReceive(TInt aFunction,const TIpcArgs& aArgs,TRequestStatus& aStatus) const;
4350 inline TInt SendReceive(TInt aFunction,const TIpcArgs& aArgs) const;
4351 inline TInt Send(TInt aFunction) const;
4352 inline void SendReceive(TInt aFunction,TRequestStatus& aStatus) const;
4353 inline TInt SendReceive(TInt aFunction) const;
4354private:
4355 IMPORT_C TInt DoSend(TInt aFunction,const TIpcArgs* aArgs) const;
4356 IMPORT_C void DoSendReceive(TInt aFunction,const TIpcArgs* aArgs,TRequestStatus& aStatus) const;
4357 IMPORT_C TInt DoSendReceive(TInt aFunction,const TIpcArgs* aArgs) const;
4358 TInt SendAsync(TInt aFunction,const TIpcArgs* aArgs,TRequestStatus* aStatus) const;
4359 TInt SendSync(TInt aFunction,const TIpcArgs* aArgs) const;
4360 IMPORT_C TInt DoShare(TInt aAttachMode);
4361 TInt DoConnect(const TVersion &aVersion,TRequestStatus* aStatus);
4388class RSubSessionBase
4389 {
4390public:
4391 inline TInt SubSessionHandle() const;
4392protected:
4393 inline RSubSessionBase();
4394 IMPORT_C const RSessionBase Session() const;
4395 inline TInt CreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs);
4396 inline TInt CreateSubSession(const RSessionBase& aSession,TInt aFunction);
4397 IMPORT_C TInt CreateAutoCloseSubSession(RSessionBase& aSession,TInt aFunction,const TIpcArgs& aArgs);
4398 IMPORT_C void CloseSubSession(TInt aFunction);
4399 inline TInt Send(TInt aFunction,const TIpcArgs& aArgs) const;
4400 inline void SendReceive(TInt aFunction,const TIpcArgs& aArgs,TRequestStatus& aStatus) const;
4401 inline TInt SendReceive(TInt aFunction,const TIpcArgs& aArgs) const;
4402 inline TInt Send(TInt aFunction) const;
4403 inline void SendReceive(TInt aFunction,TRequestStatus& aStatus) const;
4404 inline TInt SendReceive(TInt aFunction) const;
4405private:
4406 IMPORT_C TInt DoCreateSubSession(const RSessionBase& aSession,TInt aFunction,const TIpcArgs* aArgs);
4407 IMPORT_C TInt DoSend(TInt aFunction,const TIpcArgs* aArgs) const;
4408 IMPORT_C void DoSendReceive(TInt aFunction,const TIpcArgs* aArgs,TRequestStatus& aStatus) const;
4409 IMPORT_C TInt DoSendReceive(TInt aFunction,const TIpcArgs* aArgs) const;
4410 TInt DoCreateSubSession(RSessionBase& aSession,TInt aFunction,const TIpcArgs* aArgs, TBool aAutoClose);
4411private:
4412 RSessionBase iSession;
4413 TInt iSubSessionHandle;
4414 };
4415
4416
4417
4418
4428class RRefBase
4429 {
4430public:
4431 IMPORT_C void Free();
4432protected:
4433 inline RRefBase();
4434 inline RRefBase(const RRefBase& aRef);
4435 IMPORT_C void DoAlloc(const TAny* aPtr,TInt aSize);
4436 IMPORT_C void DoAllocL(const TAny* aPtr,TInt aSize);
4437 IMPORT_C void Copy(const RRefBase& aRef);
4438private:
4439 IMPORT_C void operator=(const RRefBase& aRef);
4440protected:
4441 TInt* iPtr;
4442 };
4443
4444
4446
4458template <class T>
4459class RRef : public RRefBase
4460 {
4461public:
4462 inline RRef();
4463 inline RRef(const RRef<T>& anObject);
4464 inline void operator=(const RRef<T>& anObject);
4465 inline T* operator->();
4466 inline operator T*();
4467 inline void Alloc(const T& anObject);
4468 inline void Alloc(const T& anObject,TInt aSize);
4469 inline void AllocL(const T& anObject);
4470 inline void AllocL(const T& anObject,TInt aSize);
4471 };
4472
4473
4474
4475
4484class RChangeNotifier : public RHandleBase
4485 {
4486public:
4487 IMPORT_C TInt Create();
4488 IMPORT_C TInt Logon(TRequestStatus& aStatus) const;
4489 IMPORT_C TInt LogonCancel() const;
4490 };
4491
4492
4493
4494
4505class RUndertaker : public RHandleBase
4506 {
4507public:
4508 IMPORT_C TInt Create();
4509 IMPORT_C TInt Logon(TRequestStatus& aStatus,TInt& aThreadHandle) const;
4510 IMPORT_C TInt LogonCancel() const;
4514
4515
4516
4517class HBufC16;
4528class RNotifier : public RSessionBase
4529 {
4530public:
4531 IMPORT_C RNotifier();
4532 IMPORT_C TInt Connect();
4533 IMPORT_C void Close();
4534 IMPORT_C TInt StartNotifier(TUid aNotifierUid,const TDesC8& aBuffer);
4535 IMPORT_C TInt StartNotifier(TUid aNotifierUid,const TDesC8& aBuffer,TDes8& aResponse);
4536 IMPORT_C TInt StartNotifier(TUid aNotifierDllUid,TUid aNotifierUid,const TDesC8& aBuffer,TDes8& aResponse);
4537 IMPORT_C TInt CancelNotifier(TUid aNotifierUid);
4538 IMPORT_C TInt UpdateNotifier(TUid aNotifierUid,const TDesC8& aBuffer,TDes8& aResponse);
4539 IMPORT_C void UpdateNotifierAndGetResponse(TRequestStatus& aRs,TUid aNotifierUid,const TDesC8& aBuffer,TDes8& aResponse);
4540 IMPORT_C void StartNotifierAndGetResponse(TRequestStatus& aRs,TUid aNotifierUid,const TDesC8& aBuffer,TDes8& aResponse);
4541 IMPORT_C void StartNotifierAndGetResponse(TRequestStatus& aRs,TUid aNotifierDllUid,TUid aNotifierUid,const TDesC8& aBuffer,TDes8& aResponse);
4542 IMPORT_C TInt UnloadNotifiers(TUid aNotifierUid);
4543 IMPORT_C TInt LoadNotifiers(TUid aNotifierUid);
4544 IMPORT_C void Notify(const TDesC& aLine1,const TDesC& aLine2,const TDesC& aBut1,const TDesC& aBut2,TInt& aButtonVal,TRequestStatus& aStatus);
4545 IMPORT_C void NotifyCancel();
4546 IMPORT_C TInt InfoPrint(const TDesC& aDes);
4547private:
4548 TPtr8 iButtonVal;
4549 HBufC16* iCombinedBuffer;
4550 };
4551
4561class TTrapHandler
4562 {
4563public:
4564 IMPORT_C TTrapHandler();
4565
4569 IMPORT_C virtual void Trap()=0;
4570
4574 IMPORT_C virtual void UnTrap()=0;
4575
4581 IMPORT_C virtual void Leave(TInt aValue)=0;
4583
4584
4587struct TCollationMethod; // forward declaration
4591
4605class Mem
4606 {
4607public:
4608 inline static TUint8* Copy(TAny* aTrg, const TAny* aSrc, TInt aLength);
4609 inline static TUint8* Move(TAny* aTrg, const TAny* aSrc, TInt aLength);
4610 inline static void Fill(TAny* aTrg, TInt aLength, TChar aChar);
4611 inline static void FillZ(TAny* aTrg, TInt aLength);
4612#ifndef __GCC32__
4613 inline static TInt Compare(const TUint8* aLeft, TInt aLeftL, const TUint8* aRight, TInt aRightL);
4614#else
4615 IMPORT_C static TInt Compare(const TUint8* aLeft, TInt aLeftL, const TUint8* aRight, TInt aRightL);
4616#endif
4617
4618 IMPORT_C static TInt Compare(const TUint16* aLeft, TInt aLeftL, const TUint16* aRight, TInt aRightL);
4619 IMPORT_C static TInt CompareF(const TUint8* aLeft, TInt aLeftL, const TUint8* aRight, TInt aRightL);
4620 IMPORT_C static TInt CompareF(const TUint16* aLeft, TInt aLeftL, const TUint16* aRight, TInt aRightL);
4621 IMPORT_C static TInt CompareC(const TUint8* aLeft, TInt aLeftL, const TUint8* aRight, TInt aRightL);
4622 IMPORT_C static TInt CompareC(const TUint16* aLeft, TInt aLeftL, const TUint16* aRight, TInt aRightL);
4623 IMPORT_C static TInt CompareC(const TUint16* aLeft, TInt aLeftL, const TUint16* aRight, TInt aRightL,
4624 TInt aMaxLevel, const TCollationMethod* aCollationMethod);
4625 IMPORT_C static TInt CollationMethods();
4626 IMPORT_C static TUint CollationMethodId(TInt aIndex);
4627 IMPORT_C static const TCollationMethod* CollationMethodByIndex(TInt aIndex);
4628 IMPORT_C static const TCollationMethod* CollationMethodById(TUint aId);
4629 IMPORT_C static const TCollationMethod* GetDefaultMatchingTable();
4630 IMPORT_C static void Swap(TAny* aPtr1, TAny* aPtr2, TInt aLength);
4631 IMPORT_C static void Crc(TUint16& aCrc, const TAny* aPtr, TInt aLength);
4632 IMPORT_C static void Crc32(TUint32& aCrc, const TAny* aPtr, TInt aLength);
4633 };
4634
4635
4636
4637
4638
4667class User : public UserHeap
4669public:
4670 // Execution control
4671 IMPORT_C static void InitProcess();
4672 IMPORT_C static void Exit(TInt aReason);
4673 IMPORT_C static void Panic(const TDesC& aCategory,TInt aReason);
4674 IMPORT_C static void HandleException(TAny* aInfo);
4675 // Cleanup support
4676 IMPORT_C static void Leave(TInt aReason);
4677 IMPORT_C static void LeaveNoMemory();
4678 IMPORT_C static TInt LeaveIfError(TInt aReason);
4679 IMPORT_C static TAny* LeaveIfNull(TAny* aPtr);
4680 inline static const TAny* LeaveIfNull(const TAny* aPtr);
4681 IMPORT_C static TTrapHandler* SetTrapHandler(TTrapHandler* aHandler);
4682 IMPORT_C static TTrapHandler* TrapHandler();
4683 IMPORT_C static TTrapHandler* MarkCleanupStack();
4684 IMPORT_C static void UnMarkCleanupStack(TTrapHandler* aHandler);
4685 IMPORT_C static void LeaveEnd();
4686 // Infoprint
4687 IMPORT_C static TInt InfoPrint(const TDesC& aDes);
4688 // Asynchronous service support
4689 IMPORT_C static void RequestComplete(TRequestStatus*& aStatus,TInt aReason);
4690 IMPORT_C static void WaitForAnyRequest();
4691 IMPORT_C static void WaitForRequest(TRequestStatus& aStatus);
4692 IMPORT_C static void WaitForRequest(TRequestStatus& aStatus1,TRequestStatus& aStatus2);
4693 IMPORT_C static void WaitForNRequest(TRequestStatus *aStatusArray[], TInt aNum);
4694 // User heap management
4695 IMPORT_C static TInt AllocLen(const TAny* aCell);
4696 IMPORT_C static TAny* Alloc(TInt aSize);
4697 IMPORT_C static TAny* AllocL(TInt aSize);
4698 IMPORT_C static TAny* AllocLC(TInt aSize);
4699 IMPORT_C static TAny* AllocZ(TInt aSize);
4700 IMPORT_C static TAny* AllocZL(TInt aSize);
4701 IMPORT_C static TInt AllocSize(TInt& aTotalAllocSize);
4702 IMPORT_C static TInt Available(TInt& aBiggestBlock);
4703 IMPORT_C static TInt CountAllocCells();
4704 IMPORT_C static TInt CountAllocCells(TInt& aFreeCount);
4705 IMPORT_C static void Free(TAny* aCell);
4706 IMPORT_C static void FreeZ(TAny*& aCell);
4707 IMPORT_C static RAllocator& Allocator();
4708 inline static RHeap& Heap();
4709 IMPORT_C static TAny* ReAlloc(TAny* aCell, TInt aSize, TInt aMode=0);
4710 IMPORT_C static TAny* ReAllocL(TAny* aCell, TInt aSize, TInt aMode=0);
4711 IMPORT_C static RAllocator* SwitchAllocator(RAllocator* aAllocator);
4712 inline static RHeap* SwitchHeap(RAllocator* aHeap);
4713 IMPORT_C static TInt CompressAllHeaps();
4714 // Synchronous timer services
4715 IMPORT_C static void After(TTimeIntervalMicroSeconds32 aInterval);
4716 IMPORT_C static TInt At(const TTime& aTime);
4717 IMPORT_C static void AfterHighRes(TTimeIntervalMicroSeconds32 aInterval);
4718 // Set time and deal with timezones
4719 IMPORT_C static TInt SetHomeTime(const TTime& aTime);
4720 IMPORT_C static TInt SetHomeTimeSecure(const TTime& aTime);
4721 IMPORT_C static TInt SetUTCTime(const TTime& aUTCTime);
4722 IMPORT_C static TInt SetUTCTimeSecure(const TTime& aUTCTime);
4723 IMPORT_C static TTimeIntervalSeconds UTCOffset();
4724 IMPORT_C static void SetUTCOffset(TTimeIntervalSeconds aOffset);
4725 IMPORT_C static TInt SetUTCTimeAndOffset(const TTime& aUTCTime, TTimeIntervalSeconds aOffset);
4726 // Set locale information
4727 IMPORT_C static TInt SetCurrencySymbol(const TDesC& aSymbol);
4728 // Set floating point mode
4729 IMPORT_C static TInt SetFloatingPointMode(TFloatingPointMode aMode, TFloatingPointRoundingMode aRoundingMode=EFpRoundToNearest);
4730 // Timers
4731 IMPORT_C static TUint TickCount();
4732 IMPORT_C static TUint32 NTickCount();
4733 IMPORT_C static TTimerLockSpec LockPeriod();
4735 IMPORT_C static void ResetInactivityTime();
4736 IMPORT_C static TUint32 FastCounter();
4737 // Atomic operations
4738 IMPORT_C static TInt LockedInc(TInt& aValue);
4739 IMPORT_C static TInt LockedDec(TInt& aValue);
4740 IMPORT_C static TInt SafeInc(TInt& aValue);
4741 IMPORT_C static TInt SafeDec(TInt& aValue);
4742 // Beep
4743 IMPORT_C static TInt Beep(TInt aFrequency,TTimeIntervalMicroSeconds32 aDuration);
4744 // Information
4745 IMPORT_C static TInt IsRomAddress(TBool& aBool,TAny* aPtr);
4746 // Algorithms
4747 IMPORT_C static TInt BinarySearch(TInt aCount,const TKey& aKey,TInt& aPos);
4748 IMPORT_C static TInt QuickSort(TInt aCount,const TKey& aKey,const TSwap& aSwap);
4749 // Language-dependent character functions
4750 IMPORT_C static TLanguage Language();
4751 IMPORT_C static TRegionCode RegionCode();
4752 IMPORT_C static TUint Collate(TUint aChar);
4753 IMPORT_C static TUint Fold(TUint aChar);
4754 IMPORT_C static TUint LowerCase(TUint aChar);
4755 IMPORT_C static TUint UpperCase(TUint aChar);
4756 IMPORT_C static TUint Fold(TUint aChar,TInt aFlags);
4757 IMPORT_C static TUint TitleCase(TUint aChar);
4758 // C-style string length
4759 IMPORT_C static TInt StringLength(const TUint8* aString);
4760 IMPORT_C static TInt StringLength(const TUint16* aString);
4761 // Device management
4762 IMPORT_C static TInt FreeLogicalDevice(const TDesC& aDeviceName);
4763 IMPORT_C static TInt FreePhysicalDevice(const TDesC& aDriverName);
4764 IMPORT_C static TInt LoadLogicalDevice(const TDesC& aFileName);
4765 IMPORT_C static TInt LoadPhysicalDevice(const TDesC& aFileName);
4766 // Version information
4767 IMPORT_C static TBool QueryVersionSupported(const TVersion& aCurrent,const TVersion& aRequested);
4768 IMPORT_C static TVersion Version();
4769 // Machine configuration
4770 IMPORT_C static TInt SetMachineConfiguration(const TDesC8& aConfig);
4771 IMPORT_C static TInt MachineConfiguration(TDes8& aConfig,TInt& aSize);
4772 // Debugging support
4773 IMPORT_C static void SetDebugMask(TUint32 aVal);
4774 IMPORT_C static void SetDebugMask(TUint32 aVal, TUint aIndex);
4775 IMPORT_C static void SetJustInTime(const TBool aBoolean);
4776 IMPORT_C static void Check();
4777 IMPORT_C static void Invariant();
4778 IMPORT_C static TBool JustInTime();
4779 IMPORT_C static void __DbgMarkStart(TBool aKernel);
4780 IMPORT_C static void __DbgMarkCheck(TBool aKernel, TBool aCountAll, TInt aCount, const TUint8* aFileName, TInt aLineNum);
4781 IMPORT_C static TUint32 __DbgMarkEnd(TBool aKernel, TInt aCount);
4782 IMPORT_C static void __DbgSetAllocFail(TBool aKernel, RAllocator::TAllocFail aFail, TInt aRate);
4783 IMPORT_C static RAllocator::TAllocFail __DbgGetAllocFail(TBool aKernel);
4784 IMPORT_C static void __DbgSetBurstAllocFail(TBool aKernel, RAllocator::TAllocFail aFail, TUint aRate, TUint aBurst);
4785 IMPORT_C static TUint __DbgCheckFailure(TBool aKernel);
4786 IMPORT_C static void PanicUnexpectedLeave();
4787 // Name Validation
4788 IMPORT_C static TInt ValidateName(const TDesC& aName);
4789 // Instruction Memory Barrier
4790 IMPORT_C static void IMB_Range(TAny* aStart, TAny* aEnd);
4791 //
4792 IMPORT_C static TInt CommandLineLength();
4793 IMPORT_C static void CommandLine(TDes &aCommand);
4794 IMPORT_C static TExceptionHandler ExceptionHandler();
4795 IMPORT_C static TInt SetExceptionHandler(TExceptionHandler aHandler,TUint32 aMask);
4796 IMPORT_C static void ModifyExceptionMask(TUint32 aClearMask, TUint32 aSetMask);
4797 IMPORT_C static TInt RaiseException(TExcType aType);
4798 IMPORT_C static TBool IsExceptionHandled(TExcType aType);
4799
4818 enum TCritical {
4819
4820
4836 ENotCritical,
4837
4838
4852
4863
4864
4909
4910
4934 };
4935 IMPORT_C static TCritical Critical();
4936 IMPORT_C static TCritical Critical(RThread aThread);
4937 IMPORT_C static TInt SetCritical(TCritical aCritical);
4938 IMPORT_C static TCritical ProcessCritical();
4939 IMPORT_C static TCritical ProcessCritical(RProcess aProcess);
4940 IMPORT_C static TInt SetProcessCritical(TCritical aCritical);
4941 IMPORT_C static TBool PriorityControl();
4942 IMPORT_C static void SetPriorityControl(TBool aEnable);
4943
4955 enum TRealtimeState
4956 {
4986 IMPORT_C static TVendorId CreatorVendorId();
4987
5005#ifndef __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
5006 inline static TBool CreatorHasCapability(TCapability aCapability, const char* aDiagnostic=0);
5007#else //__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
5008 // Only available to NULL arguments
5009 inline static TBool CreatorHasCapability(TCapability aCapability, OnlyCreateWithNull aDiagnostic=NULL);
5010#ifndef __REMOVE_PLATSEC_DIAGNOSTICS__
5011 // For things using KSuppressPlatSecDiagnostic
5012 inline static TBool CreatorHasCapability(TCapability aCapability, OnlyCreateWithNull aDiagnostic, OnlyCreateWithNull aSuppress);
5013#endif // !__REMOVE_PLATSEC_DIAGNOSTICS__
5014#endif // !__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
5015
5034#ifndef __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
5035 inline static TBool CreatorHasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic=0);
5036#else //__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
5037 // Only available to NULL arguments
5038 inline static TBool CreatorHasCapability(TCapability aCapability1, TCapability aCapability2, OnlyCreateWithNull aDiagnostic=NULL);
5039#ifndef __REMOVE_PLATSEC_DIAGNOSTICS__
5040 // For things using KSuppressPlatSecDiagnostic
5041 inline static TBool CreatorHasCapability(TCapability aCapability, TCapability aCapability2, OnlyCreateWithNull aDiagnostic, OnlyCreateWithNull aSuppress);
5042#endif // !__REMOVE_PLATSEC_DIAGNOSTICS__
5043#endif // !__REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__
5045 IMPORT_C static TInt ParameterLength(TInt aSlot);
5046 IMPORT_C static TInt GetTIntParameter(TInt aSlot, TInt& aData);
5047 IMPORT_C static TInt GetDesParameter(TInt aSlot, TDes8& aDes);
5048 IMPORT_C static TInt GetDesParameter(TInt aSlot, TDes16& aDes);
5049 IMPORT_C static TInt RenameThread(const TDesC &aName);
5050 IMPORT_C static TInt RenameProcess(const TDesC &aName);
5052 User::Identity() has been deprecated and is available for backward
5053 compatibility purposes only.
5055 Use RProcess().SecureId() instead.
5057 @deprecated
5059 inline static TUid Identity() { return RProcess().SecureId(); }
5062 User::CreatorIdentity() has been deprecated and is available for backward
5063 compatibility purposes only.
5065 Use CreatorSecureId() instead.
5067 @deprecated
5068 */
5069 static inline TUid CreatorIdentity() { return CreatorSecureId(); }
5071 IMPORT_C static void NotifyOnIdle(TRequestStatus& aStatus);
5072 IMPORT_C static void CancelMiscNotifier(TRequestStatus& aStatus);
5073private:
5074 // Implementations of functions with diagnostics
5075 IMPORT_C static TBool DoCreatorHasCapability(TCapability aCapability, const char* aDiagnostic);
5076 IMPORT_C static TBool DoCreatorHasCapability(TCapability aCapability);
5077 IMPORT_C static TBool DoCreatorHasCapability(TCapability aCapability1, TCapability aCapability2, const char* aDiagnostic);
5078 IMPORT_C static TBool DoCreatorHasCapability(TCapability aCapability1, TCapability aCapability2);
5080
5082
5084class ExecHandler;
5090typedef void (*TTlsCleanupHandler)(TAny*); //don't use
5091
5112class Dll
5114public:
5115 static TInt SetTls(TAny* aPtr);
5116 static TAny* Tls();
5117 static void FreeTls();
5118 static void FileName(TFileName &aFileName);
5120
5123
5124#ifndef __TOOLS__
5144template <class T,TInt S>
5145class TFixedArray
5147 typedef TFixedArray<T,S> ThisClass;
5148public:
5149 inline TFixedArray();
5150 inline TFixedArray(const T* aList, TInt aLength);
5152 inline void Copy(const T* aList, TInt aLength);
5153 inline void Reset(); // zero fill
5154 inline void DeleteAll();
5155 //
5156 inline TInt Count() const;
5157 inline TInt Length() const;
5158 // Accessors - debug range checking
5159 inline T& operator[](TInt aIndex);
5160 inline const T& operator[] (TInt aIndex) const;
5161 // Accessors - always range checking
5162 inline T& At(TInt aIndex);
5163 inline const T& At(TInt aIndex) const;
5164 // Provides pointers to the beginning and end of the array
5165 inline T* Begin();
5166 inline T* End();
5167 inline const T* Begin() const;
5168 inline const T* End() const;
5169 //
5170 inline TArray<T> Array() const;
5171protected:
5172 inline static TBool InRange(TInt aIndex);
5173 inline static TInt CountFunctionR(const CBase* aThis);
5174 inline static const TAny* AtFunctionR(const CBase* aThis,TInt aIndex);
5175protected:
5176 T iRep[S];
5177 };
5178
5179
5180
5181
5186#define DECLARE_ROM_ARRAY( AName, AData, AType ) \
5187 const TFixedArray<AType,(sizeof(AData)/sizeof((AData)[0]))>& \
5188 AName = *(reinterpret_cast<const TFixedArray<AType, \
5189 (sizeof(AData)/sizeof((AData)[0]))>* > (AData))
5190#endif
5191
5192// Global leaving operator new
5197inline TAny* operator new(TUint aSize, TLeave);
5202inline TAny* operator new(TUint aSize, TLeave, TUint aExtraSize);
5203#if !defined(__VC32__) || defined (__MSVCDOTNET__)
5208inline TAny* operator new[](TUint aSize, TLeave);
5209#endif
5210
5211
5212#ifdef __LEAVE_EQUALS_THROW__
5221#define __ASSERT_ALWAYS_NO_LEAVE(_s) \
5222 { \
5223 try { \
5224 TTrapHandler* ____t = User::MarkCleanupStack(); \
5225 _s; \
5226 User::UnMarkCleanupStack(____t); \
5227 } \
5228 catch (XLeaveException& /*l*/) \
5229 { \
5230 User::PanicUnexpectedLeave(); \
5231 } \
5232 catch (...) \
5233 { \
5234 User::Invariant(); \
5235 } \
5236 }
5237
5238#else
5247#define __ASSERT_ALWAYS_NO_LEAVE(_s) \
5248 { \
5249 TInt _r; \
5250 TTrap _t; \
5251 if (_t.Trap(_r) == 0) \
5252 { \
5253 _s; \
5254 TTrap::UnTrap(); \
5255 } \
5256 else \
5257 User::PanicUnexpectedLeave(); \
5258 }
5259#endif
5260
5269#ifdef _DEBUG
5270#define __ASSERT_DEBUG_NO_LEAVE(_s) __ASSERT_ALWAYS_NO_LEAVE(_s)
5271#else
5272#define __ASSERT_DEBUG_NO_LEAVE(_s) { _s; }
5273#endif
5274
5275
5276
5277// Inline methods
5278#include <e32std.inl>
5279
5280#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
5281#include <e32std_private.h>
5282#endif
5283
5284#endif
5285
Container Base Class.
Definition e32base.h:60
A collection of static functions involved in managing access to thread-local storage.
Definition e32std.h:5483
static TAny * Tls()
static void FreeTls()
static void FileName(TFileName &aFileName)
static TInt SetTls(TAny *aPtr)
Contains a set of static functions which perform manipulation of data in memory.
Definition e32std.h:4958
static IMPORT_C void Swap(TAny *aPtr1, TAny *aPtr2, TInt aLength)
Swaps a number of bytes of data between two specified locations.
static TUint8 * Move(TAny *aTrg, const TAny *aSrc, TInt aLength)
Moves a block of data from a source location to a target location and returns a pointer to the end of...
static IMPORT_C void Crc32(TUint32 &aCrc, const TAny *aPtr, TInt aLength)
Performs a CCITT CRC-32 checksum on the specified data.
static IMPORT_C void Crc(TUint16 &aCrc, const TAny *aPtr, TInt aLength)
Performs a CCITT CRC checksum on the specified data.
static IMPORT_C TInt CompareF(const TUint8 *aLeft, TInt aLeftL, const TUint8 *aRight, TInt aRightL)
Compares a block of data at one specified location with a block of data at another specified location...
static void FillZ(TAny *aTrg, TInt aLength)
Fills a specified block of data with binary zeroes (i.e.
static IMPORT_C TUint CollationMethodId(TInt aIndex)
Gets the Uid associated with the specified collation method.
static IMPORT_C const TCollationMethod * GetDefaultMatchingTable()
Gets the collation method specific for matching purpose.
static IMPORT_C TInt CompareC(const TUint8 *aLeft, TInt aLeftL, const TUint8 *aRight, TInt aRightL)
Compares a block of data at one specified location with a block of data at another specified location...
static IMPORT_C TInt CollationMethods()
Gets the number of collation methods in this locale.
static TUint8 * Copy(TAny *aTrg, const TAny *aSrc, TInt aLength)
Copies data from a source location to a target location and returns a pointer to the end of the copie...
static TInt Compare(const TUint8 *aLeft, TInt aLeftL, const TUint8 *aRight, TInt aRightL)
Compares a block of data at one specified location with a block of data at another specified location...
static IMPORT_C const TCollationMethod * CollationMethodByIndex(TInt aIndex)
Gets the collation method identified by the specified index.
static IMPORT_C const TCollationMethod * CollationMethodById(TUint aId)
Gets the collation method identified by the specified Uid.
static void Fill(TAny *aTrg, TInt aLength, TChar aChar)
Fills a specified block of data with a specified character, replacing any existing content.
Base class for heaps.
Definition e32cmn.h:2821
TAllocFail
A set of heap allocation failure flags.
Definition e32cmn.h:2831
A handle to a change notifier.
Definition e32std.h:4829
IMPORT_C TInt Logon(TRequestStatus &aStatus) const
Issues a request for notification when changes occur in the environment.
IMPORT_C TInt Create()
Creates a change notifier, and opens this handle to that change notifier.
IMPORT_C TInt LogonCancel() const
Cancels an outstanding change notification request.
A handle to a chunk.
Definition e32std.h:3564
IMPORT_C TInt MaxSize() const
Gets the maximum size of this chunk.
TInt Open(const TFindChunk &aFind, TOwnerType aType=EOwnerProcess)
Opens a handle to the global chunk found using a TFindChunk object.
IMPORT_C TInt SetRestrictions(TUint aFlags)
Sets or removes restrictions on the ability of the chunk to change.
IMPORT_C TInt AdjustDoubleEnded(TInt aBottom, TInt aTop) const
Changes the number of bytes and the position of this double ended chunk's committed region.
TBool IsReadable() const
Tests whether the chunk is mapped into its process address space.
TRestrictions
Set of flags used by SetRestrictions().
Definition e32std.h:3572
@ EPreventAdjust
Prevent Adjust, Commit, Allocate and Decommit.
Definition e32std.h:3574
IMPORT_C TUint8 * Base() const
Gets a pointer to the base of the chunk's reserved region.
IMPORT_C TInt Adjust(TInt aNewSize) const
Changes the number of bytes committed to the chunk.
IMPORT_C TInt CreateLocal(TInt aSize, TInt aMaxSize, TOwnerType aType=EOwnerProcess)
Creates a local chunk.
IMPORT_C TInt CreateDisconnectedGlobal(const TDesC &aName, TInt aInitialBottom, TInt aInitialTop, TInt aMaxSize, TOwnerType aType=EOwnerProcess)
Creates a global, disconnected, chunk.
IMPORT_C TInt Unlock(TInt aOffset, TInt aSize)
Internal technology API.
IMPORT_C TInt CreateDisconnectedLocal(TInt aInitialBottom, TInt aInitialTop, TInt aMaxSize, TOwnerType aType=EOwnerProcess)
Creates a local, disconnected chunk.
IMPORT_C TInt CreateDoubleEndedGlobal(const TDesC &aName, TInt aInitialBottom, TInt aInitialTop, TInt aMaxSize, TOwnerType aType=EOwnerProcess)
Creates a global, double ended, chunk.
IMPORT_C TInt Decommit(TInt anOffset, TInt aSize) const
Decommits memory from a disconnected chunk.
IMPORT_C TInt Bottom() const
Gets the offset of the bottom of the double ended chunk's committed region from the base of the chunk...
IMPORT_C TInt Lock(TInt aOffset, TInt aSize)
Internal technology API.
IMPORT_C TInt CreateGlobal(const TDesC &aName, TInt aSize, TInt aMaxSize, TOwnerType aType=EOwnerProcess)
Creates a global chunk.
IMPORT_C TInt Allocate(TInt aSize) const
Allocates and commits to a disconnected chunk.
IMPORT_C TInt OpenGlobal(const TDesC &aName, TBool isReadOnly, TOwnerType aType=EOwnerProcess)
Opens a handle to a specific named global chunk.
IMPORT_C TInt Commit(TInt anOffset, TInt aSize) const
Commits memory to a disconnected chunk.
TBool IsWritable() const
Tests whether the chunk mapped into its process address space and is writable.
IMPORT_C TInt CreateLocalCode(TInt aSize, TInt aMaxSize, TOwnerType aType=EOwnerProcess)
Creates a user writable chunk that is marked by the kernel as containing code.
IMPORT_C TInt Create(TChunkCreateInfo &aCreateInfo)
Creates a chunk of the type specified by the parameter aCreateInfo.
IMPORT_C TBool IsPaged() const
This can be used to determine whether the data for the chunk is demand paged or not.
IMPORT_C TInt Top() const
Gets the offset of the top of the double ended chunk's committed region from the base of the chunk's ...
IMPORT_C TInt CreateDoubleEndedLocal(TInt aInitialBottom, TInt aInitialTop, TInt aMaxSize, TOwnerType aType=EOwnerProcess)
Creates a local, double ended, chunk.
IMPORT_C TInt Size() const
Gets the current size of this chunk's committed region.
A handle to a condition variable.
Definition e32std.h:3535
IMPORT_C TInt CreateLocal(TOwnerType aType=EOwnerProcess)
Creates a condition variable and opens this handle to it.
IMPORT_C TInt Wait(RMutex &aMutex)
Wait on a condition variable.
IMPORT_C TInt Open(RMessagePtr2 aMessage, TInt aParam, TOwnerType aType=EOwnerProcess)
Opens a handle to a condition variable using a handle number sent by a client to a server.
IMPORT_C void Broadcast()
Broadcast to a condition variable.
IMPORT_C TInt CreateGlobal(const TDesC &aName, TOwnerType aType=EOwnerProcess)
Creates a global condition variable and opens this handle to it.
IMPORT_C TInt TimedWait(RMutex &aMutex, TInt aTimeout)
Wait on a condition variable with timeout.
IMPORT_C TInt OpenGlobal(const TDesC &aName, TOwnerType aType=EOwnerProcess)
Opens a handle to a global condition variable.
IMPORT_C void Signal()
Signal a condition variable.
A handle to a critical section.
Definition e32std.h:3472
IMPORT_C RCriticalSection()
Default constructor.
IMPORT_C void Signal()
Signals an exit from the critical section.
TBool IsBlocked() const
Tests whether the critical section is occupied by any thread.
IMPORT_C void Wait()
Waits for the critical section to become free.
IMPORT_C TInt CreateLocal(TOwnerType aType=EOwnerProcess)
Creates a critical section and opens this handle to the critical section.
IMPORT_C void Close()
Closes the handle to the critical section.
User side handle to an LDD factory object, an instance of a DLogicalDevice derived class.
Definition e32std.h:3265
IMPORT_C void GetCaps(TDes8 &aDes) const
Gets the device capabilities.
IMPORT_C TBool QueryVersionSupported(const TVersion &aVer) const
Checks if a device supports a particular version.
IMPORT_C TBool IsAvailable(TInt aUnit, const TDesC *aPhysicalDevice, const TDesC8 *anInfo) const
Checks if a specified unit number, additional info and a specific PDD is supported.
TInt Open(const TFindLogicalDevice &aFind, TOwnerType aType=EOwnerProcess)
Opens a handle to an LDD factory object found using a TFindLogicalDevice object.
A handle to an object.
Definition e32cmn.h:2569
Represents the default implementation for a heap.
Definition e32cmn.h:3026
A handle to a dynamically loadable DLL.
Definition e32std.h:3335
TPckgBuf< TInfo > TInfoBuf
Definition e32std.h:3386
IMPORT_C TInt Init()
Internal technology API.
TPckgBuf< TInfoV2 > TInfoBufV2
Definition e32std.h:3394
IMPORT_C TInt Load(const TDesC &aFileName, const TUidType &aType)
Loads the named DLL which matches the specified UID type.
IMPORT_C TInt LoadRomLibrary(const TDesC &aFileName, const TDesC &aPath)
static IMPORT_C TInt GetInfoFromHeader(const TDesC8 &aHeader, TDes8 &aInfoBuf)
Gets information about an executable binary, (DLL or EXE), based on header data from that binaries im...
IMPORT_C void Close()
Closes the DLL.
TPckgBuf< SInfo > SInfoBuf
Definition e32std.h:3434
TRequiredImageHeaderSize
Definition e32std.h:3402
@ KRequiredImageHeaderSize
Definition e32std.h:3409
IMPORT_C TInt GetRamSizes(TInt &aCodeSize, TInt &aConstDataSize)
Gets the current size of the code and the const data for this DLL.
IMPORT_C TFileName FileName() const
Gets the name of the DLL's file.
IMPORT_C TUidType Type() const
Gets this DLL's UID type.
static IMPORT_C TInt GetInfo(const TDesC &aFileName, TDes8 &aInfoBuf)
Gets information about the specified DLL.
IMPORT_C TLibraryFunction Lookup(TInt anOrdinal) const
Gets a pointer to the function at the specified ordinal within this DLL.
An object that encapsulates the details of a client request.
Definition e32cmn.h:3465
A handle to a message sent by the client to the server.
Definition e32cmn.h:3206
A handle to a mutex.
Definition e32std.h:3502
IMPORT_C void Signal()
Release the mutex.
IMPORT_C TBool IsHeld()
Test if this mutex is held by the current thread.
IMPORT_C void Wait()
Acquire the mutex, waiting for it to become free if necessary.
TInt Open(const TFindMutex &aFind, TOwnerType aType=EOwnerProcess)
Opens a handle to the global mutex found using a TFindMutex object.
IMPORT_C TInt Poll()
IMPORT_C TInt CreateGlobal(const TDesC &aName, TOwnerType aType=EOwnerProcess)
Creates a global mutex and opens this handle to the mutex.
IMPORT_C TInt OpenGlobal(const TDesC &aName, TOwnerType aType=EOwnerProcess)
Opens a handle to a global mutex.
IMPORT_C TInt CreateLocal(TOwnerType aType=EOwnerProcess)
Creates a mutex and opens this handle to the mutex.
A handle to a session with the extended notifier server that provides support for plug-in notifiers.
Definition e32std.h:4877
IMPORT_C TInt CancelNotifier(TUid aNotifierUid)
Requests the extended notifier server to cancel the notifier identified by the specified UID.
IMPORT_C void Notify(const TDesC &aLine1, const TDesC &aLine2, const TDesC &aBut1, const TDesC &aBut2, TInt &aButtonVal, TRequestStatus &aStatus)
Launches a simple two line dialog that displays two lines of text.
IMPORT_C void StartNotifierAndGetResponse(TRequestStatus &aRs, TUid aNotifierUid, const TDesC8 &aBuffer, TDes8 &aResponse)
Requests the extended notifier server to start the notifier identified by the specified UID.
IMPORT_C void NotifyCancel()
Not implemented by the server.
IMPORT_C TInt InfoPrint(const TDesC &aDes)
IMPORT_C TInt LoadNotifiers(TUid aNotifierUid)
This function has never been implemented on any Symbian OS version.
IMPORT_C TInt StartNotifier(TUid aNotifierUid, const TDesC8 &aBuffer)
Requests the extended notifier server to start the notifier identified by the specified UID.
IMPORT_C TInt Connect()
Connects to the extended notifier server, creating a session with that server.
IMPORT_C TInt UnloadNotifiers(TUid aNotifierUid)
This function has never been implemented on any Symbian OS version.
IMPORT_C void Close()
Closes the notifier.
IMPORT_C void UpdateNotifierAndGetResponse(TRequestStatus &aRs, TUid aNotifierUid, const TDesC8 &aBuffer, TDes8 &aResponse)
Requests the extended notifier server to update the active notifier identified by the specified UID.
IMPORT_C TInt UpdateNotifier(TUid aNotifierUid, const TDesC8 &aBuffer, TDes8 &aResponse)
Requests the extended notifier server to update the active notifier identified by the specified UID.
IMPORT_C RNotifier()
Default constructor.
A handle to a process.
Definition e32std.h:4335
IMPORT_C TInt Create(const TDesC &aFileName, const TDesC &aCommand, TOwnerType aType=EOwnerProcess)
Starts a new process, loading the specified executable.
IMPORT_C TBool JustInTime() const
Tests whether "Just In Time" debugging is enabled or not for this process.
IMPORT_C TInt DataCaging(TInt aState)
RProcess()
Default constructor.
@ EDataCagingOff
Definition e32std.h:4545
@ EDataCagingQuery
Definition e32std.h:4545
@ EDataCagingOn
Definition e32std.h:4545
IMPORT_C TUidType Type() const
Gets the Uid type associated with the process.
IMPORT_C TInt SetPriority(TProcessPriority aPriority) const
Sets the priority of this process to one of the values defined by theTProcessPriority enumeration.
TBool HasCapability(TCapability aCapability, const char *aDiagnostic=0) const
IMPORT_C TExitCategoryName ExitCategory() const
Gets the name of the category associated with the end of the process.
IMPORT_C void Panic(const TDesC &aCategory, TInt aReason)
Panics the process and all of its owned threads, specifying the panic category name and reason code.
IMPORT_C TProcessPriority Priority() const
Gets the priority of this process.
IMPORT_C void Logon(TRequestStatus &aStatus) const
Requests notification when this process dies, normally or otherwise.
IMPORT_C void Rendezvous(TRequestStatus &aStatus) const
Creates a Rendezvous request with the process.
IMPORT_C TBool DefaultDataPaged() const
This can be used to determine whether the data for the process is demand paged by default or not.
IMPORT_C TFileName FileName() const
Gets a copy of the full path name of the loaded executable on which this process is based.
IMPORT_C TExitType ExitType() const
Tests whether the process has ended and, if it has ended, return how it ended.
IMPORT_C TInt SetParameter(TInt aIndex, RHandleBase aHandle)
Sets the specified handle into the specified environment data slot for this process.
IMPORT_C void Terminate(TInt aReason)
Ends this process, and all of its threads, specifying a reason code.
IMPORT_C TInt Open(const TDesC &aName, TOwnerType aType=EOwnerProcess)
Opens a handle to a specifically named process.
IMPORT_C TInt RendezvousCancel(TRequestStatus &aStatus) const
Cancels a previously requested Rendezvous with the process.
IMPORT_C TInt LogonCancel(TRequestStatus &aStatus) const
Cancels an outstanding request for notification of the death of this process.
static TInt RenameMe(const TDesC &aName)
IMPORT_C TInt CreateWithStackOverride(const TDesC &aFileName, const TDesC &aCommand, const TUidType &aUidType, TInt aMinStackSize, TOwnerType aType)
Starts a new process, loading the specified executable which matches the specified UID type and the m...
IMPORT_C void SetJustInTime(TBool aBoolean) const
Enables or disables "Just In Time" debugging for this process.
TUid Identity() const
Definition e32std.h:4518
IMPORT_C TInt ExitReason() const
Gets the specific reason associated with the end of this process.
@ ESecureApiOff
Definition e32std.h:4527
@ ESecureApiOn
Definition e32std.h:4527
@ ESecureApiQuery
Definition e32std.h:4527
IMPORT_C void Resume()
Makes the first thread in the process eligible for execution.
static IMPORT_C TAny * ExeExportData(void)
Retrieves pointer to named symbol export data from the current process, i.e.
IMPORT_C void Kill(TInt aReason)
Ends this process, and all of its threads, specifying a reason code.
IMPORT_C TVendorId VendorId() const
IMPORT_C TInt GetMemoryInfo(TModuleMemoryInfo &aInfo) const
Gets the size and base address of the code and various data sections of the process.
IMPORT_C TProcessId Id() const
Gets the Id of this process.
IMPORT_C TInt SecureApi(TInt aState)
IMPORT_C TSecureId SecureId() const
Base class that provides an implementation for the templated RRef class.
Definition e32std.h:4769
IMPORT_C void DoAlloc(const TAny *aPtr, TInt aSize)
Creates a copy of an object, which is to be contained by this reference object.
IMPORT_C void Copy(const RRefBase &aRef)
Provides an implementation for the RRef class copy constructor and assignment operator.
IMPORT_C void DoAllocL(const TAny *aPtr, TInt aSize)
Creates a copy of an object, which is to be contained by this reference object, and leaves on error.
RRefBase()
Default constructor.
TInt * iPtr
Definition e32std.h:4781
IMPORT_C void Free()
Frees the memory holding the contained object.
Contains, or packages, a copy of an instance of another class.
Definition e32std.h:4802
T * operator->()
Gets a pointer to the contained object.
void AllocL(const T &anObject)
Creates a copy of the specified object, which is to be contained by this reference object,...
void Alloc(const T &anObject)
Creates a copy of the specified object, which is to be contained by this reference object.
RRef()
Default constructor.
void operator=(const RRef< T > &anObject)
Assignment operator.
Region with pre-allocated buffer.
Definition e32std.h:2882
RRegionBuf()
Constructs a default object.
Expandable region.
Definition e32std.h:2838
IMPORT_C RRegion()
Default constructor.
IMPORT_C void Destroy()
Deletes the region.
IMPORT_C void Close()
Closes the region.
TInt CheckSpare() const
Gets the number of free memory slots in the region.
A handle to a semaphore.
Definition e32cmn.h:2636
IMPORT_C void Receive(RMessage2 &aMessage, TRequestStatus &aStatus)
IMPORT_C TInt CreateGlobal(const TDesC &aName)
IMPORT_C void Cancel()
Client-side handle to a session with a server.
Definition e32std.h:4611
TAttachMode
Indicates whether or not threads in the process are automatically attached to the session when passed...
Definition e32std.h:4618
@ EExplicitAttach
Definition e32std.h:4618
void SendReceive(TInt aFunction, const TIpcArgs &aArgs, TRequestStatus &aStatus) const
Issues an asynchronous request to the server with the specified function number and arguments.
TInt CreateSession(const TDesC &aServer, const TVersion &aVersion)
Creates a session with a server, specifying no message slots.
TInt ShareProtected()
Creates a session handle that can be be passed via IPC to another process as well as being shared by ...
Definition e32std.h:4661
IMPORT_C TInt Open(RMessagePtr2 aMessage, TInt aParam, TOwnerType aType=EOwnerProcess)
Opens a handle to a session using a handle number sent by a client to a server.
TInt ShareAuto()
Creates a session that can be shared by other threads in the current process.
Definition e32std.h:4639
TInt SetReturnedHandle(TInt aHandleOrError)
Sets the handle-number of this handle to the specified value.
TInt Send(TInt aFunction, const TIpcArgs &aArgs) const
Issues a blind request to the server with the specified function number, and arguments.
Client-side handle to a sub-session.
Definition e32std.h:4727
TInt SubSessionHandle() const
Gets the sub-session handle number.
RSubSessionBase()
Default constructor.
IMPORT_C const RSessionBase Session() const
Returns a copy of the session associated with this sub-session.
void SendReceive(TInt aFunction, const TIpcArgs &aArgs, TRequestStatus &aStatus) const
Sends a message to the server and waits asynchronously for the reply.
TInt CreateSubSession(const RSessionBase &aSession, TInt aFunction, const TIpcArgs &aArgs)
Creates a new sub-session within an existing session.
TInt Send(TInt aFunction, const TIpcArgs &aArgs) const
Sends a blind message to the server - no reply is expected.
IMPORT_C TInt CreateAutoCloseSubSession(RSessionBase &aSession, TInt aFunction, const TIpcArgs &aArgs)
Creates a new sub-session within an existing session.
IMPORT_C void CloseSubSession(TInt aFunction)
Closes the sub-session.
A handle to a thread.
Definition e32std.h:4091
IMPORT_C void SetPriority(TThreadPriority aPriority) const
Sets the priority of the thread to one of the values defined by the TThreadPriority enumeration.
IMPORT_C TExitType ExitType() const
Tests whether the thread has ended and, if it has ended, return how it ended.
IMPORT_C void Logon(TRequestStatus &aStatus) const
Requests notification when this thread dies, normally or otherwise.
IMPORT_C TThreadPriority Priority() const
Gets the priority of this thread.
IMPORT_C void Context(TDes8 &aDes) const
Gets the register contents of this thread.
IMPORT_C void Resume() const
Makes the thread eligible for execution.
IMPORT_C TInt StackInfo(TThreadStackInfo &aInfo) const
Gets information about a thread's user mode stack.
IMPORT_C TInt LogonCancel(TRequestStatus &aStatus) const
Cancels an outstanding request for notification of the death of this thread.
IMPORT_C TInt Create(const TDesC &aName, TThreadFunction aFunction, TInt aStackSize, TInt aHeapMinSize, TInt aHeapMaxSize, TAny *aPtr, TOwnerType aType=EOwnerProcess)
Creates a thread belonging to the current process, and opens this handle to that thread.
IMPORT_C void Kill(TInt aReason)
Ends the thread, specifying a reason code.
IMPORT_C TExitCategoryName ExitCategory() const
Gets the name of the category associated with the end of the thread.
RThread()
Default constructor.
IMPORT_C TInt GetCpuTime(TTimeIntervalMicroSeconds &aCpuTime) const
Gets the CPU usage for this thread.
IMPORT_C void Suspend() const
Suspends execution of this thread.
IMPORT_C TInt Process(RProcess &aProcess) const
Opens a process-relative handle to the process which owns this thread.
IMPORT_C TThreadId Id() const
Gets the Id of this thread.
IMPORT_C TProcessPriority ProcessPriority() const
Gets the priority of the process which owns this thread.
IMPORT_C TInt Open(const TDesC &aFullName, TOwnerType aType=EOwnerProcess)
Opens a handle to specifically named thread.
IMPORT_C void SetProcessPriority(TProcessPriority aPriority) const
Sets the priority of the process which owns this thread to one of the values defined by the TProcessP...
IMPORT_C void RequestSignal() const
Signal this threads request semaphore.
IMPORT_C TInt ExitReason() const
Gets the specific reason associated with the end of this thread.
static TInt RenameMe(const TDesC &aName)
IMPORT_C void Panic(const TDesC &aCategory, TInt aReason)
Panics this thread, specifying the panic category name and reason.
IMPORT_C void Rendezvous(TRequestStatus &aStatus) const
Creates a Rendezvous request with the thread.
IMPORT_C void RequestComplete(TRequestStatus *&aStatus, TInt aReason) const
Signals this thread that an asynchronous request originating from this thread, is complete.
IMPORT_C TInt RequestCount() const
Gets this thread's request semaphore count.
IMPORT_C TVendorId VendorId() const
IMPORT_C TSecureId SecureId() const
IMPORT_C void HandleCount(TInt &aProcessHandleCount, TInt &aThreadHandleCount) const
Gets the number of handles open in this thread, and the number of handles open in the process which o...
IMPORT_C TInt RendezvousCancel(TRequestStatus &aStatus) const
Cancels a previously requested Rendezvous with the thread.
TBool HasCapability(TCapability aCapability, const char *aDiagnostic=0) const
IMPORT_C void Terminate(TInt aReason)
Ends the thread, specifying a reason code.
Asynchronous timer services.
Definition e32std.h:3307
IMPORT_C void Lock(TRequestStatus &aStatus, TTimerLockSpec aLock)
Requests an event on a specified second fraction.
IMPORT_C void At(TRequestStatus &aStatus, const TTime &aTime)
Requests an event at a given system time (in the current time zone).
IMPORT_C void After(TRequestStatus &aStatus, TTimeIntervalMicroSeconds32 anInterval)
Requests an event after the specified interval.
IMPORT_C void HighRes(TRequestStatus &aStatus, TTimeIntervalMicroSeconds32 anInterval)
Requests an event after the specified interval to a resolution of 1ms.
IMPORT_C void AgainHighRes(TRequestStatus &aStatus, TTimeIntervalMicroSeconds32 anInterval)
IMPORT_C void Inactivity(TRequestStatus &aStatus, TTimeIntervalSeconds aSeconds)
Requests an event to be triggered when aSeconds is exactly, (ie not greater or less than),...
IMPORT_C void AfterTicks(TRequestStatus &aStatus, TInt aTicks)
Requests an event after the specified interval.
IMPORT_C void AtUTC(TRequestStatus &aStatus, const TTime &aUTCTime)
Requests an event at a given UTC time.
IMPORT_C void Cancel()
Cancels any outstanding request for a timer event.
IMPORT_C TInt CreateLocal()
Creates a thread-relative timer.
Handle to a thread death notifier.
Definition e32std.h:4852
IMPORT_C TInt Create()
Creates a thread-death notifier, and opens this handle to that thread-death notifier.
IMPORT_C TInt LogonCancel() const
Cancels an outstanding notification request to the thread-death notifier.
IMPORT_C TInt Logon(TRequestStatus &aStatus, TInt &aThreadHandle) const
Issues a request for notification of the death of a thread.
Current locale's am/pm text.
Definition e32std.h:2146
IMPORT_C void Set(TAmPm aSelector)
Re-retrieves the current locale's text for identifying time before or after noon as identified by the...
IMPORT_C TAmPmName()
Default constructor.
Generic array.
Definition e32cmn.h:5358
A build-independent modifiable buffer descriptor.
Definition e32cmn.h:1578
Encapsulates a general call-back function.
Definition e32std.h:70
TCallBack()
Default constructor.
TInt CallBack() const
Calls the callback function.
TAny * iPtr
A pointer that is passed to the callback function when the function is called.
Definition e32std.h:88
TInt(* iFunction)(TAny *aPtr)
A pointer to the callback function.
Definition e32std.h:81
Folds a specified character and provides functions to fold additional characters after construction o...
Definition e32std.h:981
TCharF & operator=(TUint aChar)
Assigns an unsigned integer value to the 'fold character' object.
Converts a specified character to lower case and provides functions to convert additional characters ...
Definition e32std.h:1002
TCharLC & operator=(TUint aChar)
Assigns an unsigned integer value to the 'character to lower case' object.
Converts a specified character to upper case and provides functions to convert additional characters ...
Definition e32std.h:1023
TCharUC & operator=(TUint aChar)
Assigns an unsigned integer value to the 'character to upper case' object.
Holds a character value and provides a number of utility functions to manipulate it and test its prop...
Definition e32cmn.h:480
Packages a Uid type together with a checksum.
Definition e32std.h:1517
IMPORT_C TCheckedUid()
Default constructor.
const TUidType & UidType() const
Gets the Uid type contained in this object.
IMPORT_C TPtrC8 Des() const
Gets a pointer descriptor to represent this object's data.
IMPORT_C TUint Check() const
Calculates the checksum of the UIDs.
IMPORT_C void Set(const TUidType &aUidType)
Sets the specified Uid type to be packaged, and recalculates the checksum.
Gets a copy of the currency symbol(s) in use by the current locale.
Definition e32std.h:2169
IMPORT_C TCurrencySymbol()
Default constructor.
IMPORT_C void Set()
Re-retrieves the current locale's currency symbol(s).
Gets a copy of the current locale's date suffix text for a specific day in the month.
Definition e32std.h:2120
IMPORT_C TDateSuffix()
Default constructor.
IMPORT_C void Set(TInt aDateSuffix)
Re-retrieves the current locale's date suffix text for the specified day of the month.
A date and time object in which the individual components are accessible in human-readable form.
Definition e32std.h:1558
TInt Day() const
Gets the day component of the date/time.
TMonth Month() const
Gets the month component of the date/time.
IMPORT_C TInt SetSecond(TInt aSecond)
Sets the second component of the date/time.
IMPORT_C TInt SetYearLeapCheck(TInt aYear)
Sets the year with a leap year check.
IMPORT_C TInt SetHour(TInt aHour)
Sets the hour component of the date/time.
TInt Minute() const
Gets the minute component of the date/time.
IMPORT_C TInt Set(TInt aYear, TMonth aMonth, TInt aDay, TInt aHour, TInt aMinute, TInt aSecond, TInt aMicroSecond)
Sets all date and time components.
IMPORT_C TInt SetDay(TInt aDay)
Sets the day component of the date/time.
IMPORT_C TInt SetMicroSecond(TInt aMicroSecond)
Sets the microsecond component of the date/time.
IMPORT_C TInt SetMinute(TInt aMinute)
Sets the minute component of the date/time.
TInt Second() const
Gets the second component of the date/time.
TInt Hour() const
Gets the hour component of the date/time.
TDateTime()
Constructs an uninitialised TDateTime object.
IMPORT_C TInt SetMonth(TMonth aMonth)
Sets the month component of the date/time.
IMPORT_C TInt SetYear(TInt aYear)
Sets the year without a leap year check.
TInt MicroSecond() const
Gets the microsecond component of the date/time.
TInt Year() const
Gets the year component of the date/time.
Gets a copy of the current locale's abbreviated text name for a day of the week.
Definition e32std.h:2043
IMPORT_C TDayNameAbb()
Default constructor.
IMPORT_C void Set(TDay aDay)
Re-retrieves the current locale's abbreviated text for the specified day of the week.
Gets a copy of the current locale's full text name for a day of the week.
Definition e32std.h:2013
IMPORT_C void Set(TDay aDay)
Re-retrieves the current locale's text for the specified day of the week.
IMPORT_C TDayName()
Default constructor.
A base class that provides implementation for the doubly linked list header.
Definition e32std.h:329
IMPORT_C void Reset()
Empties the doubly linked list.
IMPORT_C void DoAddLast(TAny *aPtr)
Implements the insertion of the specified list element at the back of the doubly linked list.
IMPORT_C void DoAddFirst(TAny *aPtr)
Implements the insertion of the specified list element at the front of the doubly linked list.
IMPORT_C void SetOffset(TInt aOffset)
Sets the offset of the link object from the start of a doubly linked list element.
IMPORT_C TBool IsEmpty() const
Tests whether the doubly linked list is empty, i.e.
TDblQueLink iHead
The head, or anchor point of the queue.
Definition e32std.h:345
TInt iOffset
The offset of a component link object within elements that form the list.
Definition e32std.h:350
IMPORT_C void __DbgTestEmpty() const
Tests whether the queue is empty.
IMPORT_C void DoAddPriority(TAny *aPtr)
Implements the insertion of the specified list element in priority order.
IMPORT_C TDblQueBase()
Default constructor.
A base class that provides implementation for the doubly linked list iterator.
Definition e32std.h:645
TInt iOffset
The offset of a component link object within elements that form the list.
Definition e32std.h:659
TDblQueLinkBase * iNext
Pointer to the current element.
Definition e32std.h:669
IMPORT_C TAny * DoPostDec()
Gets the current item and then moves to the previous item.
TDblQueLinkBase * iHead
Pointer to the anchor for the list.
Definition e32std.h:664
IMPORT_C void DoSet(TAny *aLink)
Sets the iterator to point to a specific element in the list.
IMPORT_C TAny * DoCurrent()
Gets the current item in the queue.
IMPORT_C void SetToFirst()
Sets the iterator to point to the first element in the doubly linked list.
IMPORT_C void SetToLast()
Sets the iterator to point to the last element in the doubly linked list.
IMPORT_C TAny * DoPostInc()
Gets the current item and then moves to the next item.
A templated class that provides the behaviour for iterating through a set of doubly linked list eleme...
Definition e32std.h:689
T * operator--(TInt)
Gets a pointer to the iterator's current element and then sets the iterator to point to the previous ...
T * operator++(TInt)
Gets a pointer to the iterator's current element and then sets the iterator to point to the next elem...
void Set(T &aLink)
Sets the iterator to point to a specific element in the list.
A base class that provides implementation for the link object of a doubly linked list.
Definition e32std.h:151
TDblQueLinkBase * iNext
A pointer to the next link object in the list.
Definition e32std.h:168
IMPORT_C void AddBefore(TDblQueLinkBase *aLink)
Inserts this link object before the specified link object.
IMPORT_C void Enque(TDblQueLinkBase *aLink)
Inserts this link object after the specified link object.
TDblQueLinkBase()
Default constructor.
Definition e32std.h:153
TDblQueLinkBase * iPrev
A pointer to the previous link object in the list.
Definition e32std.h:173
A templated class that provides the behaviour for managing a doubly linked list.
Definition e32std.h:447
TBool IsHead(const T *aPtr) const
Tests whether the end of a list has been reached.
T * Last() const
Gets a pointer to the last list element in the doubly linked list.
void AddFirst(T &aRef)
Inserts the specified list element at the front of the doubly linked list.
T * First() const
Gets a pointer to the first list element in the doubly linked list.
TBool IsFirst(const T *aPtr) const
Tests whether the specified element is the first in the doubly linked list.
TBool IsLast(const T *aPtr) const
Tests whether the specified element is the last in the doubly linked list.
void AddLast(T &aRef)
Inserts the specified list element at the back of the doubly linked list.
TDblQue()
Constructs an empty list header and sets the offset value of the link object to zero.
A base class that provides implementation for the TDeltaQue template class.
Definition e32std.h:373
IMPORT_C TBool FirstDelta(TInt &aValue)
Gets the delta value of the first list element.
IMPORT_C void DoAddDelta(TAny *aPtr, TInt aDelta)
Implements the addition of the specified list element into the list.
IMPORT_C TDeltaQueBase()
Default constructor.
IMPORT_C TAny * DoRemoveFirst()
Implements the removal of the first list element from the linked list if its delta value is zero or n...
IMPORT_C void Reset()
Empties the doubly linked list, and resets the first delta pointer.
IMPORT_C void DoRemove(TAny *aPtr)
Implements the removal of the specified list element from the list.
IMPORT_C TBool CountDown()
Decrements the delta value of the first element by one, and returns true if the result is negative or...
TInt * iFirstDelta
Pointer to the delta value in the first link element.
Definition e32std.h:389
A templated class that provides the behaviour for managing a doubly linked list in which elements rep...
Definition e32std.h:531
T * RemoveFirst()
Removes the first list element from the linked list if its delta value is zero or negative.
void Remove(T &aRef)
Removes the specified list element from the linked list.
void Add(T &aRef, TInt aDelta)
Adds the specified list element, having the specified 'distance' from the nominal zero point,...
TDeltaQue()
Constructs an empty list header and sets the offset value of the link object to zero.
Extended locale class.
Definition e32std.h:2557
IMPORT_C TInt LoadLocaleAspect(TUint aAspectGroup, const TDesC &aLocaleDllName)
Loads a DLL and get some locale information.
IMPORT_C TExtendedLocale()
Default constructor.
IMPORT_C TInt LoadLocale(const TDesC &aLocaleDllName)
Loads a locale Dll and get the locale information.
IMPORT_C TPtrC GetLongDateFormatSpec()
Get the Long Date Format from SLocaleTimeDateFormat object.
IMPORT_C TPtrC GetShortDateFormatSpec()
Get the Short Date Format from SLocaleTimeDateFormat object.
IMPORT_C TPtrC GetTimeFormatSpec()
Get the Time Format from SLocaleTimeDateFormat object.
IMPORT_C void LoadSystemSettings()
Load system wide locale settings.
TLocale * GetLocale()
Get the pointer to the TLocale object contained in this extended locale.
IMPORT_C TPtrC GetCurrencySymbol()
Get the Currency Symbol from SLocaleLocaleSettings object.
IMPORT_C TInt SaveSystemSettings()
Make the current locale information system wide.
IMPORT_C TInt SetCurrencySymbol(const TDesC &aSymbol)
Sets the currency symbol.
IMPORT_C TCollationMethod GetPreferredCollationMethod(TInt index=0)
Get the preferred collation method for the preferred charset.
IMPORT_C TInt GetLocaleDllName(TLocaleAspect aLocaleDataSet, TDes &aDllName)
Returns the name of the DLL containing the given bits of locale information.
Searches for all global chunks by pattern matching against the names of (Kernel side) chunk objects.
Definition e32std.h:3060
IMPORT_C TInt Next(TFullName &aResult)
Finds the full name of the next chunk which matches the match pattern.
TFindChunk()
Constructs this object with a default match pattern.
Base class for searching for global kernel objects.
Definition e32std.h:2947
TInt NextObject(TFullName &aResult, TInt aObjectType)
Implementation for TFindXxxxxxx::Next(TFullName &aResult) methods.
IMPORT_C TFindHandleBase()
Default constructor.
IMPORT_C void Find(const TDesC &aMatch)
Sets a new match pattern.
Searches for DLLs whose full names match a specified pattern.
Definition e32std.h:3239
TFindLibrary()
Constructs this object with a default match pattern.
IMPORT_C TInt Next(TFullName &aResult)
Finds the next DLL whose full name matches the match pattern.
Searches for LDD factory objects by pattern matching against the names of LDD factory objects.
Definition e32std.h:3154
TFindLogicalDevice()
Constructs the LDD factory object with a default match pattern.
IMPORT_C TInt Next(TFullName &aResult)
Finds the full name of the next LDD factory object which matches the match pattern.
Finds all global mutexes whose full names match a specified pattern.
Definition e32std.h:3031
TFindMutex()
Constructs this object with a default match pattern.
IMPORT_C TInt Next(TFullName &aResult)
Finds the next global mutex whose full name matches the match pattern.
Searches for PDD factory objects by pattern matching against the names of PDD factory objects.
Definition e32std.h:3183
IMPORT_C TInt Next(TFullName &aResult)
Finds the full name of the next PDD factory object which matches the match pattern.
TFindPhysicalDevice()
Constructs the PDD factory object with a default match pattern.
Searches for processes by pattern matching against the names of process objects.
Definition e32std.h:3123
IMPORT_C TInt Next(TFullName &aResult)
Gets the full name of the next process which matches the match pattern.
TFindProcess()
Constructs this object with a default match pattern.
Finds all global semaphores whose full names match a specified pattern.
Definition e32std.h:2993
IMPORT_C TInt Next(TFullName &aResult)
Finds the next global semaphore whose full name matches the match pattern.
TFindSemaphore()
Constructs the object with a default match pattern.
Searches for servers by pattern matching against the names of kernel side server objects.
Definition e32std.h:3213
IMPORT_C TInt Next(TFullName &aResult)
Gets the full name of the next server which matches the match pattern.
TFindServer()
Constructs the object with a default match pattern.
Searches for threads by pattern matching against the names of thread objects.
Definition e32std.h:3092
IMPORT_C TInt Next(TFullName &aResult)
Gets the full name of the next global thread which matches the match pattern.
TFindThread()
Constructs this object with a default match pattern.
A thin wrapper class for C++ arrays allowing automatic checking of index values to ensure that all ac...
Definition e32std.h:5518
static TInt CountFunctionR(const CBase *aThis)
static TBool InRange(TInt aIndex)
void Reset()
Fills every element of the array with binary zeroes.
T & operator[](TInt aIndex)
Gets a reference to the specified element within the C++ array.
T iRep[S]
Definition e32std.h:5548
TArray< T > Array() const
Creates and returns a generic array for this C++ array.
T * Begin()
Gets a pointer to the first element of the array.
void DeleteAll()
Invokes the delete operator on every member of the array.
TFixedArray()
Default constructor.
void Copy(const T *aList, TInt aLength)
Copies the specified set of contiguous objects into the C++ array.
TInt Length() const
Gets the size of an array element, in bytes.
static const TAny * AtFunctionR(const CBase *aThis, TInt aIndex)
T & At(TInt aIndex)
Gets a reference to the specified element within the C++ array.
T * End()
Gets a pointer to the first byte following the end of the array.
TInt Count() const
Gets the size of the array.
virtual IMPORT_C void operator()()=0
A Version 2 client/server class that clients use to package the arguments to be sent to a server.
Definition e32cmn.h:6817
Defines the characteristics of a key used to access the elements of an array.
Definition e32std.h:915
IMPORT_C TKey()
Protected default constructor.
TInt iCmpType
Definition e32std.h:928
virtual IMPORT_C TInt Compare(TInt aLeft, TInt aRight) const
Compares the keys of two array elements.
TInt iKeyLength
Definition e32std.h:927
virtual IMPORT_C TAny * At(TInt anIndex) const
Gets a pointer to the key of a specified array element.
void SetPtr(const TAny *aPtr)
Sets the pointer to a sample element whose key is to be used for comparison.
TInt iKeyOffset
Definition e32std.h:926
const TAny * iPtr
Definition e32std.h:929
Provides general string-parsing functions suitable for numeric format conversions and syntactical-ele...
Definition e32std.h:1330
void Assign(const TLex16 &aLex)
Assigns a string to this object from another TLex16 object.
TInt TokenLength() const
Gets the length of the token.
void SkipAndMark(TInt aNumber)
Moves the next character position a specified number of characters.
IMPORT_C TPtrC16 Remainder() const
Gets a descriptor containing all the text from the next character position to the end of the string.
TInt MarkedOffset() const
Gets the offset of the extraction mark from the start of the string.
IMPORT_C TInt Offset() const
Gets the offset of the next character position from the start of the string.
void SkipSpaceAndMark()
Moves the next character position past any white space and copies it to the TLex16's extraction mark.
IMPORT_C void Inc()
Increments to the next character position.
IMPORT_C void UnGet()
Decrements the next character position, allowing the previously "got" character to be re-read.
IMPORT_C TPtrC16 NextToken()
Strips any white space and extracts the next token.
void Mark()
Sets the TLex16's next character position to its extraction mark.
void UnGetToMark()
Sets the next character position to the current extraction mark position.
TLex16 & operator=(const TUint16 *aString)
Allows strings to be assigned to a TLex16.
IMPORT_C TInt BoundedVal(TInt32 &aVal, TInt aLimit)
Parses the string to extract a 32-bit signed integer, and checks that it is within the specified limi...
IMPORT_C TPtrC16 MarkedToken() const
Extracts the marked token.
IMPORT_C void SkipCharacters()
Moves the next character position to the next white space (space or separator).
IMPORT_C TChar Peek() const
Shows the next character to be returned by Get().
IMPORT_C TPtrC16 RemainderFromMark() const
Gets a descriptor containing all the text from the extraction mark to the end of the string.
IMPORT_C void SkipSpace()
Moves the next character position past any white space (space or separator).
IMPORT_C TInt Val(TInt8 &aVal)
Parses the string to extract a signed 8-bit integer.
IMPORT_C TLex16()
Default cosntructor.
TBool Eos() const
Tests whether the next character position is at the end of the string.
IMPORT_C TChar Get()
Gets the next character in the string and increments the next character position.
Provides general string-parsing functions suitable for numeric format conversions and syntactical-ele...
Definition e32std.h:1196
void Assign(const TLex8 &aLex)
Assigns a string to this object from another TLex8 object.
void UnGetToMark()
Sets the next character position to the current extraction mark position.
IMPORT_C TPtrC8 MarkedToken() const
Extracts the marked token.
IMPORT_C TLex8()
Default constructor.
IMPORT_C TChar Peek() const
Shows the next character to be returned by Get().
IMPORT_C TInt BoundedVal(TInt32 &aVal, TInt aLimit)
Parses the string to extract a 32-bit signed integer, and checks that it is within the specified limi...
void SkipSpaceAndMark()
Moves the next character position past any white space and copies it to the TLex8's extraction mark.
TLex8 & operator=(const TUint8 *aString)
Allows strings to be assigned to a TLex8.
TBool Eos() const
Tests whether the next character position is at the end of the string.
IMPORT_C TChar Get()
Gets the next character in the string, and increments the next character position.
void Mark()
Sets the TLex8's next character position to its extraction mark.
IMPORT_C void Inc()
Increments to the next character position.
IMPORT_C void UnGet()
Decrements the next character position, allowing a previously "got" character to be re-read.
IMPORT_C TPtrC8 NextToken()
Strips any white space and extracts the next token.
IMPORT_C TInt Val(TInt8 &aVal)
Parses the string to extract a signed 8-bit integer.
IMPORT_C void SkipSpace()
Moves the next character position past any white space (space or separator).
IMPORT_C TPtrC8 Remainder() const
Gets a descriptor containing all the text from the next character position to the end of the string.
IMPORT_C TPtrC8 RemainderFromMark() const
Gets a descriptor containing all the text from the current extraction mark to the end of the string.
TInt MarkedOffset() const
Gets the offset of the extraction mark from the start of the string.
void SkipAndMark(TInt aNumber)
Moves the next character position a specified number of characters.
IMPORT_C void SkipCharacters()
Moves the next character position to the next white space (space or separator).
TInt TokenLength() const
Gets the length of the token.
IMPORT_C TInt Offset() const
Gets the offset of the next character position from the start of the string.
Defines the extraction mark used by the TLex16 class to indicate the current lexical element being an...
Definition e32std.h:1295
TLexMark16()
Default constructor.
Defines the extraction mark used by the TLex8 class to indicate the current lexical element being ana...
Definition e32std.h:1160
TLexMark8()
Default constructor.
Sets and gets the system's locale settings.
Definition e32std.h:2302
void SetUnitsDistanceLong(TUnitsFormat aFormat)
Sets the units of measurement for long distances.
void SetStartOfWeek(TDay aDay)
Sets the day which is considered to be the first day of the week.
TUnitsFormat UnitsDistanceShort() const
Gets the units of measurement for short distances.
TChar TimeSeparator(TInt aIndex) const
Gets one of the four characters used to separate the hour, second and minute components of the time.
TInt CurrencyDecimalPlaces() const
Gets the number of decimal places to which currency values are set.
void SetCurrencyTriadsAllowed(TBool aBool)
Sets whether triads are allowed in currency values.
void SetDeviceTime(TDeviceTimeState aState)
Sets the device time state.
void SetUnitsGeneral(TUnitsFormat aFormat)
Sets the general units of measurement.
void SetCurrencyNegativeInBrackets(TBool aBool)
Sets whether negative currency values are enclosed in brackets rather than being preceded by a minus ...
TLocalePos AmPmSymbolPosition() const
Gets the am/pm text position (before or after the time value).
void SetDefaults()
Internal component API.
void SetLanguageDowngrade(TInt aIndex, TLanguage aLanguage)
Sets a language in the customisable part of the language downgrade path.
void SetUnitsDistanceShort(TUnitsFormat aFormat)
Sets the units of measurement for short distances.
@ EFlagNegativeCurrencySymbolOpposite
If this flag is set and the currency value being formatted is negative, the position of the currency ...
Definition e32std.h:2349
@ EFlagNegativeLoseSpace
If this flag is set and the currency value being formatted is negative, if there is a space between t...
Definition e32std.h:2342
void SetNegativeCurrencySymbolOpposite(TBool aBool)
Sets whether the position of the currency symbol for negative currency values should be the opposite ...
TBool AmPmSpaceBetween() const
Tests whether or not a space is inserted between the time and the preceding or trailing am/pm text.
TDeviceTimeState
Indicates how the device universal time is maintained.
Definition e32std.h:2353
@ ENITZNetworkTimeSync
Universal time and offset from GMT is supplied by the mobile network and maintained by device RTC.
Definition e32std.h:2360
@ EDeviceUserTime
Universal time is maintained by the device RTC and the user selection of the locale of the device ind...
Definition e32std.h:2356
TUnitsFormat UnitsGeneral() const
Gets the general units of measurement.
void SetDateSeparator(const TChar &aChar, TInt aIndex)
Sets one of the four characters used to separate the day, month and year components of the date.
TDaylightSavingZone HomeDaylightSavingZone() const
Gets the daylight saving zone in which the home city is located.
void SetAmPmSpaceBetween(TBool aSpace)
Sets whether a space is inserted between the time and the preceding or trailing am/pm text.
void SetCurrencySymbolPosition(TLocalePos aPos)
Sets the currency symbol position.
TDay StartOfWeek() const
Gets the day which is considered the first day of the week.
TUnitsFormat UnitsDistanceLong() const
Gets the units of measurement for long distances.
TBool CurrencySpaceBetween() const
Gets whether or not a space is inserted between the currency symbol and the currency value.
void SetCurrencyDecimalPlaces(TInt aPlaces)
Sets the number of decimal places to which currency values should be set.
TDigitType DigitType() const
Gets the number mode stored in the locale.
TUint DaylightSaving() const
Gets the zones in which daylight saving is in effect.
TInt CountryCode() const
Gets the code which is used to select country-specific locale data.
TNegativeCurrencyFormat
Indicates how negative currency values are formatted.
Definition e32std.h:2309
@ EInterveningMinusSign
A minus sign is inserted between the currency symbol and the value.
Definition e32std.h:2329
@ EInBrackets
The currency value and symbol are enclosed in brackets (no minus sign is used).
Definition e32std.h:2319
@ ETrailingMinusSign
A minus sign is inserted after the currency symbol and value.
Definition e32std.h:2324
@ ELeadingMinusSign
A minus sign is inserted before the currency symbol and value.
Definition e32std.h:2313
void SetAmPmSymbolPosition(TLocalePos aPos)
Sets the am/pm text position (before or after the time value).
TTimeIntervalSeconds UniversalTimeOffset() const
Gets the locale's universal time offset.
IMPORT_C void Refresh()
Refreshes the contents of this object with the system's locale settings.
void SetNegativeCurrencyFormat(TNegativeCurrencyFormat aNegativeCurrencyFormat)
Sets the negative currency format.
TLocalePos CurrencySymbolPosition() const
Gets the currency symbol position.
TBool CurrencyTriadsAllowed() const
Gets whether triads are allowed in currency values.
IMPORT_C TInt Set() const
Transfers the locale settings from this object to the system.
TInt RegionCode() const
void SetTimeFormat(TTimeFormat aFormat)
Sets the time format (12 or 24 hour).
TChar DecimalSeparator() const
Gets the character used to separate a whole number from its fractional part.
TBool NegativeCurrencySymbolOpposite() const
Gets whether in negative currency values, the position of the currency symbol is set to be the opposi...
void SetNegativeLoseSpace(TBool aBool)
Sets whether negative currency values lose the space between the currency symbol and the value.
TNegativeCurrencyFormat NegativeCurrencyFormat() const
Gets the negative currency format.
IMPORT_C TLocale()
Default constructor.
TUint WorkDays() const
Gets a bit mask representing the days of the week which are considered as working days.
TDeviceTimeState DeviceTime() const
Gets the device time state.
void SetThousandsSeparator(const TChar &aChar)
Sets the character to be used to separate groups of three digits to the left of the decimal separator...
void SetCountryCode(TInt aCode)
Sets the value which is used to select country-specific locale data.
void SetCurrencySpaceBetween(TBool aSpace)
Sets whether a space is inserted between the currency symbol and the currency amount.
TBool QueryHomeHasDaylightSavingOn() const
Tests whether or not daylight saving is set for the home city.
void SetDateFormat(TDateFormat aFormat)
Sets the date format.
TLanguage LanguageDowngrade(TInt aIndex) const
Gets the language that is stored at the specified index into the customisable part of the language do...
void SetWorkDays(TUint aMask)
Sets the days of the week which are considered as working days.
TTimeFormat TimeFormat() const
Gets the time format (12 or 24 hour).
TBool NegativeLoseSpace() const
Gets whether negative currency values lose the space between the currency symbol and the value.
TClockFormat ClockFormat() const
Gets the clock display format.
void SetTimeSeparator(const TChar &aChar, TInt aIndex)
Sets one of the four characters used to separate the hour, minute and second components of the date.
TDateFormat DateFormat() const
Gets the date format.
IMPORT_C void FormatCurrency(TDes &aText, TInt aAmount)
Renders a currency value as text, based on the locale's currency and numeric format settings.
void SetDigitType(TDigitType aDigitType)
Sets the number mode for the locale.
void SetClockFormat(TClockFormat aFormat)
Sets the clock display format.
void SetDecimalSeparator(const TChar &aChar)
Sets the character to be used to separate a whole number from its fractional part.
TChar DateSeparator(TInt aIndex) const
Gets one of the four characters used to separate the day, month and year components of the date.
TChar ThousandsSeparator() const
Gets the character used to separate groups of three digits to the left of the decimal separator.
TBool CurrencyNegativeInBrackets() const
Gets whether negative currency values are enclosed in brackets rather than being preceded by a minus ...
Contains a format list that defines the long date format.
Definition e32std.h:2245
IMPORT_C void Set()
Sets the contents of the long date format specification from the system-wide settings.
IMPORT_C TLongDateFormatSpec()
Default constructor.
Gets a copy of the current locale's abbreviated text name for a month.
Definition e32std.h:2093
IMPORT_C TMonthNameAbb()
Default constructor.
IMPORT_C void Set(TMonth aMonth)
Re-retrieves the current locale's abbreviated text for the specified month.
Gets a copy of the current locale's full text name for a month.
Definition e32std.h:2068
IMPORT_C void Set(TMonth aMonth)
Re-retrieves the current locale's text for the specified month.
IMPORT_C TMonthName()
Default constructor.
Encapsulates the Id of a kernel object.
Definition e32std.h:3925
TBool operator==(TObjectId aId) const
Tests whether this thread Id is equal to the specified Id.
TObjectId()
Default constructor.
TBool operator!=(TObjectId aId) const
Tests whether this thread Id is unequal to the specified thread Id.
TUint64 Id() const
Return the ID as a 64 bit integer.
Packages an object into a modifiable buffer descriptor.
Definition e32cmn.h:1807
Stores a two-dimensional point in Cartesian co-ordinates.
Definition e32cmn.h:2285
A templated class that provides the behaviour for managing a doubly linked list in which the elements...
Definition e32std.h:483
T * Last() const
Gets a pointer to the last list element in the linked list.
TBool IsLast(const T *aPtr) const
Tests whether the specified element is the last in the linked list.
TBool IsHead(const T *aPtr) const
Tests whether the end of a list has been reached.
TBool IsFirst(const T *aPtr) const
Tests whether the specified element is the first in the linked list.
TPriQue()
Default constructor.
void Add(T &aRef)
Inserts the specified list element in descending priority order.
T * First() const
Gets a pointer to the first list element in the linked list.
Encapsulates the Id of a process.
Definition e32std.h:4313
TProcessId()
Default constructor.
Contains information about the code and data sections belonging to a process.
Definition e32cmn.h:5233
Defines the character representation of a real number type such as a TReal or a TRealX.
Definition e32std.h:1051
TChar iPoint
Defines the character to be used to separate the integer portion of a number representation from its ...
Definition e32std.h:1106
TInt iPlaces
Defines either the number of characters to be used to represent the decimal portion of the number,...
Definition e32std.h:1093
IMPORT_C TRealFormat()
Default constructor.
TInt iWidth
Defines the maximum number of characters required to represent the number.
Definition e32std.h:1081
TChar iTriad
Defines the character to be used to delimit groups of three digits in the integer part of the number.
Definition e32std.h:1119
TInt iTriLen
Defines the threshold number of digits above which triad separation is to occur.
Definition e32std.h:1139
TInt iType
Governs the format of the character representation of the real number.
Definition e32std.h:1075
A class encapsulating an extended precision real value.
Definition e32math.h:401
Geometric rectangle.
Definition e32std.h:2670
IMPORT_C TBool Contains(const TPoint &aPoint) const
Tests whether a point is located within the rectangle.
IMPORT_C TSize Size() const
Gets the size of the rectangle.
IMPORT_C void SetSize(const TSize &aSize)
Sets the size of the rectangle.
IMPORT_C TInt Height() const
Gets the height of the rectangle.
IMPORT_C TBool Intersects(const TRect &aRect) const
Tests whether this rectangle overlaps with the specified rectangle.
IMPORT_C void SetRect(TInt aAx, TInt aAy, TInt aBx, TInt aBy)
Sets the rectangle's position using four TInts.
IMPORT_C TBool operator!=(const TRect &aRect) const
Compares two rectangles for inequality.
TPoint iTl
The x and y co-ordinates of the top left hand corner of the rectangle.
Definition e32std.h:2718
IMPORT_C void SetWidth(TInt aWidth)
Sets the width of the rectangle.
IMPORT_C TBool operator==(const TRect &aRect) const
Compares two rectangles for equality.
IMPORT_C TRect()
Constructs a default rectangle.
IMPORT_C void BoundingRect(const TRect &aRect)
Gets the minimal rectangle which bounds both this rectangle and the specified rectangle,...
IMPORT_C void SetHeight(TInt aHeight)
Sets the height of the rectangle.
IMPORT_C void Move(TInt aDx, TInt aDy)
Moves the rectangle by adding an x, y offset.
IMPORT_C void Normalize()
Ensures that the rectangle's width and height have positive values.
IMPORT_C void Intersection(const TRect &aRect)
Gets the area of intersection between this rectangle and the specified rectangle, and assigns it to t...
IMPORT_C TBool IsNormalized() const
Tests whether the rectangle is normalised.
IMPORT_C TPoint Center() const
Gets the point at the centre of the rectangle.
IMPORT_C TInt Width() const
Gets the width of the rectangle.
IMPORT_C void Grow(TInt aDx, TInt aDy)
Grows the rectangle using the specified horizontal and vertical offsets.
IMPORT_C void Shrink(TInt aDx, TInt aDy)
Shrinks a rectangle using specified horizontal and vertical offsets.
TUninitialized
Definition e32std.h:2672
@ EUninitialized
Definition e32std.h:2672
TPoint iBr
The x and y co-ordinates of the bottom right hand corner of the rectangle.
Definition e32std.h:2723
IMPORT_C void Resize(TInt aDx, TInt aDy)
Resizes a rectangle by adding a horizontal and vertical offset.
IMPORT_C TBool IsEmpty() const
Tests whether the rectangle is empty.
A fixed size region.
Definition e32std.h:2914
TRegionFix()
Constructs a default fixed size region.
Clipping region - abstract base class.
Definition e32std.h:2774
IMPORT_C void Offset(TInt aXoffset, TInt aYoffset)
Moves the region by adding X and Y offsets to the co-ordinates of its corners.
IMPORT_C void Tidy()
Merges all rectangles within this region which share an adjacent edge of the same length.
IMPORT_C void SubRect(const TRect &aRect, TRegion *aSubtractedRegion=NULL)
Removes a rectangle from this region.
TBool iError
Definition e32std.h:2814
TInt iCount
Definition e32std.h:2813
IMPORT_C TRect * RectangleListW()
void AppendRegion(TRegion &aRegion)
IMPORT_C void Union(const TRegion &aRegion)
Replaces this region with the union of it and the specified region.
IMPORT_C void ClipRect(const TRect &aRect)
Clips the region to the specified rectangle.
void MergeRect(const TRect &aRect, TBool aEnclosed)
Merges a rectangle with this region.
IMPORT_C void Copy(const TRegion &aRegion)
Copies another region to this region.
TInt iAllocedRects
Definition e32std.h:2815
IMPORT_C TInt Sort()
Sorts the region's array of rectangles according to their vertical position on the screen.
@ ERRegionBuf
Definition e32std.h:2817
IMPORT_C TBool IsEmpty() const
Tests whether the region is empty.
void AppendRect(const TRect &aRect)
TBool CheckError() const
Tests whether the region's error flag is set.
IMPORT_C TBool Contains(const TPoint &aPoint) const
Tests whether a point is located within the region.
IMPORT_C void Intersect(const TRegion &aRegion)
Replaces this region with the area of intersection between it and the specified region.
void ShrinkRegion()
After an RRegion's iCount has reduced try to release some memory.
IMPORT_C const TRect & operator[](TInt aIndex) const
Gets a rectangle from the region.
IMPORT_C void SubRegion(const TRegion &aRegion, TRegion *aSubtractedRegion=NULL)
Removes a region.
TRect * ExpandRegion(TInt aCount)
Ensure that the region is big enough to hold aCount rectangles.
TBool SetListSize(TInt aCount)
Ensure that the region is big enough to hold aCount rectangles.
IMPORT_C TRect BoundingRect() const
Gets the minimal rectangle that bounds the entire region.
IMPORT_C void ForceError()
Sets the error flag, and clears the region.
const TRect * RectangleList() const
Gets a pointer to the array of rectangles defining this region.
void SubtractRegion(const TRegion &aRegion, TRegion *aSubtractedRegion=NULL)
Removes a region.
IMPORT_C void Clear()
Clears this region.
IMPORT_C void AddRect(const TRect &aRect)
Adds a rectangle to this region.
IMPORT_C TBool Intersects(const TRect &aRect) const
Tests whether where there is any intersection between this region and the specified rectangle.
IMPORT_C TBool IsContainedBy(const TRect &aRect) const
Tests whether the region is fully enclosed within the specified rectangle.
void DeleteRect(TRect *aRect)
IMPORT_C void Intersection(const TRegion &aRegion, const TRegion &aRegion2)
Replaces this region with the area of intersection between two specified regions.
TInt Count() const
Gets the number of rectangles in this region.
Indicates the completion status of a request made to a service provider.
Definition e32cmn.h:2243
A class used to represent the Secure ID of a process or executable image.
Definition e32cmn.h:2041
Class representing all security attributes of a process or DLL.
Definition e32cmn.h:3737
Class representing a generic security policy.
Definition e32cmn.h:3830
A base class that provides implementation for the singly linked list header.
Definition e32std.h:279
TSglQueLink * iLast
A pointer to the last element in the list.
Definition e32std.h:299
TSglQueLink * iHead
A pointer to the first element in the list.
Definition e32std.h:294
IMPORT_C TBool IsEmpty() const
Tests whether the singly linked list is empty, i.e.
TInt iOffset
The offset of a component link object within elements that form the list.
Definition e32std.h:304
IMPORT_C void Reset()
Empties the singly linked list.
IMPORT_C void DoAddFirst(TAny *aPtr)
Implements the insertion of a list element at the front of the singly linked list.
IMPORT_C TSglQueBase()
Default constructor.
IMPORT_C void SetOffset(TInt aOffset)
Sets the offset of the link object from the start of a singly linked list element.
IMPORT_C void DoAddLast(TAny *aPtr)
Implements the insertion of a list element at the back of the singly linked list.
IMPORT_C void DoRemove(TAny *aPtr)
Implements the removal of a list element from the singly linked list.
A base class that provides implementation for the singly linked list iterator.
Definition e32std.h:590
IMPORT_C void SetToFirst()
Sets the iterator to point to the first element in the singly linked list.
IMPORT_C TAny * DoPostInc()
IMPORT_C void DoSet(TAny *aLink)
TSglQueLink * iHead
Definition e32std.h:600
TSglQueLink * iNext
Definition e32std.h:601
IMPORT_C TAny * DoCurrent()
A templated class that provides the behaviour for iterating through a set of singly linked list eleme...
Definition e32std.h:621
T * operator++(TInt)
Gets a pointer to the iterator's current element and then sets the iterator to point to the next elem...
void Set(T &aLink)
Sets the iterator to point to a specific element in the list.
A templated class that provides the behaviour for managing a singly linked list.
Definition e32std.h:413
T * First() const
Gets a pointer to the first list element in the singly linked list.
void AddLast(T &aRef)
Inserts the specified list element at the back of the singly linked list.
TBool IsFirst(const T *aPtr) const
Tests whether the specified element is the first in the singly linked list.
void AddFirst(T &aRef)
Inserts the specified list element at the front of the singly linked list.
T * Last() const
Gets a pointer to the last list element in the singly linked list.
TSglQue()
Constructs an empty list header and sets the offset value of the link object to zero.
void Remove(T &aRef)
Removes the specified element from the singly linked list.
TBool IsLast(const T *aPtr) const
Tests whether the specified element is the last in the singly linked list.
Contains a format list that defines the short date format.
Definition e32std.h:2207
IMPORT_C TShortDateFormatSpec()
Default constructor.
IMPORT_C void Set()
Sets the contents of the short date format specification from the system-wide settings.
Stores a two-dimensional size as a width and a height value.
Definition e32cmn.h:2442
Defines the basic behaviour for swapping two elements of an array.
Definition e32std.h:951
IMPORT_C TSwap()
Default constructor.
virtual IMPORT_C void Swap(TInt aLeft, TInt aRight) const
Swaps two elements of an array.
Encapsulates the Id of a thread.
Definition e32std.h:3955
TThreadId()
Default constructor.
Stores information about a thread's stack.
Definition e32cmn.h:7089
A class that provides the behaviour for managing a doubly linked list in which elements are added in ...
Definition e32std.h:565
void Add(TTickCountQueLink &aRef)
Adds the specified list element.
TTickCountQueLink * RemoveFirst()
Removes the first list element from the linked list, if any.
TTickCountQue()
Constructs an empty list header.
TTickCountQueLink * First() const
Gets a pointer to the first list element in the doubly linked list.
Contains a format list that defines the time string format.
Definition e32std.h:2280
IMPORT_C TTimeFormatSpec()
Default constructor.
IMPORT_C void Set()
Sets the contents of the time string format specification from the system-wide settings.
Provides a base class for all time interval classes using a 32-bit representation.
Definition e32std.h:1647
TBool operator<(TTimeIntervalBase aInterval) const
Tests whether this time interval is less than the specified time interval.
TBool operator==(TTimeIntervalBase aInterval) const
Tests whether this time interval is the same as the specified time interval.
TBool operator>(TTimeIntervalBase aInterval) const
Tests whether this time interval is greater than the specified time interval.
TBool operator>=(TTimeIntervalBase aInterval) const
Tests whether this time interval is greater than or equal to the specified time interval.
TTimeIntervalBase()
Default constructor.
TBool operator<=(TTimeIntervalBase aInterval) const
Tests whether this time interval is less than or equal to the specified time interval.
TInt Int() const
Gets the time interval as a 32 bit integer.
TBool operator!=(TTimeIntervalBase aInterval) const
Tests whether this time interval is not the same as the specified time interval.
Represents a time interval in days.
Definition e32std.h:1769
TTimeIntervalDays & operator=(TInt aInterval)
Assigns a value to this object.
TTimeIntervalDays()
Default constructor.
Represents a time interval in hours.
Definition e32std.h:1747
TTimeIntervalHours()
Default constructor.
TTimeIntervalHours & operator=(TInt aInterval)
Assigns a value to this object.
Represents a microsecond time interval stored in 32 rather than 64 bits.
Definition e32std.h:1678
TTimeIntervalMicroSeconds32()
Default constructor.
TTimeIntervalMicroSeconds32 & operator=(TInt aInterval)
Assigns a value to this object.
Represents a time interval of a millionth of a second stored as a 64-bit integer.
Definition e32std.h:1607
TBool operator<=(const TTimeIntervalMicroSeconds &aInterval) const
Tests whether this TTimeIntervalMicroSeconds object is less than or equal to the specified TTimeInter...
const TInt64 & Int64() const
Gets the time interval as a 64-bit integer value.
TBool operator==(const TTimeIntervalMicroSeconds &aInterval) const
Tests whether this TTimeIntervalMicroSeconds object is equal to the specified TTimeIntervalMicroSecon...
TTimeIntervalMicroSeconds()
Default constructor.
TTimeIntervalMicroSeconds & operator=(const TInt64 &aInterval)
Assigns a 64-bit integer value to this object.
TBool operator!=(const TTimeIntervalMicroSeconds &aInterval) const
Tests whether this TTimeIntervalMicroSeconds object is not equal to the specified TTimeIntervalMicroS...
TBool operator>=(const TTimeIntervalMicroSeconds &aInterval) const
Tests whether this TTimeIntervalMicroSeconds object is greater than or equal to the specified TTimeIn...
TBool operator<(const TTimeIntervalMicroSeconds &aInterval) const
Tests whether this TTimeIntervalMicroSeconds object is less than the specified TTimeIntervalMicroSeco...
TBool operator>(const TTimeIntervalMicroSeconds &aInterval) const
Tests whether this TTimeIntervalMicroSeconds object is greater than the specified TTimeIntervalMicroS...
Represents a time interval in minutes.
Definition e32std.h:1725
TTimeIntervalMinutes()
Default constructor.
TTimeIntervalMinutes & operator=(TInt aInterval)
Assigns a value to this object.
Represents a time interval in months.
Definition e32std.h:1791
TTimeIntervalMonths()
Default constructor.
TTimeIntervalMonths & operator=(TInt aInterval)
Assigns a value to this object.
Represents a time interval in seconds.
Definition e32std.h:1703
TTimeIntervalSeconds & operator=(TInt aInterval)
Assigns a value to this object.
TTimeIntervalSeconds()
Default constructor.
Represents a time interval in years.
Definition e32std.h:1813
TTimeIntervalYears & operator=(TInt aInterval)
Assigns a value to this object.
TTimeIntervalYears()
Default constructor.
Stores and manipulates the date and time.
Definition e32std.h:1889
IMPORT_C TInt WeekNoInYear() const
Gets the number of the current week in the year.
IMPORT_C TInt DayNoInMonth() const
Gets the day number in the month.
const TInt64 & Int64() const
Gets the 64 bit integer representation of this TTime obect.
IMPORT_C TInt HoursFrom(TTime aTime, TTimeIntervalHours &aInterval) const
Calculates the number of hours difference between the specified TTime and this TTime.
IMPORT_C TDateTime DateTime() const
Converts the TTime object into a TDateTime object.
IMPORT_C void HomeTime()
Sets the date and time of this TTime to the home time.
IMPORT_C TInt Set(const TDesC &aString)
Assigns a date and time contained in a descriptor to this TTime object.
TBool operator==(TTime aTime) const
Tests whether two date/times are equal.
IMPORT_C TInt Parse(const TDesC &aDes, TInt aCenturyOffset=0)
Parses a descriptor containing either or both a date and time, and sets this TTime to the value of th...
IMPORT_C TTime operator+(TTimeIntervalYears aYear) const
Adds a time interval to this TTime, returning the result as a TTime.
IMPORT_C TInt DayNoInYear() const
Gets the day number in the year.
IMPORT_C TTimeIntervalDays DaysFrom(TTime aTime) const
Calculates the number of days difference between the specified TTime and this TTime.
IMPORT_C TInt MinutesFrom(TTime aTime, TTimeIntervalMinutes &aInterval) const
Calculates the number of minutes difference between the specified TTime and this TTime.
IMPORT_C void FormatL(TDes &aDes, const TDesC &aFormat) const
Puts this TTime into a descriptor and formats it according to the format string specified in the seco...
TBool operator>(TTime aTime) const
Tests whether this date/time is later than the specified date/time.
IMPORT_C TTimeIntervalYears YearsFrom(TTime aTime) const
Calculates the number of years between the specified TTime and this TTime.
IMPORT_C TTimeIntervalMonths MonthsFrom(TTime aTime) const
Calculates the number of months between the specified TTime and this TTime.
TBool operator!=(TTime aTime) const
Tests whether two date/times are not equal.
IMPORT_C TTime & operator-=(TTimeIntervalYears aYear)
Subtracts a time interval from this TTime, returning a reference to this TTime.
IMPORT_C void RoundUpToNextMinute()
Rounds this TTime up to the next minute.
TBool operator<=(TTime aTime) const
Tests whether this date/time is earlier than or the same as the specified date/time.
IMPORT_C TTimeIntervalMicroSeconds MicroSecondsFrom(TTime aTime) const
Calculates the number of microseconds difference between the specified TTime and this TTime.
IMPORT_C void UniversalTime()
Sets the date and time of this TTime to the universal time.
IMPORT_C TTime operator-(TTimeIntervalYears aYear) const
Substracts a time interval from this TTime, returning the result as a TTime.
IMPORT_C TInt DaysInMonth() const
Gets the number of days in the current month.
TTime()
Default constructor.
IMPORT_C TInt SecondsFrom(TTime aTime, TTimeIntervalSeconds &aInterval) const
Calculates the number of seconds difference between the specified TTime and this TTime.
TBool operator>=(TTime aTime) const
Tests whether this date/time is later than or the same as the specified date/time.
TBool operator<(TTime aTime) const
Tests whether this date/time is earlier than the specified date/time.
IMPORT_C TTime & operator+=(TTimeIntervalYears aYear)
Adds a time interval to this TTime, returning a reference to this TTime.
TTime & operator=(const TInt64 &aTime)
Assigns a value contained in a 64-bit integer to this TTime object.
IMPORT_C TDay DayNoInWeek() const
Gets the day number within the current week.
IMPORT_C TInt HomeTimeSecure()
Sets the date and time of this TTime to the secure home time.
IMPORT_C TInt UniversalTimeSecure()
Sets the date and time of this TTime to the secure universal time.
Abstract class that defines a handler to work with the TRAP mechanism.
Definition e32std.h:4912
virtual IMPORT_C void Trap()=0
Called when a TRAP is invoked.
IMPORT_C TTrapHandler()
Default constructor.
virtual IMPORT_C void Leave(TInt aValue)=0
Called when a function within a TRAP leaves.
virtual IMPORT_C void UnTrap()=0
Called when a function exits a TRAP without leaving.
Encapsulates a set of three unique identifiers (UIDs) which, in combination, identify a system object...
Definition e32cmn.h:1991
A globally unique 32-bit number.
Definition e32cmn.h:1959
A class used to represent the Vendor ID of a process or executable image.
Definition e32cmn.h:2084
Contains version information.
Definition e32cmn.h:2200
A utility class whose functions may be used by the other date/time related classes.
Definition e32std.h:1985
static IMPORT_C TTime MaxTTime()
Gets the maximum time value which can be held in a TTime object.
static IMPORT_C TTime MinTTime()
Gets the minimum time value which can be held in a TTime object.
static IMPORT_C TTime NullTTime()
Gets a TTime with a null value.
static IMPORT_C TInt LeapYearsUpTo(TInt aYear)
Gets the number of leap years between 0 AD nominal Gregorian and the specified year - inclusive.
static IMPORT_C TBool IsLeapYear(TInt aYear)
Tests whether a year is a leap year.
static IMPORT_C TInt DaysInMonth(TInt aYear, TMonth aMonth)
Gets the number of days in a month.
A set of static functions for constructing fixed length heaps and local or global heaps.
Definition e32std.h:3881
static IMPORT_C RHeap * FixedHeap(TAny *aBase, TInt aMaxLength, TInt aAlign=0, TBool aSingleThread=ETrue)
Creates a fixed length heap at a specified location.
static IMPORT_C RHeap * ChunkHeap(const TDesC *aName, TInt aMinLength, TInt aMaxLength, TInt aGrowBy=1, TInt aAlign=0, TBool aSingleThread=EFalse)
Creates a heap in a local or global chunk.
static IMPORT_C TInt CreateThreadHeap(SStdEpocThreadCreateInfo &aInfo, RHeap *&aHeap, TInt aAlign=0, TBool aSingleThread=EFalse)
TChunkHeapCreateMode
Flags to control the heap creation.
Definition e32std.h:3887
@ EChunkHeapMask
Definition e32std.h:3902
@ EChunkHeapSwitchTo
On successful creation of the heap this switches the calling thread to use the new heap.
Definition e32std.h:3891
@ EChunkHeapDuplicate
On successful creation of the heap this causes the handle to the heap to be duplicated.
Definition e32std.h:3895
static IMPORT_C RHeap * OffsetChunkHeap(RChunk aChunk, TInt aMinLength, TInt aOffset, TInt aGrowBy=1, TInt aMaxLength=0, TInt aAlign=0, TBool aSingleThread=EFalse, TUint32 aMode=0)
Creates a heap in an existing chunk, offset from the beginning of the chunk.
static IMPORT_C TInt SetupThreadHeap(TBool aNotFirst, SStdEpocThreadCreateInfo &aInfo)
Set of static user functions.
Definition e32std.h:5022
static IMPORT_C void ResetInactivityTime()
Resets all user inactivity timers.
static IMPORT_C TInt SetRealtimeState(TRealtimeState aState)
static IMPORT_C TAny * ReAlloc(TAny *aCell, TInt aSize, TInt aMode=0)
Increases or decreases the size of an existing cell in the current thread's heap.
static IMPORT_C void WaitForRequest(TRequestStatus &aStatus)
Waits for a specific asynchronous request to complete.
static IMPORT_C void Free(TAny *aCell)
Frees the specified cell and returns it to the current thread's default heap.
static IMPORT_C void CommandLine(TDes &aCommand)
Gets a copy of the data which is passed as an argument to the thread function of the current process'...
static IMPORT_C TBool JustInTime()
Tests whether just-in-time debugging is on or off.
static IMPORT_C TInt SetUTCTime(const TTime &aUTCTime)
Sets the UTC time to a specified time value.
static IMPORT_C TInt SetUTCTimeAndOffset(const TTime &aUTCTime, TTimeIntervalSeconds aOffset)
Sets the UTC time and UTC offset to the specified values, atomically.
static IMPORT_C TUint Collate(TUint aChar)
Converts the character to its collated form.
static IMPORT_C TVendorId CreatorVendorId()
static IMPORT_C void Panic(const TDesC &aCategory, TInt aReason)
Panics the current thread, specifying a category name and panic number.
static IMPORT_C void HandleException(TAny *aInfo)
Internal component API.
static IMPORT_C TInt BinarySearch(TInt aCount, const TKey &aKey, TInt &aPos)
Performs a binary search for an array element containing a specified key.
static IMPORT_C TInt LoadPhysicalDevice(const TDesC &aFileName)
Loads the physical device driver (PDD) DLL with the specified filename.
static TUid CreatorIdentity()
Definition e32std.h:5435
static IMPORT_C RAllocator::TAllocFail __DbgGetAllocFail(TBool aKernel)
static IMPORT_C TUint32 __DbgMarkEnd(TBool aKernel, TInt aCount)
Marks the end of heap cell checking at the current nested level for the current thread's default heap...
static IMPORT_C TBool PriorityControl()
Tests whether the current process allows other processes to switch its priority between 'foreground' ...
static IMPORT_C void ModifyExceptionMask(TUint32 aClearMask, TUint32 aSetMask)
Changes the set of exceptions which the current thread's exception handler can deal with.
static IMPORT_C TUint __DbgCheckFailure(TBool aKernel)
Returns the number of heap allocation failures the current debug allocator fail function has caused s...
static IMPORT_C TUint TitleCase(TUint aChar)
Converts a specified character to its title case version.
static IMPORT_C void AfterHighRes(TTimeIntervalMicroSeconds32 aInterval)
Suspends the current thread until a specified time interval has expired to a resolution of 1ms .
static IMPORT_C TInt RenameProcess(const TDesC &aName)
Assigns a new name to the current process, replacing any existing name.
static TBool CreatorHasCapability(TCapability aCapability, const char *aDiagnostic=0)
static IMPORT_C void LeaveNoMemory()
Leaves with the specific reason code KErrNoMemory.
static IMPORT_C void After(TTimeIntervalMicroSeconds32 aInterval)
Suspends the current thread until a specified time interval has expired.
static IMPORT_C void InitProcess()
Internal component API.
static IMPORT_C void WaitForNRequest(TRequestStatus *aStatusArray[], TInt aNum)
Waits for any one of specific asynchronous requests to complete.
static IMPORT_C void SetDebugMask(TUint32 aVal)
Sets the debug mask.
static IMPORT_C TInt RaiseException(TExcType aType)
Raises an exception of a specified type on the current thread.
static IMPORT_C void FreeZ(TAny *&aCell)
Frees the specified cell, returns it to the current thread's default heap, and resets the pointer to ...
static IMPORT_C TInt CountAllocCells()
Gets the total number of cells allocated on the current thread's default heap.
static IMPORT_C TInt InfoPrint(const TDesC &aDes)
Invokes the notifier server to display a text message on the screen for a short time.
static IMPORT_C TTrapHandler * MarkCleanupStack()
Internal component API.
static IMPORT_C TTrapHandler * TrapHandler()
Gets a pointer to the current thread's trap handler.
static IMPORT_C TTimeIntervalSeconds InactivityTime()
Gets the time since the last user activity.
static IMPORT_C void CancelMiscNotifier(TRequestStatus &aStatus)
Internal technology API.
static IMPORT_C TVersion Version()
Retrieves the E32 component version number, which is the kernel architecture version number.
static IMPORT_C void UnMarkCleanupStack(TTrapHandler *aHandler)
Internal component API.
static IMPORT_C void RequestComplete(TRequestStatus *&aStatus, TInt aReason)
Signals the current thread that the asynchronous request associated with the specified request status...
static IMPORT_C void Exit(TInt aReason)
Terminates the current thread, specifying a reason.
static IMPORT_C TAny * AllocZ(TInt aSize)
Allocates a cell of specified size from the current thread's default heap, and clears it to binary ze...
static IMPORT_C TInt LockedDec(TInt &aValue)
Atomically (i.e.
static IMPORT_C TInt SetFloatingPointMode(TFloatingPointMode aMode, TFloatingPointRoundingMode aRoundingMode=EFpRoundToNearest)
Sets the hardware floating point mode for the current thread.
static IMPORT_C TInt LeaveIfError(TInt aReason)
Leaves or returns with a specified reason code.
static IMPORT_C TInt CompressAllHeaps()
Compresses all the chunks containing heaps.
static IMPORT_C TInt GetDesParameter(TInt aSlot, TDes8 &aDes)
Gets the specified environment data item belonging to the current process; this is assumed to be an 8...
static IMPORT_C TInt CommandLineLength()
Gets the length of the data which is passed as an argument to the thread function of the current proc...
static IMPORT_C TAny * Alloc(TInt aSize)
Allocates a cell of specified size from the current thread's heap.
static IMPORT_C TCritical ProcessCritical()
Gets the critical state associated with the current process.
static IMPORT_C TInt SafeInc(TInt &aValue)
Atomically increments the specified value by 1, if the value is > 0.
static IMPORT_C TInt SetUTCTimeSecure(const TTime &aUTCTime)
Sets the secure UTC time to a specified time value.
static TUid Identity()
Definition e32std.h:5425
static IMPORT_C TInt GetTIntParameter(TInt aSlot, TInt &aData)
Gets the specified environment data item belonging to the current process; this is assumed to be a 32...
static IMPORT_C void Check()
Checks the validity of the current thread's default heap.
static IMPORT_C TInt QuickSort(TInt aCount, const TKey &aKey, const TSwap &aSwap)
Quick sorts array elements.
static IMPORT_C TInt LockedInc(TInt &aValue)
Atomically (i.e.
static RHeap * SwitchHeap(RAllocator *aHeap)
Changes the current thread's heap.
static IMPORT_C TInt Available(TInt &aBiggestBlock)
Gets the total free space currently available on the current thread's default heap,...
static IMPORT_C TInt At(const TTime &aTime)
Suspends the current thread until the specified absolute time, in the current time zone.
static IMPORT_C TTrapHandler * SetTrapHandler(TTrapHandler *aHandler)
Sets the current thread's trap handler and returns a pointer to any pre-existing trap handler.
static IMPORT_C TBool IsExceptionHandled(TExcType aType)
Tests whether the specified exception type can be handled by the current thread.
static IMPORT_C void Invariant()
Panics the current thread with a USER 0 panic.
static IMPORT_C TUint Fold(TUint aChar)
Folds the specified character.
static RHeap & Heap()
Gets a reference to the handle to the current thread's heap.
static IMPORT_C TInt SetMachineConfiguration(const TDesC8 &aConfig)
Sets the machine configuration.
static IMPORT_C TExceptionHandler ExceptionHandler()
Gets a pointer to the exception handler for the current thread.
static IMPORT_C TInt IsRomAddress(TBool &aBool, TAny *aPtr)
Tests whether the specified address is in the ROM.
static IMPORT_C TInt SetCurrencySymbol(const TDesC &aSymbol)
Sets the system wide currency symbol.
static IMPORT_C void NotifyOnIdle(TRequestStatus &aStatus)
Internal technology API.
static IMPORT_C void LeaveEnd()
Internal component API.
static IMPORT_C TInt AllocLen(const TAny *aCell)
Gets the length of the specified allocated heap cell.
static IMPORT_C TUint32 NTickCount()
Gets the nanokernel tick count.
static IMPORT_C TUint UpperCase(TUint aChar)
Converts a specified character to upper case.
static IMPORT_C TInt Beep(TInt aFrequency, TTimeIntervalMicroSeconds32 aDuration)
Makes a beep tone with a specified frequency and duration.
static IMPORT_C void SetUTCOffset(TTimeIntervalSeconds aOffset)
Sets the UTC offset to the given number of seconds.
static IMPORT_C void IMB_Range(TAny *aStart, TAny *aEnd)
Does the necessary preparations to guarantee correct execution of code in the specified virtual addre...
static IMPORT_C TSecureId CreatorSecureId()
static IMPORT_C TInt FreePhysicalDevice(const TDesC &aDriverName)
Frees the physical device driver DLL associated with a specified driver name.
static IMPORT_C void SetJustInTime(const TBool aBoolean)
Sets just-in-time debugging for this process on or off.
static IMPORT_C TAny * LeaveIfNull(TAny *aPtr)
Leaves with the reason code KErrNoMemory, if the specified pointer is NULL.
static IMPORT_C TInt AllocSize(TInt &aTotalAllocSize)
Gets the total number of cells allocated on the current thread's default heap, and the total space al...
static IMPORT_C TRegionCode RegionCode()
static IMPORT_C TLanguage Language()
Gets the language of the current locale.
TCritical
A set of values that defines the effect that terminating a thread has, either on its owning process o...
Definition e32std.h:5172
@ EAllThreadsCritical
This value can only be passed to User::SetProcessCritical() and affects any new threads created in th...
Definition e32std.h:5234
@ ESystemCritical
This value can be passed to both: User::SetCritical() and User::SetProcessCritical().
Definition e32std.h:5262
@ EProcessPermanent
This value can only be passed to User::SetCritical() and affects the current thread only.
Definition e32std.h:5216
@ ESystemPermanent
This value can be passed to both: User::SetCritical() and User::SetProcessCritical().
Definition e32std.h:5287
@ ENotCritical
This value can be passed to both:
Definition e32std.h:5190
@ EProcessCritical
This value can only be passed to User::SetCritical() and affects the current thread only.
Definition e32std.h:5204
static IMPORT_C void __DbgMarkStart(TBool aKernel)
Marks the start of heap cell checking for the current thread's default heap, or for the kernel heap.
static IMPORT_C TInt RenameThread(const TDesC &aName)
Assigns a new name to the current thread, replacing any existing name that may have been set.
static IMPORT_C TInt SetExceptionHandler(TExceptionHandler aHandler, TUint32 aMask)
Sets a new exception handler for the current thread.
static IMPORT_C TInt SetProcessCritical(TCritical aCritical)
Sets up or changes the effect that termination of subsequently created threads will have,...
static IMPORT_C TInt MachineConfiguration(TDes8 &aConfig, TInt &aSize)
Gets the machine configuration.
static IMPORT_C void SetPriorityControl(TBool aEnable)
Allows the current process to choose to have its priority switched by another process between 'foregr...
static IMPORT_C TInt SetHomeTime(const TTime &aTime)
Sets the home time to a specified time value.
static IMPORT_C void __DbgMarkCheck(TBool aKernel, TBool aCountAll, TInt aCount, const TUint8 *aFileName, TInt aLineNum)
Checks the current number of allocated heap cells for the current thread's default heap,...
static IMPORT_C RAllocator & Allocator()
Gets the current thread's default current heap.
static IMPORT_C TCritical Critical()
Gets the critical state associated with the current thread.
static IMPORT_C void __DbgSetBurstAllocFail(TBool aKernel, RAllocator::TAllocFail aFail, TUint aRate, TUint aBurst)
Simulates a heap allocation failure for the current thread's default heap, or the kernel heap.
static IMPORT_C TAny * AllocL(TInt aSize)
Allocates a cell of specified size from the current thread's heap, and leaves if there is insufficien...
static IMPORT_C TInt FreeLogicalDevice(const TDesC &aDeviceName)
Frees the logical device driver DLL associated with a specified driver name.
static IMPORT_C TAny * ReAllocL(TAny *aCell, TInt aSize, TInt aMode=0)
Increases or decreases the size of an existing cell, and leaves if there is insufficient memory in th...
static IMPORT_C void __DbgSetAllocFail(TBool aKernel, RAllocator::TAllocFail aFail, TInt aRate)
Simulates a heap allocation failure for the current thread's default heap, or the kernel heap.
static IMPORT_C TBool QueryVersionSupported(const TVersion &aCurrent, const TVersion &aRequested)
Compares two version objects and returns true if the test version is less than the current version.
static IMPORT_C TUint TickCount()
Gets the current tick count.
static IMPORT_C void Leave(TInt aReason)
Leaves the currently executing function, unwinds the call stack, and returns from the most recently e...
static IMPORT_C void WaitForAnyRequest()
Waits for any asynchronous request to complete.
static IMPORT_C RAllocator * SwitchAllocator(RAllocator *aAllocator)
Changes the current thread's heap.
static IMPORT_C TInt ValidateName(const TDesC &aName)
Checks whether a specified name is a valid CObject name.
static IMPORT_C TInt SetCritical(TCritical aCritical)
Sets up or changes the effect that termination of the current thread has, either on its owning proces...
static IMPORT_C void PanicUnexpectedLeave()
Internal component API.
TRealtimeState
Definition e32std.h:5312
@ ERealtimeStateOff
Thread is not realtime.
Definition e32std.h:5313
@ ERealtimeStateOn
Thread is realtime.
Definition e32std.h:5314
@ ERealtimeStateWarn
Thread is realtime but doesn't want this enforced.
Definition e32std.h:5315
static IMPORT_C TUint LowerCase(TUint aChar)
Converts the specified character to lower case.
static IMPORT_C TInt LoadLogicalDevice(const TDesC &aFileName)
Loads the logical device driver (LDD) DLL with the specified filename.
static IMPORT_C TAny * AllocLC(TInt aSize)
Allocates a cell of specified size from the current thread's default heap, and, if successful,...
static IMPORT_C TInt ParameterLength(TInt aSlot)
Gets the length of the specified item of environment data belonging to the current process.
static IMPORT_C TInt SetHomeTimeSecure(const TTime &aTime)
Sets the secure home time to a specified time value.
static IMPORT_C TTimeIntervalSeconds UTCOffset()
Gets the UTC offset - the difference between UTC and the current local time due to any time zones and...
static IMPORT_C TInt SafeDec(TInt &aValue)
Atomically decrements the specified value by 1, if the value is > 0.
static IMPORT_C TTimerLockSpec LockPeriod()
Returns which of the periods the clock is currently in.
static IMPORT_C TInt StringLength(const TUint8 *aString)
Gets the length of a C style, null terminated, string of single-byte valued characters.
static IMPORT_C TUint32 FastCounter()
Gets the fast counter.
static IMPORT_C TAny * AllocZL(TInt aSize)
Allocates a cell of specified size from the current thread's default heap, clears it to binary zeroes...
TBuf< KMaxExitCategoryName > TExitCategoryName
Defines a modifiable buffer descriptor to contain the category name identifying the cause of thread o...
Definition e32cmn.h:1864
TDes8 TDes
Defines a build-independent modifiable descriptor.
Definition e32cmn.h:1387
TPtrC8 TPtrC
Defines a build-independent non-modifiable pointer descriptor.
Definition e32cmn.h:1366
TDesC8 TDesC
Defines a build-independent non-modifiable descriptor.
Definition e32cmn.h:1345
TDes8Overflow TDesOverflow
Defines a build-independent descriptor overflow handler.
Definition e32cmn.h:1453
TLex8 TLex
Provides access to general string-parsing functions suitable for numeric format conversions and synta...
Definition e32std.h:1480
TKeyCmpText
Governs the type of comparison to be made between descriptor keys or between text keys.
Definition e32std.h:715
@ ECmpFolded
For a Unicode build, this is the same as EcmpFolded16.
Definition e32std.h:760
@ ECmpFolded16
For descriptor keys, the key is assumed to be the 16 bit variant, derived from TDesc16.
Definition e32std.h:782
@ ECmpNormal8
For descriptor keys, the key is assumed to be the 8 bit variant, derived from TDesc8.
Definition e32std.h:736
@ ECmpCollated16
For descriptor keys, the key is assumed to be the 16 bit variant, derived from TDesc16.
Definition e32std.h:815
@ ECmpNormal16
For descriptor keys, the key is assumed to be the 16 bit variant, derived from TDesc16.
Definition e32std.h:750
@ ECmpCollated8
For descriptor keys, the key is assumed to be the 8 bit variant, derived from TDesc8.
Definition e32std.h:803
@ ECmpCollated
For a Unicode build, this is the same as EcmpCollated16.
Definition e32std.h:792
@ ECmpFolded8
For descriptor keys, the key is assumed to be the 8 bit variant, derived from TDesc8.
Definition e32std.h:771
@ ECmpNormal
For a Unicode build, this is the same as ECmpNormal16.
Definition e32std.h:723
void(* TTlsCleanupHandler)(TAny *)
Definition e32std.h:5458
TLocaleAspect
TLocaleAspect.
Definition e32std.h:2495
@ ELocaleLocaleSettings
Definition e32std.h:2498
@ ELocaleCollateSetting
Definition e32std.h:2497
@ ELocaleLanguageSettings
Definition e32std.h:2496
@ ELocaleTimeDateSettings
Definition e32std.h:2499
TKeyCmpNumeric
Governs the type of comparison to be made between numeric keys.
Definition e32std.h:834
@ ECmpTInt
The key is assumed to be of type TInt.
Definition e32std.h:856
@ ECmpTInt64
The key is assumed to be of type TInt64.
Definition e32std.h:886
@ ECmpTUint16
The key is assumed to be of type TUint16.
Definition e32std.h:868
@ ECmpTUint8
The key is assumed to be of type TUint8.
Definition e32std.h:862
@ ECmpTInt8
The key is assumed to be of type TInt8.
Definition e32std.h:838
@ ECmpTInt16
The key is assumed to be of type TInt16.
Definition e32std.h:844
@ ECmpTInt32
The key is assumed to be of type TInt32.
Definition e32std.h:850
@ ECmpTUint32
The key is assumed to be of type TUint32.
Definition e32std.h:874
@ ECmpTUint
The key is assumed to be of type TUint.
Definition e32std.h:880
@ EParseDatePresent
Indicates that a date is present.
Definition e32std.h:1845
@ EParseTimePresent
Indicates that a time is present.
Definition e32std.h:1839
TLexMark8 TLexMark
Defines the extraction mark used by the TLex classes to indicate the current lexical element being an...
Definition e32std.h:1500
SSecurityInfo iS
Definition e32std.h:3425
TUint32 iModuleVersion
Definition e32std.h:3423
TUidType iUids
Definition e32std.h:3424
@ ETraceAllowed
Flags set if executable may be traced.
Definition e32std.h:3374
@ EDebugAllowed
Flags set if executable may be debugged.
Definition e32std.h:3373
TUint8 iSpare[6]
Definition e32std.h:3377
TUint8 iHardwareFloatingPoint
Which hardware floating point used, from TFloatingPointType.
Definition e32std.h:3370
TUint8 iDebugAttributes
Bitmask of values from enum TDebugAttributes.
Definition e32std.h:3376
TUidType iUids
UIDs.
Definition e32std.h:3358
TSecurityInfo iSecurityInfo
Security Info.
Definition e32std.h:3359
TUint32 iModuleVersion
Version number.
Definition e32std.h:3357
const TText * iDayTable
Definition e32std.h:2511
const TText * iMonthTable
Definition e32std.h:2513
const TText16 *const * iMsgTable
Definition e32std.h:2516
const TText * iAmPmTable
Definition e32std.h:2515
TLanguage iLanguage
Definition e32std.h:2509
const TText * iMonthAbbTable
Definition e32std.h:2514
const TText * iDayAbbTable
Definition e32std.h:2512
const TText * iDateSuffixTable
Definition e32std.h:2510
TAny * iLocaleExtraSettingsDllPtr
Definition e32std.h:2527
TText iCurrencySymbol[KMaxCurrencySymbol+1]
Definition e32std.h:2526
TText iLongDateFormatSpec[KMaxLongDateFormatSpec+1]
Definition e32std.h:2538
TText iShortDateFormatSpec[KMaxShortDateFormatSpec+1]
Definition e32std.h:2537
TText iTimeFormatSpec[KMaxTimeFormatSpec+1]
Definition e32std.h:2539
TAny * iLocaleTimeDateFormatDllPtr
Definition e32std.h:2540
This structure specifies the type and properties of the chunk to be created.
Definition e32std.h:3619
IMPORT_C void SetGlobal(const TDesC &aName)
Sets the chunk to be created to be global, i.e.
TUint iVersionNumber
The version number of this TChunkCreateInfo.
Definition e32std.h:3670
TChunkPagingAtt
Attributes that specify whether the chunk to be created is data paged or not.
Definition e32std.h:3639
@ EUnpaged
The chunk will not be data paged.
Definition e32std.h:3642
@ EUnspecified
The chunk will use the creating process's paging attributes.
Definition e32std.h:3640
@ EPaged
The chunk will be data paged.
Definition e32std.h:3641
TBool iGlobal
Specify if chunk is global or not.
Definition e32std.h:3682
IMPORT_C void SetReadOnly()
Sets the global chunk to be created to be read only.
TUint8 iClearByte
The byte to clear all the memory committed to the chunk to.
Definition e32std.h:3732
TInt iInitialBottom
The offset of the bottom of the region to commit to the chunk on creation from the base of the chunk'...
Definition e32std.h:3711
IMPORT_C void SetCache(TInt aMaxSize)
IMPORT_C void SetOwner(TOwnerType aType)
Sets the owner of the chunk to be created.
IMPORT_C void SetPaging(const TChunkPagingAtt aPaging)
Sets the data paging attributes for the chunk to be created.
TUint iAttributes
Attributes to the chunk to be created should have.
Definition e32std.h:3726
TUint iType
The type of the chunk to be created.
Definition e32std.h:3676
IMPORT_C void SetCode(TInt aInitialSize, TInt aMaxSize)
Sets the chunk to be created to be user writable and to be marked by the kernel as containing code.
IMPORT_C void SetNormal(TInt aInitialSize, TInt aMaxSize)
Sets the chunk to be created to have a committed region that always starts at the bottom of the reser...
TUint8 iSpare1[3]
Definition e32std.h:3738
void SetThreadHeap(TInt aInitialSize, TInt aMaxSize, const TDesC &aName)
Sets the chunk to be created to be a thread heap chunk.
IMPORT_C void SetClearByte(TUint8 aClearByte)
Sets the byte value that all memory committed to the chunk will be cleared to.
TInt iMaxSize
The maximum size in bytes of the chunk to be created.
Definition e32std.h:3688
TInt iInitialTop
The offset of the top of the region to commit to the chunk on creation from the base of the chunk's r...
Definition e32std.h:3719
const TDesC * iName
A pointer to a descriptor containing the name to be assigned to global chunks.
Definition e32std.h:3703
IMPORT_C void SetDoubleEnded(TInt aInitialBottom, TInt aInitialTop, TInt aMaxSize)
Sets the chunk to be created to have a commited region that that can be any contiguous subset of the ...
TOwnerType iOwnerType
An enumeration whose enumerators define the ownership of this chunk handle.
Definition e32std.h:3695
IMPORT_C TChunkCreateInfo()
Default constructor.
IMPORT_C void SetDisconnected(TInt aInitialBottom, TInt aInitialTop, TInt aMaxSize)
Set the chunk to be created to have a committed region consisting of an arbitrary set of MMU pages wi...
This structure specifies the type and properties of the user heap to be created.
Definition e32std.h:3756
void SetPaging(const TChunkHeapPagingAtt aPaging)
Sets the paging attribute of the chunk heap to be created.
TBool iSingleThread
The single thread value of the heap.
Definition e32std.h:3828
TInt iOffset
The offset from the base of the chunk to the start of the heap.
Definition e32std.h:3834
TUint iVersionNumber
The version number of this TChunkHeapCreateInfo.
Definition e32std.h:3798
TInt iAlign
The alignment of the heap.
Definition e32std.h:3816
TChunkHeapPagingAtt iPaging
The paging attributes of the chunk.
Definition e32std.h:3840
void SetGrowBy(TInt aGrowBy)
Sets the increments to the size of the host chunk.
TInt iMaxLength
The maximum size for the heap.
Definition e32std.h:3810
void SetOffset(TInt aOffset)
Sets the offset from the base of the host chunk to the start of the heap.
IMPORT_C void SetUseChunk(const RChunk aChunk)
Sets the chunk heap to be created to use the chunk specified.
TChunkHeapPagingAtt
Attributes that specify whether the chunk heap to be created is data paged or not.
Definition e32std.h:3774
@ EPaged
The chunk heap will be data paged.
Definition e32std.h:3776
@ EUnpaged
The chunk heap will not be data paged.
Definition e32std.h:3777
@ EUnspecified
The chunk heap will use the creating process's paging attributes.
Definition e32std.h:3775
IMPORT_C void SetCreateChunk(const TDesC *aName)
Sets the chunk heap to create a new chunk with the specified name.
TUint iMode
The mode flags for the heap.
Definition e32std.h:3846
RChunk iChunk
The chunk to use for the heap.
Definition e32std.h:3858
TDesC * iName
The name of the chunk to be created for the heap.
Definition e32std.h:3852
void SetMode(TUint aMode)
Sets the mode flags of the chunk heap.
TInt iMinLength
The minimum size for the heap.
Definition e32std.h:3804
TInt iGrowBy
The grow by value of the heap.
Definition e32std.h:3822
void SetAlignment(TInt aAlign)
Sets alignment of the cells of the chunk heap to be created.
void SetSingleThread(TBool aSingleThread)
Sets single thread property of the chunk heap.
This structure specifies the type and properties of the thread to be created.
Definition e32std.h:3973
const TDesC * iName
The Name to be given to the thread to be created.
Definition e32std.h:4019
IMPORT_C void SetOwner(const TOwnerType aOwner)
Sets the owner the thread to be created.
TThreadPagingAtt
Attributes that specify whether the stack and heap of the thread to be created are data paged or not.
Definition e32std.h:3992
@ EUnspecified
The thread will use the creating process's paging attributes.
Definition e32std.h:3993
@ EPaged
The thread will data page its stack and heap.
Definition e32std.h:3994
@ EUnpaged
The thread will not data page its stack and heap.
Definition e32std.h:3995
IMPORT_C void SetCreateHeap(TInt aHeapMinSize, TInt aHeapMaxSize)
Sets the thread to be created to create its own heap.
TThreadFunction iFunction
The function this thread will execute.
Definition e32std.h:4025
TUint iVersionNumber
The version number of this TChunkCreateInfo.
Definition e32std.h:4013
TUint iAttributes
The attributes of the thread.
Definition e32std.h:4068
TInt iStackSize
The size of the stack of the thread to be created.
Definition e32std.h:4031
TInt iHeapMinSize
Minimum size of any heap to be created for the thread.
Definition e32std.h:4056
IMPORT_C void SetUseHeap(const RAllocator *aHeap)
Sets the thread to be created to use the heap whose handle is pointed to by aAllocator.
TInt iHeapMaxSize
Maximum size of any heap to be created for the thread.
Definition e32std.h:4062
RAllocator * iHeap
The heap for the thread to be created to use.
Definition e32std.h:4050
TOwnerType iOwner
The owner of the thread to be created.
Definition e32std.h:4043
TUint32 iSpare[6]
Definition e32std.h:4074
TAny * iParameter
The parameter to be passed to the function of the thread to be created.
Definition e32std.h:4037
IMPORT_C void SetPaging(const TThreadPagingAtt aPaging)
Sets the data paging attributes of the thread to be created.