genericopenlibs/openenvcore/backend/src/corebackend/localif.cpp
branchRCL_3
changeset 75 254b651f304e
parent 64 c44f36bb61a3
--- a/genericopenlibs/openenvcore/backend/src/corebackend/localif.cpp	Wed Sep 15 14:02:55 2010 +0300
+++ b/genericopenlibs/openenvcore/backend/src/corebackend/localif.cpp	Wed Oct 13 16:27:53 2010 +0300
@@ -79,42 +79,10 @@
 		return &backend;
 #endif
 		}
-		
-EXPORT_C RTz& CLocalSystemInterface::TZServer(TInt &aStatus)
-	{
-	aStatus = OnDemandTZServerConnection();
-	return iTzServer;
-	} 
-		
-TInt CLocalSystemInterface::OnDemandTZServerConnection()
-        {
-		TInt v = EFalse;
-		TInt err = KErrNone;
-		
-		if(__e32_atomic_load_acq32(&iIsRTzConnected))
-			return err;
-			
-		iTzServerLock.Wait();
-		if (!iIsRTzConnected) 
-			{
-			err = iTzServer.Connect();
-			if ( err == KErrNone ) 
-				{
-				err = iTzServer.ShareAuto();
-				if( err == KErrNone) {
-					v = ETrue;
-					}
-				}
-			__e32_atomic_store_rel32(&iIsRTzConnected, v); 
-			}
-		iTzServerLock.Signal();
-		
-        return err;
-        } 
 
 // Construction of Backend Object which is going to be singleton object for the process
 EXPORT_C CLocalSystemInterface::CLocalSystemInterface() : iOpenDirList(CLocalSystemInterface::KDirGran),
-iTLDInfoList(CLocalSystemInterface::KTLDInfoListGran), iDefConnResurrect(ETrue), iDefConnPref(NULL), iIsRTzConnected(EFalse)
+iTLDInfoList(CLocalSystemInterface::KTLDInfoListGran), iDefConnResurrect(ETrue), iDefConnPref(NULL)
 		{
 #ifdef SYMBIAN_OE_POSIX_SIGNALS
 		iSignalsInitialized = EFalse;
@@ -188,7 +156,6 @@
 			//Create Server Locks
 			err |= iSSLock.CreateLocal();
 			err |= iCSLock.CreateLocal();
-			err |= iIpcS.iLock.CreateLocal();
 			//Create TLDList Lock
 			err |= iTLDListLock.CreateLocal();
 			//Create the lock for Session Path
@@ -197,17 +164,25 @@
 			err |=  iASelectLock.CreateLocal();
 	        //Protect the iDefConnection from concurrent GetDefaultConnection calls
 	        err |= iDefConnLock.CreateLocal();
-			//Protect the time zone server while connecting
-			err |= iTzServerLock.CreateLocal();
 			}
 
+        if(err == KErrNone)
+            {
+            err = iTzServer.Connect();
+            if(!err)
+                {
+                err = iTzServer.ShareAuto();
+                }
+            }
+
+
 		//Panic if any of the above operation returns with error
 		if (err)
 			{
 			User::Panic(KEstlibInit, err);
 			}
 
-		iCleanup.StorePtrs(iPrivateHeap, &iFs, &iSs, &iCs, &iSSLock, &iCSLock,&iDefConnLock,&iASelectLock,&iTzServerLock);
+		iCleanup.StorePtrs(iPrivateHeap, &iFs, &iSs, &iCs, &iSSLock, &iCSLock,&iDefConnLock,&iASelectLock);
 
 		}
 
@@ -243,6 +218,7 @@
 	//close the RTz connection
 	iTzServer.Close();
 
+
 	if( iDefConnPref )
 	    {
 	    switch( iDefConnPref->ExtensionId() )
@@ -1763,11 +1739,6 @@
 	return MapError(err,anErrno);
 	}
 
-EXPORT_C void CLocalSystemInterface::freednssuffixes(if_dns_suffixes * suffixes)
-    {
-    CSocketDesc::FreeDNSSuffixes(suffixes->suffixes);
-    }
-
 int CLocalSystemInterface::ioctl_complete (int fid, int cmd, void* param, TRequestStatus& aStatus, int& anErrno)
 	{
 	return iFids.ioctlcomplete(fid,cmd,param,aStatus,anErrno);
@@ -2194,7 +2165,7 @@
         { 
         timer.After(*reqarray[numReqs+arraycount], timeout); 
         // Wait for any request to complete 
-        CLocalSystemInterface::WaitForNRequest(reqarray, numReqs+arraycount+1);     
+        CLocalSystemInterface::WaitForNRequest(*reqarray, numReqs+arraycount+1);     
         if( (*reqarray[numReqs+arraycount]).Int() == KRequestPending) 
             {
             // The timer hasn't fired yet.
@@ -2209,7 +2180,7 @@
         } 
     else 
         { 
-        CLocalSystemInterface::WaitForNRequest(reqarray, numReqs+arraycount);
+        CLocalSystemInterface::WaitForNRequest(*reqarray, numReqs+arraycount);
         // Completion Status of one request has been gathered
         onedown = ETrue;
         }
@@ -3655,47 +3626,6 @@
 // Used in lieu of User::WaitForNRequest because of need to support pre-Argus builds
 // ---------------------------------------------------------------------------------
 //
-void CLocalSystemInterface::WaitForNRequest(TRequestStatus **aStatusArray, TInt aNum)
-	{
-	if (aNum)
-		{
-		// used to keep count of requests we have not been asked to wait for
-		TInt nOther = -1;
-		TBool done = EFalse;
-
-		do
-			{
-			++nOther;
-			User::WaitForAnyRequest();
-			for (TInt i = 0; i < aNum; ++i)
-				{
-				if ((*aStatusArray[i]).Int() != KRequestPending)
-					{
-					done = ETrue;
-					break;
-					}
-				}
-			} while (!done);
-
-		if (nOther)
-			{
-			// Adjust the thread's signal semaphore to account for the requests
-			// we were not asked to wait for.
-			RThread thrd;
-			for (TInt i = 0; i < nOther; ++i)
-				{
-				thrd.RequestSignal();
-				}
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------------
-// CLocalSystemInterface::WaitForNRequest
-// Wait for any one of the input asynchronous requests to complete
-// Used in lieu of User::WaitForNRequest because of need to support pre-Argus builds
-// ---------------------------------------------------------------------------------
-//
 void CLocalSystemInterface::WaitForNRequest(TRequestStatus aStatusArray[], TInt aNum)
 	{
 	if (aNum)