genericopenlibs/openenvcore/backend/inc/sysif.h
changeset 52 bf6a71c50e42
parent 34 5fae379060a7
child 63 a117ad66e027
--- a/genericopenlibs/openenvcore/backend/inc/sysif.h	Fri Jun 11 15:26:22 2010 +0300
+++ b/genericopenlibs/openenvcore/backend/inc/sysif.h	Wed Aug 18 11:27:44 2010 +0300
@@ -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
@@ -161,7 +161,7 @@
 };
 
 
-class CFileTable
+class CFileTable // codescanner::missingcclass
 /*
 @internalComponent
 */
@@ -515,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);
@@ -655,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;