eapol/eapol_framework/eapol_symbian/am/common/symbian/EapConversion.cpp
branchRCL_3
changeset 46 c74b3d9f6b9e
parent 45 bad0cc58d154
child 55 9c2aa05919d9
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapConversion.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1860 +0,0 @@
-/*
-* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Conversion functions between common code and Symbian code.
-*
-*/
-
-/*
-* %version: 50 %
-*/
-
-// This is enumeration of EAPOL source code.
-#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-	#undef EAP_FILE_NUMBER_ENUM
-	#define EAP_FILE_NUMBER_ENUM 738 
-	#undef EAP_FILE_NUMBER_DATE 
-	#define EAP_FILE_NUMBER_DATE 1127594498 
-#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
-
-
-// INCLUDE FILES
-
-#include "EapConversion.h"
-#include "eap_am_assert.h"
-#include <EapTypeInfo.h>
-#include "abs_eap_am_tools.h"
-#include "eap_automatic_variable.h"
-#include <utf.h>                           // for CnvUtfConverter
-#include "abs_eap_plugin_message.h"
-#include "eap_plugin_message_base.h"
-#include "abs_eap_am_message_if.h"
-#include "eap_am_message_if.h"
-#include "eap_automatic_variable.h"
-#include "eap_plugin_client_message_if.h"
-#include "eap_am_message_if_symbian.h"
-#include "EapTraceSymbian.h"
-
-// LOCAL CONSTANTS
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertFromTDesCToInternal(
-	abs_eap_am_tools_c * const tools,
-	const TDesC & input16,
-	eap_variable_data_c * const target8)
-{
-	HBufC16* buf16 = HBufC16::New(input16.Length());
-	if (buf16 == 0)
-	{
-		return KErrNoMemory;
-	}
-
-	buf16->Des().Copy(input16);
-
-	TPtr16 inBufPtr16 = buf16->Des();
-
-	TInt error = ConvertFromBuf16ToInternal(
-		tools,
-		&inBufPtr16,
-		target8);
-
-	delete buf16;
-
-	return error;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertCipherSuitesToInternalType(
-	abs_eap_am_tools_c * const tools,
-	const RArray<TUint> * const aCipherSuites,
-	eap_array_c<u16_t> * const internal_cipher_suites)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertCipherSuitesToInternalType()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertCipherSuitesToInternalType()");
-
-	eap_status_e status(eap_status_ok);
-
-	if (aCipherSuites == 0
-		|| internal_cipher_suites == 0)
-	{
-		return (tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	for (TInt ind = 0; ind < aCipherSuites->Count(); ind++)
-	{
-		u16_t * const tmp_object = new u16_t;
-		if (tmp_object == 0)
-		{
-			EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT);
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, eap_status_allocation_error)));
-		}
-		*tmp_object = static_cast<u16_t>((*aCipherSuites)[ind]);
-		status = internal_cipher_suites->add_object(tmp_object, true);
-		if (status != eap_status_ok)
-		{
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, status)));
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	return KErrNone;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypeToCipherSuites(
-	abs_eap_am_tools_c * const tools,
-	const eap_array_c<u16_t> * const internal_cipher_suites,
-	RArray<TUint> * const aCipherSuites)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertInternalTypeToCipherSuites()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertInternalTypeToCipherSuites()");
-
-	if (aCipherSuites == 0
-		|| internal_cipher_suites == 0)
-	{
-		return (tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	for (TInt ind = 0; ind < internal_cipher_suites->get_object_count(); ind++)
-	{
-		const u16_t * const tmp_object = internal_cipher_suites->get_object(ind);
-		if (tmp_object == 0)
-		{
-			EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT);
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, eap_status_allocation_error)));
-		}
-
-		TInt error = aCipherSuites->Append(static_cast<TUint>(*tmp_object));
-		if (error != KErrNone)
-		{
-			return (error);
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	return KErrNone;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertFromInternalToBuf16(
-	abs_eap_am_tools_c * const tools,
-	const eap_variable_data_c * const input8,
-	TDes * const target16)
-{
-	EAP_TRACE_DATA_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertFromInternalToBuf16(): input8"),
-        input8->get_data(),
-		input8->get_data_length()));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertFromInternalToBuf16()");
-
-	TPtrC8 inBufPtrC8(input8->get_data(), input8->get_data_length());
-
-	// convert utf8 -> unicode,
-	// aInBuf8 is UTF8 string, unicode max length is
-	// then the length of UTF8 string.
-	// NOTE, HBufC16 length means count of 16-bit objects.
-	HBufC16 * outBuf16 = HBufC16::New(inBufPtrC8.Size());
-	if (outBuf16 == 0)
-	{
-		EAP_UNREFERENCED_PARAMETER(tools);
-		return KErrNoMemory;
-	}
-
-	TPtr16 outBufPtr16 = outBuf16->Des();
-
-	CnvUtfConverter::ConvertToUnicodeFromUtf8(outBufPtr16, inBufPtrC8);
-
-	target16->Copy(outBufPtr16);
-
-    EAP_TRACE_DATA_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertFromInternalToBuf16(): outBufPtr16"),
-	    outBufPtr16.Ptr(),
-		outBufPtr16.Size()));
-
-    delete outBuf16;
-    outBuf16 = NULL;
-
-    return KErrNone;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertFromBuf16ToInternal(
-	abs_eap_am_tools_c * const tools,
-	const TDes * const input16,
-	eap_variable_data_c * const target8)
-{
-	EAP_TRACE_DATA_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertFromBuf16ToInternal(): input16"),
-        input16->Ptr(),
-		input16->Size()));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertFromBuf16ToInternal()");
-
-	if (tools == 0)
-	{
-		return KErrArgument;
-	}
-
-    // "In UTF-8, characters are encoded using sequences of 1 to 6 octets."
-    // RFC2279 - UTF-8
-    const TUint KMaxNumberOfOctetsPerUtf8Char = 6;
-	// Convert unicode -> utf8.
-	// Note, HBufC16 length means the number of 16-bit values or
-    // data items represented by the descriptor.
-    // Multiply number of charachters by max number of octets for char.
-	HBufC8 * aOutBuf8 = HBufC8::New(input16->Length() * KMaxNumberOfOctetsPerUtf8Char);
-	if (aOutBuf8 == 0)
-	{
-		return KErrNoMemory;
-	}
-
-	TPtr8 outBufPtr8(aOutBuf8->Des());
-
-	CnvUtfConverter::ConvertFromUnicodeToUtf8(outBufPtr8, *input16);
-
-	eap_status_e status = target8->set_copy_of_buffer(aOutBuf8->Ptr(), aOutBuf8->Length());
-	
-    delete aOutBuf8;
-    aOutBuf8 = NULL;
-    
-    EAP_TRACE_DATA_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertFromBuf16ToInternal(): target8"),
-	    target8->get_data(),
-		target8->get_data_length()));
-
-	return (tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(tools, status)));
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertEAPTypesToInternalTypes(
-	abs_eap_am_tools_c * const tools,
-	const RArray<TUint> * const EncapsulatedEAPTypes,
-	eap_array_c<eap_type_value_e> * const target)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertEAPTypesToInternalTypes()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertEAPTypesToInternalTypes()");
-
-	eap_status_e status(eap_status_ok);
-
-        if (tools == 0)
-        {
-                return KErrGeneral;
-        }
-        if (EncapsulatedEAPTypes == 0
-		|| target == 0)
-	{
-		return (tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	for (TInt ind = 0; ind < EncapsulatedEAPTypes->Count(); ind++)
-	{
-		eap_type_value_e * const tmp_object = new eap_type_value_e(
-			static_cast<eap_type_ietf_values_e>((*EncapsulatedEAPTypes)[ind]));
-		if (tmp_object == 0)
-		{
-			EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT);
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, eap_status_allocation_error)));
-		}
-		status = target->add_object(tmp_object, true);
-		if (status != eap_status_ok)
-		{
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, status)));
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	return KErrNone;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypesToEAPTypes(
-	abs_eap_am_tools_c * const tools,
-	const eap_array_c<eap_type_value_e> * const internal_eap_types,
-	RArray<TUint> * const target)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertInternalTypesToEAPTypes()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertInternalTypesToEAPTypes()");
-
-	if (internal_eap_types == 0
-		|| target == 0)
-	{
-		return (tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	for (TInt ind = 0; ind < internal_eap_types->get_object_count(); ind++)
-	{
-		const eap_type_value_e * const tmp_object = internal_eap_types->get_object(ind);
-		if (tmp_object == 0)
-		{
-			EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT);
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, eap_status_allocation_error)));
-		}
-
-		TInt error = target->Append(static_cast<TUint>(tmp_object->get_vendor_type()));
-		if (error != KErrNone)
-		{
-			return (error);
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	return KErrNone;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertExpandedEAPTypeToInternalType(
-	const TEapExpandedType * const EncapsulatedExpandedEAPType,
-	eap_type_value_e * const target)
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapConversion::ConvertExpandedEAPTypeToInternalType()\n")));
-
-	EAP_TRACE_RETURN_STRING_SYMBIAN((_L("returns: CEapConversion::ConvertExpandedEAPTypeToInternalType()\n")));
-
-	eap_status_e status = target->set_expanded_type_data(
-		0, // NOTE, we do not have abs_eap_am_tools_c object here.
-		EncapsulatedExpandedEAPType->GetValue().Ptr(),
-		EncapsulatedExpandedEAPType->GetValue().Length());
-	if (status != eap_status_ok)
-	{
-		return KErrGeneral;
-	}
-
-	return KErrNone;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypeToExpandedEAPType(
-	const eap_type_value_e * const source,
-	TEapExpandedType * const EncapsulatedExpandedEAPType)
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("CEapConversion::ConvertInternalTypeToExpandedEAPType()\n")));
-
-	EAP_TRACE_RETURN_STRING_SYMBIAN((_L("returns: CEapConversion::ConvertInternalTypeToExpandedEAPType()\n")));
-
-	TInt error = EncapsulatedExpandedEAPType->SetValue(
-		source->get_vendor_id(),
-		source->get_vendor_type());
-
-	return error;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertExpandedEAPTypesToInternalTypes(
-	abs_eap_am_tools_c * const tools,
-	const RArray<TEapExpandedType> * const EncapsulatedExpandedEAPTypes,
-	eap_array_c<eap_type_value_e> * const target)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertExpandedEAPTypesToInternalTypes()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertExpandedEAPTypesToInternalTypes()");
-
-	eap_status_e status(eap_status_ok);
-
-	if (EncapsulatedExpandedEAPTypes == 0
-		|| target == 0)
-	{
-		return (tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	for (TInt ind = 0; ind < EncapsulatedExpandedEAPTypes->Count(); ind++)
-	{
-		TEapExpandedType ExpandedEAPType = (*EncapsulatedExpandedEAPTypes)[ind];
-
-		eap_type_value_e * const new_object = new eap_type_value_e();
-		if (new_object == 0)
-		{
-			EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT);
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, eap_status_allocation_error)));
-		}
-
-		TInt error = ConvertExpandedEAPTypeToInternalType(
-			&ExpandedEAPType,
-			new_object);
-		if (error != KErrNone)
-		{
-			delete new_object;
-			(void) EAP_STATUS_RETURN(tools, tools->convert_am_error_to_eapol_error(error));
-			return error;
-		}
-
-		status = target->add_object(new_object, true);
-		if (status != eap_status_ok)
-		{
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, status)));
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	return KErrNone;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypesToExpandedEAPTypes(
-	abs_eap_am_tools_c * const tools,
-	const eap_array_c<eap_type_value_e> * const source,
-	RArray<TEapExpandedType> * const EncapsulatedExpandedEAPTypes)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertInternalTypesToExpandedEAPTypes()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertInternalTypesToExpandedEAPTypes()");
-
-	if (source == 0
-		|| EncapsulatedExpandedEAPTypes == 0)
-	{
-		return (tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	TEapExpandedType EapType;
-
-	for (TInt ind = 0; ind < source->get_object_count(); ind++)
-	{
-		const eap_type_value_e * const tmp_object = source->get_object(ind);
-		if (tmp_object == 0)
-		{
-			EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT);
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, eap_status_allocation_error)));
-		}
-
-		TInt error = ConvertInternalTypeToExpandedEAPType(
-			tmp_object,
-			&EapType);
-		if (error != KErrNone)
-		{
-			(void) EAP_STATUS_RETURN(tools, tools->convert_am_error_to_eapol_error(error));
-			return (error);
-		}
-
-		error = EncapsulatedExpandedEAPTypes->Append(EapType);
-		if (error != KErrNone)
-		{
-			(void) EAP_STATUS_RETURN(tools, tools->convert_am_error_to_eapol_error(error));
-			return (error);
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	return KErrNone;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypesToHBufC8(
-	abs_eap_am_tools_c * const tools,
-	const eap_array_c<eap_type_value_e> * const source,
-	HBufC8 ** const EncapsulatedExpandedEAPTypesData)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertInternalTypesToHBufC8(): EncapsulatedExpandedEAPTypesData=0x%08x, source=0x%08x\n"),
-		EncapsulatedExpandedEAPTypesData,
-		source));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertInternalTypesToHBufC8()");
-
-	if (EncapsulatedExpandedEAPTypesData == 0
-		|| source == 0)
-	{
-		return (tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-	}
-
-	*EncapsulatedExpandedEAPTypesData = HBufC8::New(source->get_object_count()*KEapExpandedTypeLength);
-
-	eap_automatic_variable_c<HBufC8> automatic_EncapsulatedExpandedEAPTypesData(
-		tools,
-		*EncapsulatedExpandedEAPTypesData);
-
-	TPtr8 aDbBinaryColumnValuePtr = (*EncapsulatedExpandedEAPTypesData)->Des();			
-
-	TEapExpandedType EapType;
-
-	for (u32_t ind = 0; ind < source->get_object_count(); ind++)
-	{
-		const eap_type_value_e * const tmp_object = source->get_object(ind);
-		if (tmp_object == 0)
-		{
-			EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT);
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, eap_status_allocation_error)));
-		}
-
-		TInt error = ConvertInternalTypeToExpandedEAPType(
-			tmp_object,
-			&EapType);
-		if (error != KErrNone)
-		{
-			(void) EAP_STATUS_RETURN(tools, tools->convert_am_error_to_eapol_error(error));
-			return (error);
-		}
-
-		aDbBinaryColumnValuePtr.Append(EapType.GetValue());
-	}
-
-
-	automatic_EncapsulatedExpandedEAPTypesData.do_not_free_variable();
-
-	return KErrNone;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertHBufC8ToInternalTypes(
-	abs_eap_am_tools_c * const tools,
-	const HBufC8 * const EncapsulatedExpandedEAPTypesData,
-	eap_array_c<eap_type_value_e> * const target)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertHBufC8ToInternalTypes(): EncapsulatedExpandedEAPTypesData=0x%08x, target=0x%08x\n"),
-		EncapsulatedExpandedEAPTypesData,
-		target));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertHBufC8ToInternalTypes()");
-
-	if (EncapsulatedExpandedEAPTypesData == 0
-		|| target == 0)
-	{
-		return (tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-	}
-
-	u32_t eap_type_count = EncapsulatedExpandedEAPTypesData->Length() / KEapExpandedTypeLength;
-
-	target->reset();
-
-	const TUint8 * const data = EncapsulatedExpandedEAPTypesData->Ptr();
-	u32_t offset = 0ul;
-
-	for (u32_t ind = 0; ind < eap_type_count; ind++)
-	{
-		eap_type_value_e * const new_object = new eap_type_value_e();
-
-		eap_automatic_variable_c<eap_type_value_e> automatic_new_object(
-			tools,
-			new_object);
-
-		if (new_object == 0)
-		{
-			EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT);
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, eap_status_allocation_error)));
-		}
-
-		eap_status_e status = new_object->set_expanded_type_data(
-			tools,
-			&(data[offset]),
-			KEapExpandedTypeLength);
-		if (status != eap_status_ok)
-		{
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, status)));
-		}
-
-		offset += KEapExpandedTypeLength;
-
-		automatic_new_object.do_not_free_variable();
-
-		status = target->add_object(new_object, true);
-		if (status != eap_status_ok)
-		{
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, status)));
-		}
-	}
-
-	return KErrNone;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertCertificatesToInternalType(
-	abs_eap_am_tools_c * const tools,
-	const RPointerArray<EapCertificateEntry> * const aCertificates,
-	eap_array_c<eap_certificate_entry_c> * const internal_certificates)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertCertificatesToInternalType()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertCertificatesToInternalType()");
-
-	eap_status_e status(eap_status_ok);
-
-	if (aCertificates == 0
-		|| internal_certificates == 0)
-	{
-		EAP_STATIC_ASSERT(eap_certificate_entry_c::eap_certificate_type_CA == static_cast<eap_certificate_entry_c::eap_certificate_type_e>(EapCertificateEntry::ECA));
-		EAP_STATIC_ASSERT(eap_certificate_entry_c::eap_certificate_type_user == static_cast<eap_certificate_entry_c::eap_certificate_type_e>(EapCertificateEntry::EUser));
-		return (tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-  	for( TInt count=0; count < aCertificates->Count(); count++ )
-  	{
-		const EapCertificateEntry * const cert = (*aCertificates)[count];
-		if (cert == 0)
-		{
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, eap_status_allocation_error)));
-		}
-
-		eap_certificate_entry_c * const int_entry = new eap_certificate_entry_c(tools);
-
-		eap_automatic_variable_c<eap_certificate_entry_c> automatic_certificate_entry(
-			tools,
-			int_entry);
-
-		if (int_entry == 0)
-		{
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-		}
-
-		// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-		if (cert->GetCertType() != EapCertificateEntry::EUser
-			&& cert->GetCertType() != EapCertificateEntry::ECA)
-		{
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-		}
-
-		int_entry->m_CertType = static_cast<eap_certificate_entry_c::eap_certificate_type_e>(cert->GetCertType());
-
-		// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-		if (cert->GetSubjectNamePresent())
-		{
-			ConvertFromBuf16ToInternal(tools, cert->GetSubjectName(), &(int_entry->m_SubjectName));
-
-			int_entry->m_SubjectNamePresent = true;
-		}
-
-		// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-		if (cert->GetIssuerNamePresent())
-		{
-			ConvertFromBuf16ToInternal(tools, cert->GetIssuerName(), &(int_entry->m_IssuerName));
-
-			int_entry->m_IssuerNamePresent = true;
-		}
-
-		// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-		if (cert->GetSerialNumberPresent())
-		{
-			ConvertFromBuf16ToInternal(tools, cert->GetSerialNumber(), &(int_entry->m_SerialNumber));
-
-			int_entry->m_SerialNumberPresent = true;
-		}
-
-		// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-		if (cert->GetSubjectKeyIdPresent())
-		{
-			status = int_entry->m_SubjectKeyID.set_copy_of_buffer(cert->GetSubjectKeyId().Ptr(), cert->GetSubjectKeyId().Length());
-			if (status != eap_status_ok)
-			{
-				return (tools->convert_eapol_error_to_am_error(
-					EAP_STATUS_RETURN(tools, status)));
-			}
-
-			int_entry->m_SubjectKeyIDPresent = true;
-		}
-
-		// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-		if (cert->GetThumbprintPresent())
-		{
-			ConvertFromBuf16ToInternal(tools, cert->GetThumbprint(), &(int_entry->m_Thumbprint));
-
-			int_entry->m_ThumbprintPresent = true;
-		}
-
-		// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-		if (cert->GetLabelPresent())
-		{
-			ConvertFromBuf16ToInternal(tools, cert->GetLabel(), &(int_entry->m_Label));
-
-			int_entry->m_LabelPresent = true;
-		}
-
-		// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-		if (cert->GetPrimaryNamePresent())
-		{
-			ConvertFromBuf16ToInternal(tools, cert->GetPrimaryName(), &(int_entry->m_PrimaryName));
-
-			int_entry->m_PrimaryNamePresent = true;
-		}
-
-		// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-		if (cert->GetSecondaryNamePresent())
-		{
-			ConvertFromBuf16ToInternal(tools, cert->GetSecondaryName(), &(int_entry->m_SecondaryName));
-
-			int_entry->m_SecondaryNamePresent = true;
-		}
-
-		// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-		if (cert->GetIsEnabledPresent())
-		{
-			if (cert->GetIsEnabled())
-			{
-				int_entry->m_iIsEnabled = true;
-			}
-			else
-			{
-				int_entry->m_iIsEnabled = false;
-			}
-
-			int_entry->m_iIsEnabledPresent = true;
-		}
-
-		// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-		automatic_certificate_entry.do_not_free_variable();
-
-		status = internal_certificates->add_object(int_entry, true);
-		if (status != eap_status_ok)
-		{
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, status)));
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	return KErrNone;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypeToCertificates(
-	abs_eap_am_tools_c * const tools,
-	const eap_certificate_entry_c::eap_certificate_type_e select_certificate_type,
-	const eap_array_c<eap_certificate_entry_c> * const internal_certificates,
-	RPointerArray<EapCertificateEntry> * const aCertificates)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertInternalTypeToCertificates()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertInternalTypeToCertificates()");
-
-	if (aCertificates == 0
-		|| internal_certificates == 0)
-	{
-		EAP_STATIC_ASSERT(eap_certificate_entry_c::eap_certificate_type_CA == static_cast<eap_certificate_entry_c::eap_certificate_type_e>(EapCertificateEntry::ECA));
-		EAP_STATIC_ASSERT(eap_certificate_entry_c::eap_certificate_type_user == static_cast<eap_certificate_entry_c::eap_certificate_type_e>(EapCertificateEntry::EUser));
-		return (tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-  	for( u32_t count=0; count < internal_certificates->get_object_count(); count++ )
-  	{
-		const eap_certificate_entry_c * const int_entry = internal_certificates->get_object(count);
-		if (int_entry == 0)
-		{
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-		}
-
-		if (int_entry->m_CertType == select_certificate_type)
-		{
-			EapCertificateEntry * cert = new EapCertificateEntry;
-
-			eap_automatic_variable_c<EapCertificateEntry> automatic_cert(
-				tools,
-				cert);
-
-			if (cert == 0)
-			{
-				return (tools->convert_eapol_error_to_am_error(
-					EAP_STATUS_RETURN(tools, eap_status_allocation_error)));
-			}
-
-			// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-			cert->SetCertType(static_cast<EapCertificateEntry::TCertType>(int_entry->m_CertType));
-
-			// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-			if (int_entry->m_SubjectNamePresent == true)
-			{
-				ConvertFromInternalToBuf16(tools, &(int_entry->m_SubjectName), cert->GetSubjectNameWritable());
-
-				cert->SetSubjectNamePresent();
-			}
-
-			// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-			if (int_entry->m_IssuerNamePresent == true)
-			{
-				ConvertFromInternalToBuf16(tools, &(int_entry->m_IssuerName), cert->GetIssuerNameWritable());
-
-				cert->SetIssuerNamePresent();
-			}
-
-			// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-			if (int_entry->m_SerialNumberPresent == true)
-			{
-				ConvertFromInternalToBuf16(tools, &(int_entry->m_SerialNumber), cert->GetSerialNumberWritable());
-
-				cert->SetSerialNumberPresent();
-			}
-
-			// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-			if (int_entry->m_SubjectKeyIDPresent == true)
-			{
-				cert->GetSubjectKeyIdWritable()->Copy(int_entry->m_SubjectKeyID.get_data(), int_entry->m_SubjectKeyID.get_data_length());
-
-				cert->SetSubjectKeyIdPresent();
-			}
-
-			// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-			if (int_entry->m_ThumbprintPresent == true)
-			{
-				ConvertFromInternalToBuf16(tools, &(int_entry->m_Thumbprint), cert->GetThumbprintWritable());
-
-				cert->SetThumbprintPresent();
-			}
-
-			// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-			if (int_entry->m_LabelPresent == true)
-			{
-				ConvertFromInternalToBuf16(tools, &(int_entry->m_Label), cert->GetLabelWritable());
-
-				cert->SetLabelPresent();
-			}
-
-			// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-			if (int_entry->m_PrimaryNamePresent == true)
-			{
-				ConvertFromInternalToBuf16(tools, &(int_entry->m_PrimaryName), cert->GetPrimaryNameWritable());
-
-				cert->SetPrimaryNamePresent();
-			}
-
-			// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-			if (int_entry->m_SecondaryNamePresent == true)
-			{
-				ConvertFromInternalToBuf16(tools, &(int_entry->m_SecondaryName), cert->GetSecondaryNameWritable());
-
-				cert->SetSecondaryNamePresent();
-			}
-
-			// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-			if (int_entry->m_iIsEnabledPresent == true)
-			{
-				if (int_entry->m_iIsEnabled == true)
-				{
-					cert->SetIsEnabled(ETrue);
-				}
-
-				cert->SetIsEnabledPresent();
-			}
-
-			EAP_TRACE_SETTINGS(cert);
-
-			TInt error = aCertificates->Append(cert);
-			if (error != KErrNone)
-			{
-				aCertificates->ResetAndDestroy(); // ResetAndDestroy() function must be called because the objects represented by the array need to be deleted before the array object is destroyed.
-				aCertificates->Close(); // The Close() function must be called before RPointerArray object is destroyed.
-
-				(void) EAP_STATUS_RETURN(tools, tools->convert_am_error_to_eapol_error(error));
-				return (error);
-			}
-
-			automatic_cert.do_not_free_variable();
-		}
-	} // for()
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	return KErrNone;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertEAPSettingsToInternalType(
-	abs_eap_am_tools_c * const tools,
-	const EAPSettings * const aSettings,
-	eap_method_settings_c * const internal_settings)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertEAPSettingsToInternalType()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertEAPSettingsToInternalType()");
-
-	if (aSettings == 0
-		|| internal_settings == 0)
-	{
-		return (tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-	}
-
-	EAP_TRACE_SETTINGS(aSettings);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iEAPExpandedType != (*EapExpandedTypeNone.GetType()))
-	{
-		eap_status_e status = internal_settings->m_EAPType.set_expanded_type_data(
-			tools,
-			aSettings->iEAPExpandedType.GetValue().Ptr(),
-			aSettings->iEAPExpandedType.GetValue().Length());
-		if (status != eap_status_ok)
-		{
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, status)));
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iUseAutomaticCACertificatePresent)
-	{
-		internal_settings->m_UseAutomaticCACertificatePresent = true;
-
-		if (aSettings->iUseAutomaticCACertificate)
-		{
-			internal_settings->m_UseAutomaticCACertificate = true;
-		}
-		else
-		{
-			internal_settings->m_UseAutomaticCACertificate = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iUseAutomaticUsernamePresent)
-	{
-		internal_settings->m_UseAutomaticUsernamePresent = true;
-
-		if (aSettings->iUseAutomaticUsername)
-		{
-			internal_settings->m_UseAutomaticUsername = true;
-		}
-		else
-		{
-			internal_settings->m_UseAutomaticUsername = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iUseAutomaticRealmPresent)
-	{
-		internal_settings->m_UseAutomaticRealmPresent = true;
-
-		if (aSettings->iUseAutomaticRealm)
-		{
-			internal_settings->m_UseAutomaticRealm = true;
-		}
-		else
-		{
-			internal_settings->m_UseAutomaticRealm = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iUsernamePresent)
-	{
-		TInt error = ConvertFromBuf16ToInternal(tools, &(aSettings->iUsername), &(internal_settings->m_Username_fix));
-		if (error)
-		{
-			return error;
-		}
-
-		internal_settings->m_UsernamePresent = true;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iPasswordExistPresent)
-	{
-		internal_settings->m_PasswordExistPresent = true;
-
-		if (aSettings->iPasswordExist)
-		{
-			internal_settings->m_PasswordExist = true;
-		}
-		else
-		{
-			internal_settings->m_PasswordExist = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iPasswordPresent)
-	{
-		TInt error = ConvertFromBuf16ToInternal(tools, &(aSettings->iPassword), &(internal_settings->m_Password));
-		if (error)
-		{
-			return error;
-		}
-
-		internal_settings->m_PasswordPresent = true;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iRealmPresent)
-	{
-		TInt error = ConvertFromBuf16ToInternal(tools, &(aSettings->iRealm), &(internal_settings->m_Realm));
-		if (error)
-		{
-			return error;
-		}
-
-		internal_settings->m_RealmPresent = true;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iUsePseudonymsPresent)
-	{
-		internal_settings->m_UsePseudonymsPresent = true;
-
-		if (aSettings->iUsePseudonyms)
-		{
-			internal_settings->m_UsePseudonyms = true;
-		}
-		else
-		{
-			internal_settings->m_UsePseudonyms = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iVerifyServerRealmPresent)
-	{
-		internal_settings->m_VerifyServerRealmPresent = true;
-
-		if (aSettings->iVerifyServerRealm)
-		{
-			internal_settings->m_VerifyServerRealm = true;
-		}
-		else
-		{
-			internal_settings->m_VerifyServerRealm = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iRequireClientAuthenticationPresent)
-	{
-		internal_settings->m_RequireClientAuthenticationPresent = true;
-
-		if (aSettings->iRequireClientAuthentication)
-		{
-			internal_settings->m_RequireClientAuthentication = true;
-		}
-		else
-		{
-			internal_settings->m_RequireClientAuthentication = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iSessionValidityTimePresent)
-	{
-		internal_settings->m_SessionValidityTimePresent = true;
-
-		internal_settings->m_SessionValidityTime = static_cast<u32_t>(aSettings->iSessionValidityTime);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iCipherSuitesPresent)
-	{
-		TInt error = ConvertCipherSuitesToInternalType(
-			tools,
-			&(aSettings->iCipherSuites),
-			&(internal_settings->m_CipherSuites));
-		if (error)
-		{
-			return error;
-		}
-
-		internal_settings->m_CipherSuitesPresent = true;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iPEAPVersionsPresent)
-	{
-		internal_settings->m_PEAPVersionsPresent = true;
-
-		if (aSettings->iPEAPv0Allowed)
-		{
-			internal_settings->m_PEAPv0Allowed = true;
-		}
-		else
-		{
-			internal_settings->m_PEAPv0Allowed = false;
-		}
-
-		if (aSettings->iPEAPv1Allowed)
-		{
-			internal_settings->m_PEAPv1Allowed = true;
-		}
-		else
-		{
-			internal_settings->m_PEAPv1Allowed = false;
-		}
-
-		if (aSettings->iPEAPv2Allowed)
-		{
-			internal_settings->m_PEAPv2Allowed = true;
-		}
-		else
-		{
-			internal_settings->m_PEAPv2Allowed = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iCertificatesPresent)
-	{
-		TInt error = ConvertCertificatesToInternalType(
-			tools,
-			&(aSettings->iCertificates),
-			&(internal_settings->m_Certificates));
-		if (error)
-		{
-			return error;
-		}
-
-		internal_settings->m_CertificatesPresent = true;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iEnabledEncapsulatedEAPExpandedTypesPresent)
-	{
-		TInt error = ConvertExpandedEAPTypesToInternalTypes(
-			tools,
-			&(aSettings->iEnabledEncapsulatedEAPExpandedTypes),
-			&(internal_settings->m_EnabledEncapsulatedEAPTypes));
-		if (error)
-		{
-			return error;
-		}
-
-		internal_settings->m_EnabledEncapsulatedEAPTypesPresent = true;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iDisabledEncapsulatedEAPExpandedTypesPresent)
-	{
-		TInt error = ConvertExpandedEAPTypesToInternalTypes(
-			tools,
-			&(aSettings->iDisabledEncapsulatedEAPExpandedTypes),
-			&(internal_settings->m_DisabledEncapsulatedEAPTypes));
-		if (error)
-		{
-			return error;
-		}
-
-		internal_settings->m_DisabledEncapsulatedEAPTypesPresent = true;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iAuthProvModeAllowedPresent)
-	{
-		internal_settings->m_AuthProvModeAllowedPresent = true;
-
-		if (aSettings->iAuthProvModeAllowed)
-		{
-			internal_settings->m_AuthProvModeAllowed = true;
-		}
-		else
-		{
-			internal_settings->m_AuthProvModeAllowed = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iUnauthProvModeAllowedPresent)
-	{
-		internal_settings->m_UnauthProvModeAllowedPresent = true;
-
-		if (aSettings->iUnauthProvModeAllowed)
-		{
-			internal_settings->m_UnauthProvModeAllowed = true;
-		}
-		else
-		{
-			internal_settings->m_UnauthProvModeAllowed = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iPACGroupReferencePresent)
-	{
-		TInt error = ConvertFromBuf16ToInternal(tools, &(aSettings->iPACGroupReference), &(internal_settings->m_PACGroupReference));
-		if (error)
-		{
-			return error;
-		}
-
-		internal_settings->m_RealmPresent = true;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iWarnADHPNoPACPresent)
-	{
-		internal_settings->m_WarnADHPNoPACPresent = true;
-
-		if (aSettings->iWarnADHPNoPAC)
-		{
-			internal_settings->m_WarnADHPNoPAC = true;
-		}
-		else
-		{
-			internal_settings->m_WarnADHPNoPAC = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iWarnADHPNoMatchingPACPresent)
-	{
-		internal_settings->m_WarnADHPNoMatchingPACPresent = true;
-
-		if (aSettings->iWarnADHPNoMatchingPAC)
-		{
-			internal_settings->m_WarnADHPNoMatchingPAC = true;
-		}
-		else
-		{
-			internal_settings->m_WarnADHPNoMatchingPAC = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iWarnNotDefaultServerPresent)
-	{
-		internal_settings->m_WarnNotDefaultServerPresent = true;
-
-		if (aSettings->iWarnNotDefaultServer)
-		{
-			internal_settings->m_WarnNotDefaultServer = true;
-		}
-		else
-		{
-			internal_settings->m_WarnNotDefaultServer = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iShowPassWordPromptPresent)
-	{
-		internal_settings->m_ShowPassWordPromptPresent = true;
-
-		if (aSettings->iShowPassWordPrompt)
-		{
-			internal_settings->m_ShowPassWordPrompt = true;
-		}
-		else
-		{
-			internal_settings->m_ShowPassWordPrompt = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (aSettings->iUseIdentityPrivacyPresent)
-	{
-		internal_settings->m_UseIdentityPrivacyPresent = true;
-
-		if (aSettings->iUseIdentityPrivacy)
-		{
-			internal_settings->m_UseIdentityPrivacy = true;
-		}
-		else
-		{
-			internal_settings->m_UseIdentityPrivacy = false;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-	
-	EAP_TRACE_METHOD_SETTINGS(internal_settings);
-
-	return KErrNone;
-}
-
-// ----------------------------------------------------------
-
-EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypeToEAPSettings(
-	abs_eap_am_tools_c * const tools,
-	const eap_method_settings_c * const internal_settings,
-	EAPSettings * const aSettings)
-{
-	EAP_TRACE_DEBUG(
-		tools,
-		TRACE_FLAGS_DEFAULT,
-		(EAPL("CEapConversion::ConvertInternalTypeToEAPSettings()\n")));
-
-	EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertInternalTypeToEAPSettings()");
-
-	if (aSettings == 0
-		|| internal_settings == 0)
-	{
-		return (tools->convert_eapol_error_to_am_error(
-			EAP_STATUS_RETURN(tools, eap_status_illegal_parameter)));
-	}
-
-	EAP_TRACE_METHOD_SETTINGS(internal_settings);
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	{
-		eap_variable_data_c eap_data(tools);
-
-		eap_status_e status = internal_settings->m_EAPType.get_expanded_type_data(
-			tools,
-			&eap_data);
-		if (status != eap_status_ok)
-		{
-			return (tools->convert_eapol_error_to_am_error(
-				EAP_STATUS_RETURN(tools, status)));
-		}
-
-		TInt error = aSettings->iEAPExpandedType.SetValue(
-			eap_data.get_data(),
-			eap_data.get_data_length());
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_UseAutomaticCACertificatePresent == true)
-	{
-		aSettings->iUseAutomaticCACertificatePresent = ETrue;
-
-		if (internal_settings->m_UseAutomaticCACertificate == true)
-		{
-			aSettings->iUseAutomaticCACertificate = ETrue;
-		}
-		else
-		{
-			aSettings->iUseAutomaticCACertificate = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_UseAutomaticUsernamePresent == true)
-	{
-		aSettings->iUseAutomaticUsernamePresent = ETrue;
-
-		if (internal_settings->m_UseAutomaticUsername == true)
-		{
-			aSettings->iUseAutomaticUsername = ETrue;
-		}
-		else
-		{
-			aSettings->iUseAutomaticUsername = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_UseAutomaticRealmPresent == true)
-	{
-		aSettings->iUseAutomaticRealmPresent = ETrue;
-
-		if (internal_settings->m_UseAutomaticRealm == true)
-		{
-			aSettings->iUseAutomaticRealm = ETrue;
-		}
-		else
-		{
-			aSettings->iUseAutomaticRealm = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_UsernamePresent == true)
-	{
-		TInt error = ConvertFromInternalToBuf16(tools, &(internal_settings->m_Username_fix), &(aSettings->iUsername));
-		if (error)
-		{
-			return error;
-		}
-
-		aSettings->iUsernamePresent = ETrue;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_PasswordExistPresent == true)
-	{
-		aSettings->iPasswordExistPresent = ETrue;
-
-		if (internal_settings->m_PasswordExist == true)
-		{
-			aSettings->iPasswordExist = ETrue;
-		}
-		else
-		{
-			aSettings->iPasswordExist = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_PasswordPresent == true)
-	{
-		TInt error = ConvertFromInternalToBuf16(tools, &(internal_settings->m_Password), &(aSettings->iPassword));
-		if (error)
-		{
-			return error;
-		}
-
-		aSettings->iPasswordPresent = ETrue;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_RealmPresent == true)
-	{
-		TInt error = ConvertFromInternalToBuf16(tools, &(internal_settings->m_Realm), &(aSettings->iRealm));
-		if (error)
-		{
-			return error;
-		}
-
-		aSettings->iRealmPresent = ETrue;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_UsePseudonymsPresent == true)
-	{
-		aSettings->iUsePseudonymsPresent = ETrue;
-
-		if (internal_settings->m_UsePseudonyms == true)
-		{
-			aSettings->iUsePseudonyms = ETrue;
-		}
-		else
-		{
-			aSettings->iUsePseudonyms = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_VerifyServerRealmPresent == true)
-	{
-		aSettings->iVerifyServerRealmPresent = ETrue;
-
-		if (internal_settings->m_VerifyServerRealm == true)
-		{
-			aSettings->iVerifyServerRealm = ETrue;
-		}
-		else
-		{
-			aSettings->iVerifyServerRealm = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_RequireClientAuthenticationPresent == true)
-	{
-		aSettings->iRequireClientAuthenticationPresent = ETrue;
-
-		if (internal_settings->m_RequireClientAuthentication == true)
-		{
-			aSettings->iRequireClientAuthentication = ETrue;
-		}
-		else
-		{
-			aSettings->iRequireClientAuthentication = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_SessionValidityTimePresent == true)
-	{
-		aSettings->iSessionValidityTimePresent = ETrue;
-
-		aSettings->iSessionValidityTime = static_cast<TUint>(internal_settings->m_SessionValidityTime);
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_CipherSuitesPresent == true)
-	{
-		TInt error = ConvertInternalTypeToCipherSuites(
-			tools,
-			&(internal_settings->m_CipherSuites),
-			&(aSettings->iCipherSuites));
-		if (error)
-		{
-			return error;
-		}
-
-		aSettings->iCipherSuitesPresent = ETrue;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_PEAPVersionsPresent == true)
-	{
-		aSettings->iPEAPVersionsPresent = ETrue;
-
-		if (internal_settings->m_PEAPv0Allowed == true)
-		{
-			aSettings->iPEAPv0Allowed = ETrue;
-		}
-		else
-		{
-			aSettings->iPEAPv0Allowed = EFalse;
-		}
-
-		if (internal_settings->m_PEAPv1Allowed == true)
-		{
-			aSettings->iPEAPv1Allowed = ETrue;
-		}
-		else
-		{
-			aSettings->iPEAPv1Allowed = EFalse;
-		}
-
-		if (internal_settings->m_PEAPv2Allowed == true)
-		{
-			aSettings->iPEAPv2Allowed = ETrue;
-		}
-		else
-		{
-			aSettings->iPEAPv2Allowed = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_CertificatesPresent == true)
-	{
-		TInt error = KErrNone;
-		
-		error = ConvertInternalTypeToCertificates(
-			tools,
-			eap_certificate_entry_c::eap_certificate_type_user,
-			&(internal_settings->m_Certificates),
-			&(aSettings->iCertificates));
-
-		if (error)
-			{
-			return error;	
-			}
-			
-		error = ConvertInternalTypeToCertificates(
-			tools,
-			eap_certificate_entry_c::eap_certificate_type_CA,
-			&(internal_settings->m_Certificates),
-			&(aSettings->iCertificates));
-
-		if (error)
-			{
-			return error;	
-			}
-
-		aSettings->iCertificatesPresent = ETrue;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_EnabledEncapsulatedEAPTypesPresent == true)
-	{
-		TInt error = ConvertInternalTypesToExpandedEAPTypes(
-			tools,
-			&(internal_settings->m_EnabledEncapsulatedEAPTypes),
-			&(aSettings->iEnabledEncapsulatedEAPExpandedTypes));
-		if (error)
-		{
-			return error;
-		}
-
-		aSettings->iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_DisabledEncapsulatedEAPTypesPresent == true)
-	{
-		TInt error = ConvertInternalTypesToExpandedEAPTypes(
-			tools,
-			&(internal_settings->m_DisabledEncapsulatedEAPTypes),
-			&(aSettings->iDisabledEncapsulatedEAPExpandedTypes));
-		if (error)
-		{
-			return error;
-		}
-
-		aSettings->iDisabledEncapsulatedEAPExpandedTypesPresent = ETrue;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_AuthProvModeAllowedPresent == true)
-	{
-		aSettings->iAuthProvModeAllowedPresent = ETrue;
-
-		if (internal_settings->m_AuthProvModeAllowed == true)
-		{
-			aSettings->iAuthProvModeAllowed = ETrue;
-		}
-		else
-		{
-			aSettings->iAuthProvModeAllowed = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_UnauthProvModeAllowedPresent == true)
-	{
-		aSettings->iUnauthProvModeAllowedPresent = ETrue;
-
-		if (internal_settings->m_UnauthProvModeAllowed == true)
-		{
-			aSettings->iUnauthProvModeAllowed = ETrue;
-		}
-		else
-		{
-			aSettings->iUnauthProvModeAllowed = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_PACGroupReferencePresent == true)
-	{
-		TInt error = ConvertFromInternalToBuf16(tools, &(internal_settings->m_PACGroupReference), &(aSettings->iPACGroupReference));
-		if (error)
-		{
-			return error;
-		}
-
-		aSettings->iPACGroupReferencePresent = ETrue;
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_WarnADHPNoPACPresent == true)
-	{
-		aSettings->iWarnADHPNoPACPresent = ETrue;
-
-		if (internal_settings->m_WarnADHPNoPAC == true)
-		{
-			aSettings->iWarnADHPNoPAC = ETrue;
-		}
-		else
-		{
-			aSettings->iWarnADHPNoPAC = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_WarnADHPNoMatchingPACPresent == true)
-	{
-		aSettings->iWarnADHPNoMatchingPACPresent = ETrue;
-
-		if (internal_settings->m_WarnADHPNoMatchingPAC == true)
-		{
-			aSettings->iWarnADHPNoMatchingPAC = ETrue;
-		}
-		else
-		{
-			aSettings->iWarnADHPNoMatchingPAC = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_WarnNotDefaultServerPresent == true)
-	{
-		aSettings->iWarnNotDefaultServerPresent = ETrue;
-
-		if (internal_settings->m_WarnNotDefaultServer == true)
-		{
-			aSettings->iWarnNotDefaultServer = ETrue;
-		}
-		else
-		{
-			aSettings->iWarnNotDefaultServer = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_ShowPassWordPromptPresent == true)
-	{
-		aSettings->iShowPassWordPromptPresent = ETrue;
-
-		if (internal_settings->m_ShowPassWordPrompt == true)
-		{
-			aSettings->iShowPassWordPrompt = ETrue;
-		}
-		else
-		{
-			aSettings->iShowPassWordPrompt = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	if (internal_settings->m_UseIdentityPrivacyPresent == true)
-	{
-		aSettings->iUseIdentityPrivacyPresent = ETrue;
-
-		if (internal_settings->m_UseIdentityPrivacy == true)
-		{
-			aSettings->iUseIdentityPrivacy = ETrue;
-		}
-		else
-		{
-			aSettings->iUseIdentityPrivacy = EFalse;
-		}
-	}
-
-	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-	EAP_TRACE_SETTINGS(aSettings);
-
-	return KErrNone;
-}
-
-// ----------------------------------------------------------
-// End of file