networksecurity/tlsprovider/source/tlsprovider/Ctlsbrowsetoken.cpp
branchRCL_3
changeset 67 bb2423252ea3
parent 0 af10295192d8
child 75 c1029e558ef5
equal deleted inserted replaced
63:425d8f4f7fa5 67:bb2423252ea3
   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          iTokenHandle->Release();
   186    		if (iTokenHandle)
       
   187    		    {
       
   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          {
   195          iTokenHandle->Release();
   198           if (iTokenHandle)
       
   199               {
       
   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:
   310 		iPtrTokenType->CancelList();
   316         {
       
   317 	    if (iPtrTokenType)
       
   318 	        iPtrTokenType->CancelList();
       
   319         }
   311 		break;
   320 		break;
   312 		
   321 		
   313 	case EOpenToken:
   322 	case EOpenToken:
   314 		iPtrTokenType->CancelOpenToken();
   323 	    {
       
   324 	    if (iPtrTokenType)
       
   325 	        iPtrTokenType->CancelOpenToken();
       
   326 	    }
   315 		break;
   327 		break;
   316 		
   328 		
   317 	case EGetProviderInterface:
   329 	case EGetProviderInterface:
   318 		iTokenHandle->CancelGetInterface();
   330 	    {
       
   331 	    if (iTokenHandle)
       
   332 	        iTokenHandle->CancelGetInterface();
       
   333 	    }
   319 		break;
   334 		break;
   320 	
   335 	
   321 	case EGetSessionInterface:
   336 	case EGetSessionInterface:
   322 		(iTokenProvider->Token()).CancelGetInterface();
   337 	    {
       
   338 	    if (iTokenProvider)
       
   339 	        (iTokenProvider->Token()).CancelGetInterface();
       
   340 	    }
   323 		break;		
   341 		break;		
   324 
   342 
   325 	case EGetCiphers:
   343 	case EGetCiphers:
   326 		MTLSTokenProvider* provider = static_cast<MTLSTokenProvider*>(iTokenInterface);
   344 	    if (iTokenInterface)
   327 		provider->CancelCryptoCapabilities();
   345 	        {
       
   346 	        MTLSTokenProvider* provider = static_cast<MTLSTokenProvider*>(iTokenInterface);
       
   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);
   333 	return;
   354 	return;
   334 	}
   355 	}
   335 
   356 
   336 CTlsBrowseToken::~CTlsBrowseToken()
   357 CTlsBrowseToken::~CTlsBrowseToken()
   337 	{
   358 	{
   338 	if(iPtrTokenType)
   359 	if (iPtrTokenType)
   339 		{
   360 		{
   340 		iPtrTokenType->Release();
   361 		iPtrTokenType->Release();
   341 		}
   362 		}
   342 		
   363 		
   343 	iTokenTypeInfo.Close();
   364 	iTokenTypeInfo.Close();