epoc32/include/e32base.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
     1.1 --- a/epoc32/include/e32base.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ b/epoc32/include/e32base.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -1,9 +1,9 @@
     1.4  // Copyright (c) 1994-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5  // All rights reserved.
     1.6  // This component and the accompanying materials are made available
     1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     1.8 +// under the terms of the License "Eclipse Public License v1.0"
     1.9  // which accompanies this distribution, and is available
    1.10 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.11 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
    1.12  //
    1.13  // Initial Contributors:
    1.14  // Nokia Corporation - initial contribution.
    1.15 @@ -1095,33 +1095,9 @@
    1.16  	__DECLARE_TEST;
    1.17  	};
    1.18  
    1.19 -
    1.20 -
    1.21 -
    1.22 -/**
    1.23 -@internalComponent
    1.24 -*/
    1.25 -		struct	TObjectDataStr	//In use if this slot contains pointer to object.
    1.26 -			{			
    1.27 -			TInt16 instance;  
    1.28 -			TUint16 uniqueID;
    1.29 -			};		
    1.30 -/**
    1.31 -@internalComponent
    1.32 -*/
    1.33 -struct SObjectIxRec
    1.34 -	{
    1.35 -	union
    1.36 -	{
    1.37 -		TObjectDataStr str;	//This is in use if the slot contains pointer to CObject.	
    1.38 -		TInt nextEmpty;		//This is in use if the slot is empty. Points to the next empty slot ...
    1.39 -							//... in the list. 16 bits would be enough but ARM prefers 32 bytes.
    1.40 -	};
    1.41 -	CObject* obj;
    1.42 -	};
    1.43 +//Forward declaration of SObjectIxRec
    1.44 +struct SObjectIxRec;
    1.45  	
    1.46 -
    1.47 -
    1.48  class CObjectIx : public CBase
    1.49  /**
    1.50  @publishedAll
    1.51 @@ -1218,11 +1194,6 @@
    1.52  @see CObjectConIx
    1.53  */
    1.54  	{
    1.55 -protected:
    1.56 -    /**
    1.57 -    @internalComponent
    1.58 -    */
    1.59 -	enum {ENotOwnerID};
    1.60  public:
    1.61  	IMPORT_C static CObjectCon* NewL();
    1.62  	IMPORT_C ~CObjectCon();
    1.63 @@ -1274,6 +1245,14 @@
    1.64  @see CObject
    1.65  */
    1.66  	{
    1.67 +#ifndef	SYMBIAN_ENABLE_SPLIT_HEADERS
    1.68 +protected:
    1.69 +    /**
    1.70 +    @internalComponent
    1.71 +    */
    1.72 +	enum {ENotOwnerID};
    1.73 +#endif
    1.74 +	
    1.75  public:
    1.76  	IMPORT_C static CObjectConIx* NewL();
    1.77  	IMPORT_C ~CObjectConIx();
    1.78 @@ -1295,41 +1274,6 @@
    1.79  	TAny* iSpare2;
    1.80  	};
    1.81  
    1.82 -
    1.83 -/**
    1.84 -@internalTechnology
    1.85 -@deprecated
    1.86 -*/
    1.87 -class CBitMapAllocator : public CBase
    1.88 -	{
    1.89 -public:
    1.90 -	IMPORT_C static CBitMapAllocator* New(TInt aSize);
    1.91 -	IMPORT_C static CBitMapAllocator* NewL(TInt aSize);
    1.92 -	IMPORT_C ~CBitMapAllocator();
    1.93 -	IMPORT_C TInt Alloc();
    1.94 -	IMPORT_C TInt AllocFrom(TInt aPos);
    1.95 -	IMPORT_C TInt Alloc(TInt aCount, TInt& aConsecutive);
    1.96 -	IMPORT_C TInt AllocAligned(TInt anAlignment);
    1.97 -	IMPORT_C TInt AllocAlignedBlock(TInt anAlignment);
    1.98 -	IMPORT_C TInt AllocFromTop();
    1.99 -	IMPORT_C TInt AllocFromTopFrom(TInt aPos);
   1.100 -	IMPORT_C void AllocAt(TInt aPos);
   1.101 -	IMPORT_C void AllocAt(TInt aPos, TInt aCount);
   1.102 -	IMPORT_C TBool IsFree(TInt aPos);
   1.103 -	IMPORT_C TBool IsFree(TInt aPos, TInt aCount);
   1.104 -	IMPORT_C void Free(TInt aPos);
   1.105 -	IMPORT_C void Free(TInt aPos, TInt aCount);
   1.106 -	IMPORT_C TInt Avail();
   1.107 -	IMPORT_C TInt Size();
   1.108 -	IMPORT_C TInt ExtractRamPages(TInt aConsecutive,TInt& aPageNo);
   1.109 -protected:
   1.110 -	IMPORT_C CBitMapAllocator(TInt aSize,TInt aLength);
   1.111 -protected:
   1.112 -	TInt iAvail;
   1.113 -	TInt iSize;
   1.114 -	TInt iLength;
   1.115 -	TUint iMap[1];
   1.116 -	};
   1.117  // Forward Declaration of TCleanupStackItem
   1.118  class TCleanupStackItem;
   1.119  
   1.120 @@ -1574,9 +1518,9 @@
   1.121  @publishedAll
   1.122  @released
   1.123  
   1.124 -Circular buffer of unsigned integers. 
   1.125 -
   1.126 -The integer values range from -128 to +127.
   1.127 +Circular buffer of unsigned 8-bit integers. 
   1.128 +
   1.129 +The integer values range from 0 to 255.
   1.130  */
   1.131  	{
   1.132  public:
   1.133 @@ -1853,7 +1797,7 @@
   1.134  	{
   1.135  	friend class CDeltaTimer;
   1.136  public:
   1.137 -	inline TDeltaTimerEntry(TCallBack& aCallback);
   1.138 +	inline TDeltaTimerEntry(const TCallBack& aCallback);
   1.139  	inline TDeltaTimerEntry();
   1.140  	inline void Set(TCallBack& aCallback);
   1.141  private:
   1.142 @@ -2211,10 +2155,12 @@
   1.143  	IMPORT_C virtual void Disconnect(const RMessage2& aMessage);
   1.144  	IMPORT_C virtual TInt Extension_(TUint aExtensionId, TAny*& a0, TAny* a1);
   1.145  public:
   1.146 +	IMPORT_C void SetServer(const CServer2* aServer);
   1.147      /**
   1.148      @internalComponent
   1.149      */
   1.150  	enum TPanicNo {ESesCountResourcesNotImplemented=1,ESesFoundResCountHeaven};
   1.151 +
   1.152  private:
   1.153  	TInt iResourceCountMark;
   1.154  	TDblQueLink iLink;
   1.155 @@ -2239,33 +2185,25 @@
   1.156  class CServer2 : public CActive
   1.157  	{
   1.158  public:
   1.159 -    /**
   1.160 -    Defines the set of session types that the server can create.
   1.161 -    
   1.162 -    A specific session type is specified when the CServer2 object is created. 
   1.163 -    */
   1.164 +
   1.165 +	/**
   1.166 +	This enumeration defines the maximum sharability of sessions opened
   1.167 +	with this server; for backwards compatibilty, these should be have
   1.168 +	the same values as the corresponding EIpcSessionType enumeration
   1.169 +	*/
   1.170  	enum TServerType
   1.171  		{
   1.172 -		/**
   1.173 -		The session is not sharable with other threads.
   1.174 -		*/
   1.175 -		EUnsharableSessions = EIpcSession_Unsharable,
   1.176 -
   1.177 -		/**
   1.178 -		The session is sharable with other threads in the same process.
   1.179 -		*/
   1.180 -		ESharableSessions = EIpcSession_Sharable,
   1.181 -
   1.182 -		/**
   1.183 -		The session is sharable with all other threads in the system.
   1.184 -		*/
   1.185 -		EGlobalSharableSessions = EIpcSession_GlobalSharable,
   1.186 +		EUnsharableSessions					= EIpcSession_Unsharable,
   1.187 +		ESharableSessions					= EIpcSession_Sharable,
   1.188 +		EGlobalSharableSessions				= EIpcSession_GlobalSharable,
   1.189  		};
   1.190 +
   1.191  public:
   1.192  	IMPORT_C virtual ~CServer2() =0;
   1.193  	IMPORT_C TInt Start(const TDesC& aName);
   1.194  	IMPORT_C void StartL(const TDesC& aName);
   1.195  	IMPORT_C void ReStart();
   1.196 +	IMPORT_C void SetPinClientDescriptors(TBool aPin);
   1.197  	
   1.198  	/**
   1.199  	Gets a handle to the server.
   1.200 @@ -2314,7 +2252,8 @@
   1.201  	void Connect(const RMessage2& aMessage);
   1.202  	void DoConnectL(const RMessage2& aMessage,CSession2* volatile& aSession);
   1.203  public:
   1.204 -	
   1.205 +	IMPORT_C void SetMaster(const CServer2* aServer);
   1.206 +
   1.207  	/**
   1.208      @internalComponent
   1.209      */
   1.210 @@ -2325,12 +2264,16 @@
   1.211  		ESessionAlreadyConnected,
   1.212  		EClientDoesntHaveRequiredCaps,
   1.213  		};
   1.214 +
   1.215  private:
   1.216 -	TInt iSessionType;
   1.217 +	TUint8 iSessionType;
   1.218 +	TUint8 iServerRole;
   1.219 +	TUint16 iServerOpts;
   1.220  	RServer2 iServer;
   1.221  	RMessage2 iMessage;
   1.222  	TAny* iSpare;
   1.223  	TDblQue<CSession2> iSessionQ;
   1.224 +	
   1.225  protected:
   1.226  	TDblQueIter<CSession2> iSessionIter;
   1.227  private:
   1.228 @@ -3266,4 +3209,8 @@
   1.229  
   1.230  #include <e32base.inl>
   1.231  
   1.232 +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
   1.233 +#include <e32base_private.h>
   1.234 +#endif
   1.235 +
   1.236  #endif //__E32BASE_H__