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

Symbian

开发平台:

C/C++

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