genericopenlibs/openenvcore/backend/inc/sysif.h
changeset 44 97b0fb8a2cc2
parent 18 47c74d1534e1
child 66 38bdaa106551
equal deleted inserted replaced
22:ddc455616bd6 44:97b0fb8a2cc2
    56 class CFileDesTransferServer;
    56 class CFileDesTransferServer;
    57 class RFileDesTransferSession;
    57 class RFileDesTransferSession;
    58 class CFileDescBase;
    58 class CFileDescBase;
    59 /* TODO: We don't have to do this in CFileTable. Move to methods */
    59 /* TODO: We don't have to do this in CFileTable. Move to methods */
    60 class CFileSocketDesc;
    60 class CFileSocketDesc;
    61 
    61 class CSocketDesc;
    62 struct TChild
    62 struct TChild
    63 /*
    63 /*
    64 @internalComponent
    64 @internalComponent
    65 */
    65 */
    66 	{
    66 	{
   112 /*
   112 /*
   113 @internalComponent
   113 @internalComponent
   114 */
   114 */
   115 	{
   115 	{
   116 public:
   116 public:
   117 	void StorePtrs(RHeap* aHeap, RFs* aFs, RSocketServ* aSs, RCommServ* aCs, RFastLock* aSsLock, RFastLock* aCsLock, RTz * aTzs)
   117 	void StorePtrs(RHeap* aHeap, RFs* aFs, RSocketServ* aSs, RCommServ* aCs, RFastLock* aSsLock, RFastLock* aCsLock)
   118 		{
   118 		{
   119 		iHeap = aHeap;
   119 		iHeap = aHeap;
   120 		iFs = aFs;
   120 		iFs = aFs;
   121 		iSs = aSs;
   121 		iSs = aSs;
   122 		iCs = aCs;
   122 		iCs = aCs;
   123 		iSsLock = aSsLock;
   123 		iSsLock = aSsLock;
   124 		iCsLock = aCsLock;
   124 		iCsLock = aCsLock;
   125 		iTzS = aTzs;
       
   126 		}
   125 		}
   127 
   126 
   128 	~TCLSICleanup()
   127 	~TCLSICleanup()
   129 		{
   128 		{
   130 		iFs->Close();
   129 		iFs->Close();
   131 		iSs->Close();
   130 		iSs->Close();
   132 		iSsLock->Close();
   131 		iSsLock->Close();
   133 		iCs->Close();
   132 		iCs->Close();
   134 		iCsLock->Close();
   133 		iCsLock->Close();
   135 		iHeap->Close();
   134 		iHeap->Close();
   136 		iTzS->Close();
       
   137 		}
   135 		}
   138 private:
   136 private:
   139 	RHeap* iHeap;
   137 	RHeap* iHeap;
   140 	RFs* iFs;
   138 	RFs* iFs;
   141 	RSocketServ* iSs;
   139 	RSocketServ* iSs;
   142 	RCommServ* iCs;
   140 	RCommServ* iCs;
   143 	RFastLock* iSsLock;
   141 	RFastLock* iSsLock;
   144 	RFastLock* iCsLock;
   142 	RFastLock* iCsLock;
   145 	RTz * iTzS;
       
   146 	};
   143 	};
   147 
   144 
   148 
   145 
   149 class TFileTableCleanup
   146 class TFileTableCleanup
   150 {
   147 {
   162 private:
   159 private:
   163 	RHeap* iUserHeap;
   160 	RHeap* iUserHeap;
   164 };
   161 };
   165 
   162 
   166 
   163 
   167 class CFileTable
   164 class CFileTable // codescanner::missingcclass
   168 /*
   165 /*
   169 @internalComponent
   166 @internalComponent
   170 */
   167 */
   171 	{
   168 	{
   172 public:
   169 public:
   516 	static TInt handleaselect(TAny* aPtr);
   513 	static TInt handleaselect(TAny* aPtr);
   517 	
   514 	
   518 	RArray<TASelectRequest>& ASelectRequest();
   515 	RArray<TASelectRequest>& ASelectRequest();
   519 	
   516 	
   520 	RFastLock& ASelectLock();
   517 	RFastLock& ASelectLock();
       
   518 	
       
   519 	inline RFastLock& DefConnLock() { return iDefConnLock; }
       
   520 	
       
   521 	inline TInt AddSocket(CSocketDesc* aPtr)
       
   522 	    {
       
   523         RHeap* oheap = User::SwitchHeap(iPrivateHeap);
       
   524 	    TInt ret = iSocketArray.InsertInAddressOrder(aPtr);
       
   525 	    User::SwitchHeap(oheap);	    
       
   526 	    return ret;
       
   527 	    }
       
   528 	
       
   529 	inline void RemoveSocket(CSocketDesc* aPtr)
       
   530 	    {
       
   531 	    TInt index = iSocketArray.FindInAddressOrder(aPtr);
       
   532 	    if (index != -1)
       
   533 	        {
       
   534 			RHeap* oheap = User::SwitchHeap(iPrivateHeap);
       
   535             iSocketArray.Remove(index);            
       
   536             iSocketArray.Compress();
       
   537             User::SwitchHeap(oheap);
       
   538 	        }
       
   539 	    }
       
   540 	
   521 	int system (const wchar_t* aCmd, const wchar_t* aCmdArg, int& anErrno );
   541 	int system (const wchar_t* aCmd, const wchar_t* aCmdArg, int& anErrno );
   522 	const wchar_t* GetDirName (int aFid);
   542 	const wchar_t* GetDirName (int aFid);
   523 	IMPORT_C int Truncate (int aFid, off_t anOffset, int& anErrno);
   543 	IMPORT_C int Truncate (int aFid, off_t anOffset, int& anErrno);
   524 	int fchmod (int fd , mode_t  perms, int& anErrno);
   544 	int fchmod (int fd , mode_t  perms, int& anErrno);
   525 
   545 
   656 	RArray<TASelectRequest> iASelectRequest;
   676 	RArray<TASelectRequest> iASelectRequest;
   657 	
   677 	
   658 	// Default connection settings, set/cleared using setdefaultif
   678 	// Default connection settings, set/cleared using setdefaultif
   659 	TConnPref* iDefConnPref;
   679 	TConnPref* iDefConnPref;
   660     RTz     iTzServer;	
   680     RTz     iTzServer;	
       
   681     RPointerArray<CSocketDesc> iSocketArray;
   661 #ifdef SYMBIAN_OE_POSIX_SIGNALS
   682 #ifdef SYMBIAN_OE_POSIX_SIGNALS
   662 	// Signal handler thread
   683 	// Signal handler thread
   663 	RThread 				iSignalHandlerThread;
   684 	RThread 				iSignalHandlerThread;
   664 	RPipe					iSignalReadPipe;
   685 	RPipe					iSignalReadPipe;
   665 	RPipe					iSignalWritePipe;
   686 	RPipe					iSignalWritePipe;