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

Symbian

开发平台:

C/C++

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