genericopenlibs/openenvcore/backend/inc/sysif.h
branchRCL_3
changeset 53 9d9daa0f4b62
parent 25 7701629b34a6
child 54 4332f0f7be53
--- a/genericopenlibs/openenvcore/backend/inc/sysif.h	Wed Jun 09 11:33:19 2010 +0300
+++ b/genericopenlibs/openenvcore/backend/inc/sysif.h	Thu Jul 15 20:34:46 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
@@ -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;