httpfilters/cookie/ManagerSrc/CookieManagerClient.cpp
branchRCL_3
changeset 20 a0da872af3fa
parent 19 c0c2f28ace9c
--- a/httpfilters/cookie/ManagerSrc/CookieManagerClient.cpp	Tue Aug 31 15:44:10 2010 +0300
+++ b/httpfilters/cookie/ManagerSrc/CookieManagerClient.cpp	Wed Sep 01 12:21:21 2010 +0100
@@ -81,10 +81,6 @@
 EXPORT_C TInt RCookieManager::Connect()
     {
     CLOG( ( EClientConnect, 0, _L( "-> RCookieManager::Connect" ) ) );
-    iCookieMgrData = new TCookieMgrInternalStruct(iStringPool);
-    if (!(iCookieMgrData && iCookieMgrData->Init() == KErrNone))
-        return KErrNoMemory;
-            
     TInt error = KErrNone;
     RProcess server;
     error = server.Create( KCookieServerExe, TPtr( NULL, 0 ),
@@ -114,7 +110,12 @@
     CLOG( ( EClientConnect, 0, _L( "Creating server session" ) ) );
     error = CreateSession( KCookieServerName, Version() );
     CLOG( ( EClientConnect, 0, _L( "Server session created, errcode%d" ), error ) );
-
+    if(error == KErrNone)
+    	{
+	iCookieMgrData = new TCookieMgrInternalStruct(iStringPool);
+	if (!(iCookieMgrData && iCookieMgrData->Init() == KErrNone))
+		return KErrNoMemory;
+    	}
     CLOG( ( EClientConnect, 0, _L( "<- RCookieManager::Connect" ) ) );
     return error;
     }
@@ -334,7 +335,7 @@
     //Appuid value only takes 8 chars
     HBufC* buf = HBufC::NewLC(8);
     TPtr ptr(buf->Des());
-    ptr.AppendNum(aAppUid,EHex);
+    ptr.AppendNum(aAppUid,EHex);    
     TInt error = SendReceive(ESetAppUid,TIpcArgs(ptr.Length(),&ptr)); 
     CleanupStack::PopAndDestroy();
     CLOG(( EClient, 0, _L("<-RCookieManager::SetAppUid") ));
@@ -348,6 +349,10 @@
 EXPORT_C void RCookieManager::Close()
     {
     CLOG(( EClient, 0, _L("-> RCookieManager::Close") ));
+    if( !Handle() )
+        {
+        return;
+        }
     TInt deletestatus =0;
     DestroyCookiesFromMemory(deletestatus);
     delete iCookieMgrData;