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; |