genericopenlibs/openenvcore/backend/inc/sysif.h
changeset 44 97b0fb8a2cc2
parent 18 47c74d1534e1
child 66 38bdaa106551
--- a/genericopenlibs/openenvcore/backend/inc/sysif.h	Mon May 03 14:06:43 2010 +0300
+++ b/genericopenlibs/openenvcore/backend/inc/sysif.h	Tue Jul 20 16:35:53 2010 +0530
@@ -58,7 +58,7 @@
 class CFileDescBase;
 /* TODO: We don't have to do this in CFileTable. Move to methods */
 class CFileSocketDesc;
-
+class CSocketDesc;
 struct TChild
 /*
 @internalComponent
@@ -114,7 +114,7 @@
 */
 	{
 public:
-	void StorePtrs(RHeap* aHeap, RFs* aFs, RSocketServ* aSs, RCommServ* aCs, RFastLock* aSsLock, RFastLock* aCsLock, RTz * aTzs)
+	void StorePtrs(RHeap* aHeap, RFs* aFs, RSocketServ* aSs, RCommServ* aCs, RFastLock* aSsLock, RFastLock* aCsLock)
 		{
 		iHeap = aHeap;
 		iFs = aFs;
@@ -122,7 +122,6 @@
 		iCs = aCs;
 		iSsLock = aSsLock;
 		iCsLock = aCsLock;
-		iTzS = aTzs;
 		}
 
 	~TCLSICleanup()
@@ -133,7 +132,6 @@
 		iCs->Close();
 		iCsLock->Close();
 		iHeap->Close();
-		iTzS->Close();
 		}
 private:
 	RHeap* iHeap;
@@ -142,7 +140,6 @@
 	RCommServ* iCs;
 	RFastLock* iSsLock;
 	RFastLock* iCsLock;
-	RTz * iTzS;
 	};
 
 
@@ -164,7 +161,7 @@
 };
 
 
-class CFileTable
+class CFileTable // codescanner::missingcclass
 /*
 @internalComponent
 */
@@ -518,6 +515,29 @@
 	RArray<TASelectRequest>& ASelectRequest();
 	
 	RFastLock& ASelectLock();
+	
+	inline RFastLock& DefConnLock() { return iDefConnLock; }
+	
+	inline TInt AddSocket(CSocketDesc* aPtr)
+	    {
+        RHeap* oheap = User::SwitchHeap(iPrivateHeap);
+	    TInt ret = iSocketArray.InsertInAddressOrder(aPtr);
+	    User::SwitchHeap(oheap);	    
+	    return ret;
+	    }
+	
+	inline void RemoveSocket(CSocketDesc* aPtr)
+	    {
+	    TInt index = iSocketArray.FindInAddressOrder(aPtr);
+	    if (index != -1)
+	        {
+			RHeap* oheap = User::SwitchHeap(iPrivateHeap);
+            iSocketArray.Remove(index);            
+            iSocketArray.Compress();
+            User::SwitchHeap(oheap);
+	        }
+	    }
+	
 	int system (const wchar_t* aCmd, const wchar_t* aCmdArg, int& anErrno );
 	const wchar_t* GetDirName (int aFid);
 	IMPORT_C int Truncate (int aFid, off_t anOffset, int& anErrno);
@@ -658,6 +678,7 @@
 	// Default connection settings, set/cleared using setdefaultif
 	TConnPref* iDefConnPref;
     RTz     iTzServer;	
+    RPointerArray<CSocketDesc> iSocketArray;
 #ifdef SYMBIAN_OE_POSIX_SIGNALS
 	// Signal handler thread
 	RThread 				iSignalHandlerThread;