eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/src/EapGeneric.cpp
changeset 27 9660a5eb236f
parent 26 9abfd4f00d37
child 34 ad1f037f1ac2
equal deleted inserted replaced
26:9abfd4f00d37 27:9660a5eb236f
    14 * Description:  EAP and WLAN authentication protocols.
    14 * Description:  EAP and WLAN authentication protocols.
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 /*
    18 /*
    19 * %version: 53 %
    19 * %version: 54 %
    20 */
    20 */
    21 
    21 
    22 // This is enumeration of EAPOL source code.
    22 // This is enumeration of EAPOL source code.
    23 #if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
    23 #if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
    24 	#undef EAP_FILE_NUMBER_ENUM
    24 	#undef EAP_FILE_NUMBER_ENUM
   338 	{
   338 	{
   339 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   339 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   340 			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
   340 			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
   341 	}
   341 	}
   342 	
   342 	
   343 	CleanupStack::PushL(internal_settings);
       
   344  	
       
   345 	internal_settings->m_IndexType = iIndexType;
   343 	internal_settings->m_IndexType = iIndexType;
   346 	internal_settings->m_Index = iIndex;
   344 	internal_settings->m_Index = iIndex;
   347 
   345 
   348 	TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
   346 	TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
   349 		&iEapType,
   347 		&iEapType,
   350 		&(internal_settings->m_EAPType));
   348 		&(internal_settings->m_EAPType));
   351 	if (error != KErrNone)
   349 	if (error != KErrNone)
   352 	{
   350 	{
       
   351 		delete internal_settings;
       
   352 
   353 		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
   353 		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
   354 		User::Leave(error);
   354 		User::Leave(error);
   355 	}
   355 	}
   356 	iCompletionStatus = eap_status_process_general_error;
   356 	iCompletionStatus = eap_status_process_general_error;
   357 
   357 
   358 	eap_status_e status = m_server->delete_configuration(internal_settings);
   358 	eap_status_e status = m_server->delete_configuration(internal_settings);
   359 
   359 
   360 	CleanupStack::PopAndDestroy(internal_settings);
   360 	delete internal_settings;
   361 
   361 
   362 	if (status != eap_status_ok)
   362 	if (status != eap_status_ok)
   363 	{
   363 	{
   364 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   364 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   365 			EAP_STATUS_RETURN(m_am_tools, status)));
   365 			EAP_STATUS_RETURN(m_am_tools, status)));
   443 	{
   443 	{
   444 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   444 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   445 			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
   445 			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
   446 	}
   446 	}
   447 	
   447 	
   448   CleanupStack::PushL(internal_settings);
       
   449 	internal_settings->m_IndexType = aIndexType;
   448 	internal_settings->m_IndexType = aIndexType;
   450 	internal_settings->m_Index = aIndex;
   449 	internal_settings->m_Index = aIndex;
   451 
   450 
   452 	TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
   451 	TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
   453 		&iEapType,
   452 		&iEapType,
   454 		&(internal_settings->m_EAPType));
   453 		&(internal_settings->m_EAPType));
   455 	if (error != KErrNone)
   454 	if (error != KErrNone)
   456 	{
   455 	{
       
   456 		delete internal_settings;
       
   457 
   457 		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
   458 		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
   458 		User::Leave(error);
   459 		User::Leave(error);
   459 	}
   460 	}
   460 
   461 
   461 	iCompletionStatus = eap_status_process_general_error;
   462 	iCompletionStatus = eap_status_process_general_error;
   462 
   463 
   463 	eap_status_e status = m_server->delete_configuration(internal_settings);
   464 	eap_status_e status = m_server->delete_configuration(internal_settings);
   464 
   465 
   465 	if (status != eap_status_ok)
   466 	if (status != eap_status_ok)
   466 	{
   467 	{
   467 		 CleanupStack::PopAndDestroy(internal_settings);
   468 		delete internal_settings;
   468 
   469 
   469 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   470 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   470 			EAP_STATUS_RETURN(m_am_tools, status)));
   471 			EAP_STATUS_RETURN(m_am_tools, status)));
   471 	}
   472 	}
   472 
   473 
   474 	Activate();
   475 	Activate();
   475 	WaitCompletion();
   476 	WaitCompletion();
   476 
   477 
   477 	if (iCompletionStatus != eap_status_ok)
   478 	if (iCompletionStatus != eap_status_ok)
   478 	{
   479 	{
       
   480 		delete internal_settings;
       
   481 
   479 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   482 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   480 			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)));
   483 			EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)));
   481 	}
   484 	}
   482 
   485 
   483 	internal_settings->m_IndexType = iIndexType;
   486 	internal_settings->m_IndexType = iIndexType;
   486 	error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
   489 	error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
   487 		&iEapType,
   490 		&iEapType,
   488 		&(internal_settings->m_EAPType));
   491 		&(internal_settings->m_EAPType));
   489 	if (error != KErrNone)
   492 	if (error != KErrNone)
   490 	{
   493 	{
       
   494 		delete internal_settings;
       
   495 
   491 		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
   496 		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
   492 		User::Leave(error);
   497 		User::Leave(error);
   493 	}
   498 	}
   494 
   499 
   495 	internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent;
   500 	internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent;
   501 
   506 
   502 	iCompletionStatus = eap_status_process_general_error;
   507 	iCompletionStatus = eap_status_process_general_error;
   503 
   508 
   504 	status = m_server->set_index(internal_settings);
   509 	status = m_server->set_index(internal_settings);
   505 
   510 
   506 	CleanupStack::PopAndDestroy(internal_settings);
   511 	delete internal_settings;
   507 
   512 
   508 	if (status != eap_status_ok)
   513 	if (status != eap_status_ok)
   509 	{
   514 	{
   510 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   515 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   511 			EAP_STATUS_RETURN(m_am_tools, status)));
   516 			EAP_STATUS_RETURN(m_am_tools, status)));
   539 	if (internal_settings == 0)
   544 	if (internal_settings == 0)
   540 	{
   545 	{
   541 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   546 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   542 			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
   547 			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
   543 	}
   548 	}
   544 
       
   545 	CleanupStack::PushL(internal_settings);
       
   546 
   549 
   547 	eap_status_e status(eap_status_process_general_error);
   550 	eap_status_e status(eap_status_process_general_error);
   548 
   551 
   549 	TInt error(KErrNone);
   552 	TInt error(KErrNone);
   550 
   553 
   560 		TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
   563 		TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
   561 			&iEapType,
   564 			&iEapType,
   562 			&(internal_settings->m_EAPType));
   565 			&(internal_settings->m_EAPType));
   563 		if (error != KErrNone)
   566 		if (error != KErrNone)
   564 		{
   567 		{
   565 			CleanupStack::PopAndDestroy(internal_settings);
   568 			delete internal_settings;
       
   569 
   566 			(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
   570 			(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
   567 			User::Leave(error);
   571 			User::Leave(error);
   568 		}
   572 		}
   569 
   573 
   570 		internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent;
   574 		internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent;
   577 	else
   581 	else
   578 	{
   582 	{
   579 		status = m_am_tools->convert_am_error_to_eapol_error(error);
   583 		status = m_am_tools->convert_am_error_to_eapol_error(error);
   580 	}
   584 	}
   581 
   585 
   582 	CleanupStack::PopAndDestroy(internal_settings);
   586 	delete internal_settings;
   583 
   587 
   584 	if (status != eap_status_ok)
   588 	if (status != eap_status_ok)
   585 	{
   589 	{
   586 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   590 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   587 			EAP_STATUS_RETURN(m_am_tools, status)));
   591 			EAP_STATUS_RETURN(m_am_tools, status)));
   614 	if (internal_settings == 0)
   618 	if (internal_settings == 0)
   615 	{
   619 	{
   616 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   620 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   617 			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
   621 			EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)));
   618 	}
   622 	}
   619   CleanupStack::PushL(internal_settings);
       
   620 
   623 
   621 	internal_settings->m_IndexType = iIndexType;
   624 	internal_settings->m_IndexType = iIndexType;
   622 	internal_settings->m_Index = iIndex;
   625 	internal_settings->m_Index = iIndex;
   623 
   626 
   624 	TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
   627 	TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
   625 		&iEapType,
   628 		&iEapType,
   626 		&(internal_settings->m_EAPType));
   629 		&(internal_settings->m_EAPType));
   627 	if (error != KErrNone)
   630 	if (error != KErrNone)
   628 	{
   631 	{
   629 		CleanupStack::PopAndDestroy(internal_settings);
   632 		delete internal_settings;
       
   633 
   630 		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
   634 		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
   631 		User::Leave(error);
   635 		User::Leave(error);
   632 	}
   636 	}
   633 
   637 
   634 	internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent;
   638 	internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent;
   638 
   642 
   639 	iCompletionStatus = eap_status_process_general_error;
   643 	iCompletionStatus = eap_status_process_general_error;
   640 
   644 
   641 	eap_status_e status = m_server->get_configuration(internal_settings);
   645 	eap_status_e status = m_server->get_configuration(internal_settings);
   642 
   646 
   643 	CleanupStack::PopAndDestroy(internal_settings);
   647 	delete internal_settings;
   644 
   648 
   645 	if (status != eap_status_ok)
   649 	if (status != eap_status_ok)
   646 	{
   650 	{
   647 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   651 		User::Leave(m_am_tools->convert_eapol_error_to_am_error(
   648 			EAP_STATUS_RETURN(m_am_tools, status)));
   652 			EAP_STATUS_RETURN(m_am_tools, status)));
   713 	TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
   717 	TInt error =  CEapConversion::ConvertExpandedEAPTypeToInternalType(
   714 		&iEapType,
   718 		&iEapType,
   715 		&(internal_settings->m_EAPType));
   719 		&(internal_settings->m_EAPType));
   716 	if (error != KErrNone)
   720 	if (error != KErrNone)
   717 	{
   721 	{
       
   722 		delete internal_settings;
       
   723 
   718 		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
   724 		(void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error));
   719 		User::Leave(error);
   725 		User::Leave(error);
   720 	}
   726 	}
   721 
   727 
   722 	internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent;
   728 	internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent;