networksecurity/tlsprovider/source/tlsprovider/Ctlsbrowsetoken.cpp
changeset 68 1697cc2ba93d
parent 0 af10295192d8
equal deleted inserted replaced
62:2f37ef12b43e 68:1697cc2ba93d
   181 				
   181 				
   182       CTokenTypesAndTokens* tempObj = new CTokenTypesAndTokens;
   182       CTokenTypesAndTokens* tempObj = new CTokenTypesAndTokens;
   183       if ( !tempObj || iListAllTokensAndTypes->Append(*tempObj) != KErrNone )
   183       if ( !tempObj || iListAllTokensAndTypes->Append(*tempObj) != KErrNone )
   184          {
   184          {
   185    		delete tempObj;
   185    		delete tempObj;
       
   186    		if (iTokenHandle)
       
   187    		    {
   186          iTokenHandle->Release();
   188          iTokenHandle->Release();
       
   189    		    }
   187          iTokenHandle = NULL;
   190          iTokenHandle = NULL;
   188          User::Leave( KErrNoMemory );
   191          User::Leave( KErrNoMemory );
   189          }
   192          }
   190   		delete tempObj;
   193   		delete tempObj;
   191       CTokenTypesAndTokens& Tokens = (*iListAllTokensAndTypes)[iListAllTokensAndTypes->Count() - 1];
   194       CTokenTypesAndTokens& Tokens = (*iListAllTokensAndTypes)[iListAllTokensAndTypes->Count() - 1];
   192       Tokens.iTokenInfo = new CTokenInfo;
   195       Tokens.iTokenInfo = new CTokenInfo;
   193       if ( !Tokens.iTokenInfo  )
   196       if ( !Tokens.iTokenInfo  )
   194          {
   197          {
       
   198           if (iTokenHandle)
       
   199               {
   195          iTokenHandle->Release();
   200          iTokenHandle->Release();
       
   201               }
   196          iTokenHandle = NULL;
   202          iTokenHandle = NULL;
   197          User::Leave( KErrNoMemory );
   203          User::Leave( KErrNoMemory );
   198          }
   204          }
   199 
   205 
   200       iTokenHandle = NULL; //owned by iProviderInterface
   206       iTokenHandle = NULL; //owned by iProviderInterface
   305 void CTlsBrowseToken::DoCancel()
   311 void CTlsBrowseToken::DoCancel()
   306 	{
   312 	{
   307 	switch (iCurrentState)
   313 	switch (iCurrentState)
   308 		{
   314 		{
   309 	case EGetTokenList:
   315 	case EGetTokenList:
       
   316         {
       
   317 	    if (iPtrTokenType)
   310 		iPtrTokenType->CancelList();
   318 		iPtrTokenType->CancelList();
       
   319         }
   311 		break;
   320 		break;
   312 		
   321 		
   313 	case EOpenToken:
   322 	case EOpenToken:
       
   323 	    {
       
   324 	    if (iPtrTokenType)
   314 		iPtrTokenType->CancelOpenToken();
   325 		iPtrTokenType->CancelOpenToken();
       
   326 	    }
   315 		break;
   327 		break;
   316 		
   328 		
   317 	case EGetProviderInterface:
   329 	case EGetProviderInterface:
       
   330 	    {
       
   331 	    if (iTokenHandle)
   318 		iTokenHandle->CancelGetInterface();
   332 		iTokenHandle->CancelGetInterface();
       
   333 	    }
   319 		break;
   334 		break;
   320 	
   335 	
   321 	case EGetSessionInterface:
   336 	case EGetSessionInterface:
       
   337 	    {
       
   338 	    if (iTokenProvider)
   322 		(iTokenProvider->Token()).CancelGetInterface();
   339 		(iTokenProvider->Token()).CancelGetInterface();
       
   340 	    }
   323 		break;		
   341 		break;		
   324 
   342 
   325 	case EGetCiphers:
   343 	case EGetCiphers:
       
   344 	    if (iTokenInterface)
       
   345 	        {
   326 		MTLSTokenProvider* provider = static_cast<MTLSTokenProvider*>(iTokenInterface);
   346 		MTLSTokenProvider* provider = static_cast<MTLSTokenProvider*>(iTokenInterface);
   327 		provider->CancelCryptoCapabilities();
   347 		provider->CancelCryptoCapabilities();
       
   348 	        }
   328 		break;
   349 		break;
   329 
   350 
   330 		}
   351 		}
   331 	iCurrentState=ENullState;
   352 	iCurrentState=ENullState;
   332 	User::RequestComplete(iOriginalRequestStatus, KErrCancel);
   353 	User::RequestComplete(iOriginalRequestStatus, KErrCancel);